catt で chromecast を制御
chromecast を Linux から制御する python script の cast_url とかを使っていたけど、もっと使いやすくなった catt というものが公開されていた。
こちらで公開されていた DLNA サーバを検出する simple-dlna-browser も便利。
$ simple-dlna-browser -L http://192.168.xx.yy:zzzzz/dms/ddd.xml (TZ-HT3500) $ catt scan Scanning Chromecasts... 192.168.xx.yy - ベッドルーム - Google Inc. Google Nest Mini 192.168.xx.yy - リビングルーム - Google Inc. Chromecast 192.168.xx.yy - 居間(google home) - Google Inc. Google Home Mini $ catt -d リビングルーム cast https://www.youtube.com/watch?v=HBSC0RDuUlQ Casting remote file https://www.youtube.com/watch?v=HBSC0RDuUlQ... Playing "DREAMS COME TRUE - うれしい!たのしい!大好き!(from DWL2007 Live Ver.)" on "リビングルーム"... $ catt -d リビングルーム stop
なんちゃってIPv6でトラブル
自宅では、IPv6 でインターネットにつながらない状態の癖に、IPv6 の運用実験として色々な設定をしている。
しかし、最近繋がらないページなどが時々出ていて、どうも IPv6 サイトが原因だと予測はしていた。
今回、病院に入っていて家に不在の時に限って、ママがゲームサイトに繋がらないと文句を言ってきた。今までは動いていたのだが、ゲームサイトにも IPv6 化が進んでいる中で、ゲームサービスが IPv6対応になったんだろうな。おかげで IPv4 しかつながらないネットワーク環境のくせに、スマホがインターネットに IPv6 で繋ごうとするのが原因。
自宅では、IPv6 対応のために、DHCPサーバで IPv6 アドレス配布の設定をしていた。しかしこれが誤解のもと。実は IPv6 アドレスの自動設定機能の radvd を動かしていて、この設定は動いていないと思っていたが、実は radvd の設定が生きていた。
このため、DHCPv6の設定を消しても、radvd が相変わらずスマホに IPv6 ルータ情報をアナウンスするため、IPv6 で外に繋がらない状態となっていた。
ということで、/etc/radvd.conf を別名で残しつつ、”sudo aptitude purge radvd” で radvd の機能を止めた。
wsl GUI がWindows10で利用可能に
Windows 10 の 22H2 が適用できるようになり、VcXsrvのような X11 サーバを起動しなくても、GUI の wsl が動かせるようになった。
KB5020030(「2022-11×64ベースシステム用Windows 10 Version 22H2の累積更新プログラム」)がインストールして、再起動などが終わらせておく。wsl が導入済みなら、PowerShell (管理者モード) で、wsl.exe –update を実行するだけ。wsl –version でバージョンが表示されるようになったら成功。
PS C:\WINDOWS\system32> wsl.exe --update インストール中: Linux 用 Windows サブシステム Linux 用 Windows サブシステム はインストールされました。 PS C:\WINDOWS\system32> .\wsl.exe --version WSL バージョン: 1.0.0.0 カーネル バージョン: 5.15.74.2 WSLg バージョン: 1.0.47 MSRDC バージョン: 1.2.3575 Direct3D バージョン: 1.606.4 DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windowsバージョン: 10.0.19045.2311
LaTeX で 図入り文書を書く時によく使う簡単なエディタ tgif を使いたかったが、ISO8859-1 のフォントが使えずエラーがでたけど、xfonts-shinonome などを入れたら、無事に動くようになった。emacs なども動くし便利。
$ tgif Fatal Error in OpenFont(): Cannot open the Default(Msg)Font '-*-courier-medium-r-normal-*-14-*-*-*-*-*-iso8859-1'. Tgif aborted. $ sudo aptitude install xfonts-shinonome 以下の新規パッケージがインストールされます:
職場のWin10マシンはまだ使えず
うーむ、職場の Windows 10 は、相変わらず KB5020030 のアップデートが表示されない。”wsl –version” もエラーのまんまだな。Windows 11 にアップデートした方がいいのかな。
usacloud monitor-cpu
$ usacloud server list -q $ usacloud server monitor-cpu ¥ --start 2022-11-11T00:00:00+09:00 ¥ --end 2022-11-11T12:00:00+09:00 ¥ 123456789012 $ usacloud server monitor-cpu ¥ --start 2022-11-15T15:55:00+09:00 ¥ 123456789012 2>/dev/null ¥ | jq -r ".[].CPUTime" ¥ | tail -1 0.012345
Node.js 18 大丈夫かな
以前、Raspberry-Pi に Node.js 18 系をインストールしたら、homebridge が動かなくなったので心配だったけど、今回は問題なく動いているみたい。
Linux 6.0がdebianに流れてきた
Linux 5.x のマイナーバージョン番号が大きすぎるという理由もあっての Linux 6.0 の登場だけど、Debian(bookworm/sid) にも linux-image-6.0.0-2 (6.0.3) が流れてきた。
Rust の導入も Linux 6.1 で行われる予定とのことで、大きな変更も少ないし、普通に aptitude safe-upgrade でインストールされた。(^^;
$ uname -a Linux perrine 6.0.0-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.0.3-1 (2022-10-21) x86_64 GNU/Linux
今までのメジャーバージョン番号の更新の際には、競合パッケージがでるから aptitude full-upgrade じゃないと導入できないのが普通。
hb-service upgrade-node で更新
Raspberry-Pi で動かしている homebridge だけど、node.js の更新は curl とか使ってたけど、hb-service でインストールできるんだ。便利。
$ sudo hb-service update-node
node.js もメジャーバージョンが、16 から 18 に以降したうえで、最新の node.js 19 が発表されたみたい。
smartd の警告
サーバから以下のようなメールが送られてくるようになってきた。
This message was generated by the smartd daemon running on: host name: perrine DNS domain: tsaitoh.takefu.fukui.jp The following warning/error was logged by the smartd daemon: Device: /dev/sda [SAT], 5 Offline uncorrectable sectors.
syslog にも記録があるとのことなので確認すると、
Oct 5 22:32:04 perrine smartd[565]: Device: /dev/sda [SAT], 5 Currently unreadable (pending) sectors Oct 5 22:32:04 perrine smartd[565]: Device: /dev/sda [SAT], 5 Offline uncorrectable sectors
やばいと思いながらも /dev/sda を確認すると、古いHDDをつなげて rsync などでバックアップをとるようにしているデバイスなので、ひとまず安心。
(2022/12/08) 警告メール止まったみたい
運用の中、バックアップ用のドライブだったけど、バックアップ処理の中で利用セクタから外れたのか、警告メールが来なくなったな。
fetchmail daemon が勝手に起動
自宅サーバでは、丹南ケーブルの自分宛の spam だらけのメールを捨てるために、夜中に fetchmail を起動するようにしている。
状況
しかし、最近 「別の fetchmail が動いているのでエラー」が発生している。確認をすると、自分の ID の fetchmail が daemon にて動いている。
fetchmail --nodetach --daemon 300
よくよく調べると login 時に、 “systemctl –user start fetchmail.service” にて起動される様子。
対応
システム全体の systemctl –user での起動は、/etc/systemd/user/default.target.wants にて管理されていて、以下のようなリンクが張られている。
fetchmail.service -> /usr/lib/systemd/user/fetchmail.service
ということで、以下のコマンドで勝手に起動される fetchmail を抑止する。
$ cd /etc/systemd/user/default.target.wants $ sudo rm fetchmail.service
正しい systemd での設定方法
今回は、こういう力任せの方法をとったけど、こちらの資料を見ると、以下のやり方が正しい方法っぽいな。試しに、リンクを元に戻して下記コマンドを実行すると、リンクを消してくれていた。
$ sudo systemctl --global disable fetchmail.service
“~/.config/systemd/user/*” にユーザ独自にサービスを登録するのなら、”systemctl –user enable oooo.service” を実行する。
“/etc/systemd/user/default.target.wants” を変更するなら “systemctl –global enable(or disable) oooo.service” を実行する。
CAA レコードが未設定で dehydrated (Let’s Encrypt) が失敗
自宅ドメインの SSL 証明には、Let’s Encrypt (実体は dehydrated) を使っているけど、CERT の有効期限の確認の処理で警告がでてきて、月に1度実施の更新でエラーを吐いているみたい。
DNS に CAA レコードが無いと失敗する
更新を実行すると、以下の表示が出ている。
ERROR: Challenge is invalid! (returned: invalid) (result: ["type"] "http-01" : ["error","detail"] "CAA record for tsaitoh.net prevents issuance"
Let’s Encrypt が更新する際に、ドメイン名の CAA レコードを参照しているけど、CAA レコードが正しくないために、SSL 更新に失敗している。
DNS Certification Authority Authorization とは、ドメイン名の所有者が認証局に対して、自分のドメイン名の公開鍵証明書の発行を許可するかどうかを指定できるようにするインターネットセキュリティポリシーのしくみである。(Wikipedia)
CAAレコードに letsencrypt.org を登録
自宅ドメインは、Dynamic DNS に mydns.jp を使っているので、mydns.jp の設定画面の “DOMAIN INFO” の所で、
「@ CAA 0 issue “\000”」 となっていたので、下記の設定を追加する。
Hostname | Type | Content | Target ID |
@ | CAA | 0 issue “letsencrypt.org” | mydnsXXXXX |
この設定の後、nslookup では、下記のようなデータが取れるようになった。
$ nslookup -query=CAA tsaitoh.net tsaitoh.net rdata_257 = 0 issue "letsencrypt.org"
他の仕事関連のドメイン名も同様の症状が発生するようになるはずなので、mydns.jp 関連の他ドメインで同様設定を追加する。