2019年3月22日金曜日

curses.hが無いと言われる。

bwmon
http://bwmon.sourceforge.net/
という、昔からある帯域モニターをインストールしようとしたときの事。

bwmon.c:3:20: 致命的エラー: curses.h: そのようなファイルやディレクトリはありません

うーん。
どうもライブラリがないと言う事らしい。

ググると、
https://teratail.com/questions/46889
とのことで、ググらなくても大丈夫らしい。これは使える。
テンプレは

yum provides \*/ライブラリ名
(円マークはバックスラッシュ)

実行結果は

# yum provides \*/curses.h
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
extras/7/x86_64/filelists_db                                                                                                                                                                             | 235 kB  00:00:00
updates/7/x86_64/filelists_db                                                                                                                                                                            | 2.6 MB  00:00:00
ncurses-devel-5.9-14.20130511.el7_4.i686 : Development files for the ncurses library
リポジトリー        : base
一致          :
ファイル名    : /usr/include/ncurses/curses.h
ファイル名    : /usr/include/ncursesw/curses.h
ファイル名    : /usr/include/curses.h



ncurses-devel-5.9-14.20130511.el7_4.x86_64 : Development files for the ncurses library
リポジトリー        : base
一致          :
ファイル名    : /usr/include/ncurses/curses.h
ファイル名    : /usr/include/ncursesw/curses.h
ファイル名    : /usr/include/curses.h



ncurses-devel-5.9-14.20130511.el7_4.x86_64 : Development files for the ncurses library
リポジトリー        : @base
一致          :
ファイル名    : /usr/include/ncurses/curses.h
ファイル名    : /usr/include/curses.h
ファイル名    : /usr/include/ncursesw/curses.h

とのことで、「ncurses-devel」を入れれば良いよ、ということを教えてくれる。
ただ、ググる癖が付いてしまったので、次はこのyumの書き方をググりそうな気がする・・・。

2019年3月16日土曜日

mineoのsimカードサイズ変更後、何故か繋がらない

lets'noteが、microsimからnanosimに変更になったので、前から契約していたmineoのsimサイズ変更を申し込んでみたところ、
さっぱり繋がらない。
「このネットワークに接続できません APNを入力して、やり直してください。」
と言われ、その対処をググるが
全て試しても意味が無かった(多分効いてもSHIFTキーを押しながらシャットダウンする完全シャットダウンだけだろう)。
ただ、これは解決を見た。

最初に答えを書くと、回線切替手続きなるものをしていなかったせいである。
https://support.mineo.jp/manual/sim_syss.html
の通り、

ICCID(下4桁)    
お客さまの〔切替対象SIMカードのICCID/製造番号(下4桁)〕を入力してください。〇 半角入力

を所定の手続きで入力する事によって、30分程度で繋がるようになる。
要は、初歩的なミスである(但し、送られてきたsimカードには、そこら辺のペラは含まれていなかった)。



回線切替手続きというのは、恐らく元のsimから今のsimに、回線の紐付けを変える物なのだろう。
ただ、「だったら(事務手数料取ってるんだから)そっちでやってくれよ」と思うのだけれども、それは求めても意味が無いのだろうなあ。

まあ、何にしろ解決できたので良かった。
因みにnano simになってからのlet's noteは、iijmio、mineo両方とも使えた。
昔はびくびくだったが、今ならsimサイズさえ合えば、基本使えると思って良いと思う。

2019年3月8日金曜日

勝手に電源が入りっぱなしになってしまう(HDMI端子で漏電(リーク)した話)


始めは全く意味が分からなかった。
先日まで普通に動いていたPCを立ち上げたところ、うんともすんとも言わないのである。
いやむしろうんうんうなりを上げてファンを回してくれるのだけれども、モニタには何も映らないのだ。
しかも、電源ボタン長押しでシャットダウンしてもすぐに立ち上がり直すし、電源を落とすには、電源ボックスのマスター電源を落とすしかない。
一番の疑念点は、マスター電源を落とした後でも、電源スイッチのledは皓々と光ったままなのである。

やったことは、電源をコンセントに挿したのと、PCとモニタを繋いだだけなのに、何故こんな仕打ちを受けねばならないのだろう。
スイッチ配線を抜き差ししたり、CMOSクリアしたりと、色々やってみたが、biosさえ立ち上がらないので完全にお手上げである。
全く納得できないが、これでお仕舞いか、と、HDMIケーブルを抜いたところ、あれだけ光り続けた電源ledの光が消えたではないか。
まさかと思いながらHDMIケーブルを挿すと、電源ledが光るのである。
・・・HDMI端子からPCに対して、リーク電流でも流れているようである・・・。

詳しく調べはしなかったのだけれども、恐らくモニタ側からHDMI端子宛てに電気がリークして、マスター電源を落とした後でも電源ledが光りっぱなしになっていたのだろう。
電源ledと電源スイッチが同じ(電源スイッチが光るタイプ)だったので、配線も見ていないが、通電=スイッチも通電みたいなことになっていたに違いない。
まさかHDMI端子でそんな目に遭うとは思っていなかったので、一応書いておく。

windows10をsysprepでキッティングして配布したい

sysprepでキッティングする
PCを複数台。同じスペックで配布しようと、windowsを単純にディスクコピーで増やすと、SIDが被って面倒な事になりかねないので、
sysprepを使って作業する事にする。
始めはさっぱりsysprepの使い方が分からなかったので、もう諦めようと思ったのだけれども、何とかなったので備忘録として。
先人は凄い。

用意した物
・windowsインストール用ISOファイル
・配布同様スペックのPC

まず、以下のウェブサイト
http://harukeee.hatenablog.com/entry/2018/05/31/002525を参考に、Windows ADKをインストールして、sysprepの設定ファイルを書く。
尚、Windows ADKをインストールするPCは、配布環境PCである必要は無いので、普段使っているPCにインストールすれば良い。
結構なディスク容量を必要とするので、デスクトップ機の方が良いだろう。
次にWindowsシステムイメージマネージャを起動させ、

>[ファイル] → [Windows イメージの選択] で Windows 10 の ISO ファイルを選択する
>。
>(Professional か Enterprise か Education かがここで聞かれる)

HOMEでも問題なく通る。

で、上記ウェブサイトに書いてあるように、http://itokame.jp/pcs/sysprep/unattend.htm
を参考に設定していく。

USBメモリなりに、できあがったxmlファイルはコピーしておく(ファイル名は何でも良いが分かるように。僕はsysprep.xmlにした)。

配布同様スペックのPCに、win10をインストール。isoファイルをdvdに焼き込んでインストールすれば良い。
インストール終了後(これが説明難しい。ファイルの書き込みが終わった後、と言えば良いのかしらん。何らかの設定を促されるところまでいったら、で良いかな)、
Ctrl+Shift+F3で、「監査モード」に入る。
コルタナが出てきて、言語選択する画面が出たときかな。
監査モードに入ってからは、普通にセットアップを進めていくが、sysprepのウインドウ(システム準備ツール)が一つ必ず開く。
これは閉じて良い(むしろ閉じないと怒られる)。
sysprepは、sysprep(ウインドウやコマンドで)でシャットダウンしない限り、再起動しようがシャットダウンしようが監査モードが続くので、ドライバインストールなどは問題ない。
トラップ!セットアップでの注意点は、兎に角ストアアプリを殺す事。
上記URLだと2のところ。
使うだろうと残しておく事は出来ない。これをやらないとかならずsysprepで引っかかる。
全部消す。
まずは、ストアアプリ一覧取得で取得して

ストアアプリ一覧取得
Get-AppxPackage | Where IsFramework -eq $false | Select Name,PackageFullName
以下構文に当てはめる。
Get-AppxPackage アプリ名 | Remove-AppxPackage

Get-AppxPackage king.com.CandyCrushSodaSaga | Remove-AppxPackage          # Candy Crush Soda Saga

次に不死身無効化
Get-AppxProvisionedPackage -Online | Where DisplayName -Like "アプリ名" | Remove-AppxProvisionedPackage -Online

Get-AppxProvisionedPackage -Online | Where DisplayName -Like "king.com.CandyCrushSodaSaga" | Remove-AppxProvisionedPackage -Online          # Candy Crush Soda Saga

最後に

sysprep 時にエラーになるストアアプリのアンインストール
追加アンインストール。(ユーザーログイン後は復活。要カスタマイズ)

Get-AppxPackage Microsoft.DesktopAppInstaller | Remove-AppxPackage
Get-AppxPackage Microsoft.GetHelp | Remove-AppxPackage
Get-AppxPackage Microsoft.Getstarted | Remove-AppxPackage
Get-AppxPackage Microsoft.Messaging | Remove-AppxPackage
Get-AppxPackage Microsoft.Microsoft3DViewer | Remove-AppxPackage
Get-AppxPackage Microsoft.MicrosoftStickyNotes | Remove-AppxPackage
Get-AppxPackage Microsoft.Office.OneNote | Remove-AppxPackage
Get-AppxPackage Microsoft.People | Remove-AppxPackage
Get-AppxPackage Microsoft.Print3D | Remove-AppxPackage
Get-AppxPackage Microsoft.StorePurchaseApp | Remove-AppxPackage
Get-AppxPackage Microsoft.Wallet | Remove-AppxPackage
Get-AppxPackage Microsoft.WebMediaExtensions | Remove-AppxPackage
Get-AppxPackage Microsoft.Windows.Photos | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsAlarms | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsCalculator | Remove-AppxPackage
Get-AppxPackage Microsoft.WindowsCamera | Remove-AppxPackage

Grooveミュージックを残してたらsysprepでエラー出したので、ストアアプリは全て消すべき。
-------------------

③スタートメニューをテンプレート化

Export-Startlayout -path C:\Windows\Temp\Startmenu.xml
Import-StartLayout -LayoutPath C:\Windows\Temp\Startmenu.xml -MountPath C:\

C:\Users\Default\AppData\Local\Microsoft\Windows\Shell に LayoutModification.xml ができる。

全ての設定を終えたら、

(1)で作った XML ファイルを

C:\Windows\System32\Sysprep

に置き、コマンドプロンプトで

cd C:\Windows\System32\Sysprep
Sysprep /generalize /oobe /shutdown /unattend:○○○.xml

*xmlファイル名は前に付けた物を

これが通ると、シャットダウンして終了。
ディスククーロン機材でクローンしまくって配布する。
上記コマンドでシャットダウンした後に立ち上げてしまうと、普通にセットアップが始まってしまうので、絶対に立ち上げない事。

トラップ!
この際、sysprepエラーが出て走らない場合、上記のアプリ削除をまず疑って下さい。
引っかかっているアプリがあれば、ログで見つけられる。
次に、「xmlファイル内で」無効な設定を探して下さい。これがはまりポイント。
たとえば空欄の設定部分があった場合(Windowsシステムイメージマネージャ上では存在しない項目があったりする場合)、
その項目をxml上で削除しなければ(テキストエディタで削除しなければ)エラーが出続ける。

僕の環境のxmlは以下。
まんまは使えないので、かならずADKを入れて作成する事。


追記
ライセンス認証が通らない・・・通らないけど、エラーメッセージも何かよく分からない。
アクティブディレクトリ組めなきゃ駄目なのかしらん。でもHOMEでも出来る記述見たんだけどなあ・・・。

2019年3月2日土曜日

ネットワーク設定で、刺さっているnicと名前が一致しない

複数のNICを挿したPCをいじっていると、どのNICがどの名前なのか分からなくなる。
特に、オンボードのNICは基本使わなかったりするので、設定初期だと尚更である。
たとえば、3枚のネットワークカードを挿していたとして、オンボードを合わせると4つLANアダプタがあることになる。
 さらに、すべてをbondingさせたりしてごっちゃになってたりするから、その中からオンボードを洗いだしたい、みたいな時のtips。

今回判断に使ったのは、NICのベンダ名。
オンボードNICがrealtekだった(そして他に刺したのが全てインテルだった)ので話が早い。

ベンダを判別するにはethtool -iを使う。
ethtool -i [NIC名]
と打つ。
例ハ

ethtool -i enp3s0
スルト
driver: r8169
version: 2.3LK-NAPI
firmware-version: rtl8168g-2_0.0.1 02/06/13
expansion-rom-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
 のように表示されるので、ドライバ名を見ると、大体チップセット名が書いてある。
更に詳しく見たいのであれば、ドライバ名をmodinfoで見る。

modinfo r8169



filename:       /lib/modules/3.10.0-862.el7.x86_64/kernel/drivers/net/ethernet/realtek/r8169.ko.xz
firmware:       rtl_nic/rtl8107e-2.fw
もろもろ続く。。。
version:        2.3LK-NAPI
license:        GPL
description:    RealTek RTL-8169 Gigabit Ethernet driver
author:         Realtek and the Linux r8169 crew
retpoline:      もろもろ続く。。。

参考は
http://thatsdone-j.blogspot.com/2012/12/linuxnic.html