gami のすべての投稿

リモコンとかケーブルとか

今日の買い物メモ。基本的に中古屋。

先日新しくPCを購入した(中古)
ディスプレイケーブルがDP/D-Subの2択で、DP持ってなかった。
(というかDisplayPortの存在を初めて知った)
現在、D-Subで接続中。せめてDVIがあれば・・・
# ちなみにPC購入時、HDMIだろうと思って何とかなるだろうと思ったのが間違い。
# まあ、GeForce310なので性能的にはお察しなのだが・・・

中古屋で探したけどHDMI-miniDPケーブルとかDP-DVI変換とかあったんだが今回は見送り。
ケーブルは600円程度だったけど変換必要になるし、DP-DVI変換コネクタは1200円したので見送った。
どうせならケーブルが欲しい。
別の店で新品見たらHDMI-DPケーブル2m 2300円ぐらい、だった。結局amazonかな・・・

テレビのリモコンが死んでいたので互換を探す。
C-RN2が欲しかったがさすがに無い。
代わりにC-RN4というのがあったので試しに買ってみた(ジャンク108円)
結果としてテレビ部分は反応するがビデオ関係が動かない、というオチだった。捨て。
互換でC-RP2があるらしい。これもamazonかな・・・

ノートかタブレット

「新しいノートかタブレットが欲しい。どれがいいだろう」
という質問を受けた。
考えをまとめるためのメモ。

要件

  • 既にノートがある
  • 外でDVDを見せる
  • 外でPowerPointなどを使ってプレゼンする

DVD

内蔵ならノート1択。ただし重量が重くなる。
外付けできるDVDドライブはタブレットでは無さそう。Wifi経由で使えるDVDドライブはあるらしい。
結局DVDドライブを外で使うためには、ノートしか選択肢がなさそうだ。
使用するDVDが大量でない限り、PCで取り込んでタブレットに転送しておけば見ることは可能。動画形式にしてしまえばほぼ問題なく視聴可能だろう。
ただ、タブレットの場合は外部モニタに接続するのに面倒になる可能性が高い。
最近のものはHDMIが使用できないものが多いので、使用できる機種を選ぶか、MiracastやChromecastなど、特殊なものを用意する必要がある。
その他、テレビ側がワイヤレスモニタに対応していれば無線接続できる可能性もあるが、相手方のテレビ性能による。
外でテレビやプロジェクタでDVDを見せる、というのであればHDMI端子を持ったノート(最近のものならほぼ搭載)を使った方が簡単で早いかもしれない。

ノートかタブレットか

作業をするなら既にあるノートでできる。持ち運び用に、とするならタブレット。
今のノートを捨てて乗り換えるのであれば、ノートや2in1もあり。
ただし、外部モニタのことを考えると結局ノートになるか?

ストレージ及びクラウド

USBメモリは単純にタブレットに接続するのは面倒。先に取り込んでおいて持ち込むなど運用でカバーする。
もしくはUSBメモリではなくSDカードを利用すれば色々対応は可能。(小さいので失くしやすいのが欠点)
現在のノートがSDカード使用可能かどうか要確認。
現ノートと新PC(仮)とのデータ転送は、

  1. SDカードを使う
  2. ケーブルでつないで直接転送
  3. クラウドを使う
    1. GoogleDrive
    2. OneDrive
    3. iCloud

などがある。

自動的にバックアップが取れるという意味でもクラウドを使用するのがベストだろう。

どのクラウドを使用するか

どれもどのOSでも使用可能なので移行自体はほぼ問題なし。
ただし、選んだOSによって標準のクラウドが変わる(=使い勝手が変わる)のは注意。

Office

Microsoft Officeを使いたいという要件は、iOS Android Windowsどれでも利用可能なのであまり問題なし。

Apple製OfficeやGoogle製Officeもある。
ただ見るだけであれば、若干の差は出る可能性はあるが、概ね問題なく見れる。

OS

  • Android
  • iOS
  • Windows Mobile

Android

Googleが開発したOS。情報がそれなりに多い。
亜種がいっぱいあるため、メーカーごとに結構違う。
どれでも同じ、というわけにはいかないかも。
ピンキリで安いのもあるが性能も安くなりがち。
イメージとしてはでかいスマホ。

iOS

Appleが開発したOS。いわゆるiPad。それなりに古いので安定度は高い。
メーカーごとの差はよく知らない。
なんだかんだで性能は高い。値段も高い。
ある意味タブレットの基準みたいな感じがある。

Windows Mobile

Microsoftが開発したOS。実質Surface。
使っている人はあまり聞かない。
Officeを使うには一番保障されているかもしれない。
SurfaceはタブレットというよりほとんどノートPC扱いに近い。

systemd.nspawn

 仮想環境にsystemd-nspawnを使うにあたって、systemd-nspawan@machineを編集していたのだが、nspawnファイルを使うほうが良いらしい。

/etc/systemd/nspawn/machine.nspawnを作ればそれを読み取ってくれるらしい。読み取らせるオプションがsystemd-nspawnの–settings=override だった。

 プロセスを見ると–network-veth とか -U とかついているんだけどoverrideでちゃんとnspawnファイルを読み込んでいるらしくそちらが有効になっているようだ。

 一番怖かったのは-Uで、やけに起動に時間がかかるな、と思ったら全部のUIDをprivate用に変更してくれやがって修正が大変でした。
これを外す方法がわからなかったのでsystemctl edit したと言っても過言ではない。
PrivateUsers=0 がその設定。

/etc/systemd/machine.nspwan

[Exec]
Boot=true
Hostname=machine
LinkJournal=try-guest
PrivateUsers=0

[Network]
Bridge=bridge0

[Files]
Bind=/home

systemctl edit systemd-nspawn@machine.service
するのとどっちがいいかというと、一応用意されている.nspawnファイルの方が良いのかなーということで全部.nspawnに置き換えた。
とりあえず問題は出ていない。

 あと、mount -o bind で共有するより、Bindで指定するほうが、host0で余計なマウントが出てこない(cgroupでnamespaceが分けられている?)ので良さそうだ。まあhomeぐらいしかないんだけど。
/var/cache/apt/archivesとか共有してもいいかもしんない。

 ちなみにネットワークを分けずにhost0のネットワークそのまま使う場合には、[Network]にPrivate=false でOK。

遅いSSD

xenをやめてsystemd-nspawnにしてから約1か月。

異常に重い。何かするとあっという間にload average 30とか50とか。ひどい時は200とか。
kworkerが異常発生していたりするんだけど状況がよくわからず困っていた。

何となくHDDが重い気がしていたんだけど調べる方法がわからず我慢していた。
ふとベンチマークしてみようと、hdparm使ってみた。

sudo hdparm -tT --direct /dev/sd[a-d]

/dev/sda:
Timing O_DIRECT cached reads: 496 MB in 2.00 seconds = 247.44 MB/sec
Timing O_DIRECT disk reads: 380 MB in 3.00 seconds = 126.58 MB/sec

/dev/sdb:
Timing O_DIRECT cached reads: 912 MB in 2.00 seconds = 455.98 MB/sec
Timing O_DIRECT disk reads: 454 MB in 3.01 seconds = 150.90 MB/sec

/dev/sdc:
Timing O_DIRECT cached reads: 264 MB in 2.00 seconds = 131.71 MB/sec
Timing O_DIRECT disk reads: 392 MB in 3.00 seconds = 130.59 MB/sec

/dev/sdd:
Timing O_DIRECT cached reads: 528 MB in 2.00 seconds = 263.75 MB/sec
Timing O_DIRECT disk reads: 436 MB in 3.01 seconds = 144.72 MB/sec

ちなみにsdcがSSD。
なんでやねん。一番遅い。

SSDだから、とlvm_cacheにしていたのだが、実は一番遅いメディアだった!そんな馬鹿な orz
昔はカーネルがちゃんとSSDだと認識していた気がするんだが、/sys/block/sdc/queue/rotational = 1 だった。

とりあえずlvm_cacheやめた。
適当にhddに負荷かけてみたが、高負荷にはならなかった & kworker 増えなかったので、とりあえずはlvm_cacheのせいにしておこう。

ssh と dns

ssh の VerifyHostKeyDNS を使ってみようと思い、DNSにsshfpを登録してみた。

結論から言うと失敗で、DNSSECでadフラグが立つ(=ルートからの信頼チェーンが成功する)必要があり、オレオレ認証のDNSではinsecureなkeyとして扱われるらしい。

デバッグオプション付けると以下のようなメッセージが出る

debug1: found 2 insecure fingerprints in DNS
matching host key fingerprint found in DNS

一応、DNSからhostkey 入手してマッチング成功ではあるのだが、信頼できないのでknown_hostsに登録しないとダメっぽい。

信頼できるキーの場合はknown_hostsになくても大丈夫らしいのだが、試す環境がないので不明。

まあせっかく作ったからこのままにするか

やり方としては

ssh-keygen -r hostName でSSHFPのキーが出てくるのでそれをDNSに登録するだけ。keyを指定するなら
ssh-keygen -r hostName -f /etc/ssh/ssh_host_algorithm_key.pub