raspberry-pi のディスク容量増
自宅内の色々な処理(温湿度モニタリング, 家電リモコン制御, homebridge)をさせている、Raspberry-Pi のディスク容量(8GB) の容量が不足してきた。大した処理はしていないし、不要なパッケージは消していたけど、homebridge などを使っていたりで、ギリギリになってきた。
Raspberry Pi の SDD交換&拡張
しかたがないので、32GB SDD を買ってきて、イメージファイルでコピーを行う。
((( 元のraspberry-piのイメージ吸い出し ))) $ sudo dd bs=4M if=/dev/sdd of=~/rpi.img ((( 新しいSDDにイメージを書き戻し ))) $ sudo dd bs=4M if=~/rpi.img of=/dev/sdd ((( 新しいSDDでraspberry-piを起動し ))) $ sudo raspi-config --expand-rootfs
bind9-dnsutils の nslookup でデバッグ表示
DNS関連の動作確認で動かしている script が変な表示を出すようになっている。
原因を探していくと、/usr/bin/nslookup コマンドで、検索オプションをつけると、デバッグ出力が表示されているみたい。出力先も標準エラー出力となっている。10/25リリースの 9.17.19-1 の問題??
$ ls -l /usr/bin/nslooup -rwxr-xr-x 1 root root 105120 10月 25 21:29 /usr/bin/nslookup $ dpkg -l | grep bind9-dnsutils ii bind9-dnsutils 1:9.17.19-1 $ nslookup -type=a tsaitoh.net main parsing tsaitoh.net addlookup() make_empty_lookup() make_empty_lookup() = 0x7ffa08b49000->references = 1
どうも、脆弱性問題が発生した対応時の debug モード付がリリースされたんじゃないのか?
dovecot が動かない Let’s Encrypt 証明書問題
数日前から、iphoneで自宅サーバのメールを見ると証明書が有効期限切れとのエラーが表示される。パソコンから Thunderbird で見るのには影響がないようだ。設定を色々と確認しても改善しない。
/var/log/mail.log を見ると、”SSL issue: alert number 46″ などのエラーメッセージが残っていて、dovecot と合わせてググると、Let’s Encrypt のルート証明書が、2021/09/30 で切れるといった記事が見つかり、これが影響しているようだ。
dovecot の設定の修正
さらに検索すると、ようやく対応記事が見つかった。ssl_cert の cert.pem を fullchain.pem に替えるだけ。こちらの資料を見ても、dovecot とか postfix なら fullchain.pem を使うような説明がある。
((( /etc/dovecot/conf.d/10-ssl.conf ))) # ssl_cert = </var/lib/dehydrated/certs/自宅サーバ名/cert.pem ssl_cert = </var/lib/dehydrated/certs/自宅サーバ名/fullchain.pem ((( restart dovecot ))) $ sudo systemctl restart dovecot
postfix の設定の修正
同じような設定は postfix も使っていたはず。試しに、iphone でメールを出そうとすると、dovecot と同じような証明書が信用できないとのメッセージでメールが送れない。
((( /etc/postfix/main.conf ))) # smtpd_tls_cert_file=/var/lib/dehydrated/certs/自宅サーバ名/cert.pem smtpd_tls_cert_file=/var/lib/dehydrated/certs/自宅サーバ名/fullchain.pem ((( restart postfix ))) $ sudo systemctl restart postfix
WSLでX11 GUIを使う
Windows 11 の WSL になれば、X サーバなど準備しなくても動くようになるんだけどね。WSLのPythonでGUIアプリを動かすにはどうすればいいかと試してみた。
XcXsrv を入れてあったけど、面倒で環境作ってなかった。改めて X関係のソフトを入れてみた。
$ sudo aptitude install x11-apps fonts-ipafont inkscape gimp tgif $ export DISPLAY=192.168.xx.yy:0.0 $ xeyes
GIMPとかInkscapeとかGoogle Chromeなども入れてそれなりに上手く動くけど、emacs が上手く動かないな…
ntpが正しく動かなくなった
ntp サーバが正しく動かない
NTPが正しく動いていない。nagios で、check_ntp_peer コマンドにて、NTP サーバの動作を検証しているが、
# /usr/lib/nagios/plugins/check_ntp_peer -H 127.0.0.1 NTP CRITICAL: Server not synchronized, Offset unknown|offset=0.000000s;60.000000;120.000000;
にて、同期がとれていないとのメッセージ。いろいろと、/etc/ntp.conf を触ってみるが、うまく動いていない。
ntp プロセスを確認すると、
# ps ax | grep ntp 9999 ? Ssl 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /run/ntp.conf.dhcp -u 122:130
となっていて、設定ファイル /etc/ntp.conf を参照せずに、/run/ntp.conf.dhcp を読み込んでいる。この設定ファイルでは、dhclient で DHCP にて IP アドレスをもらう際に、ntp-server が指定されていたら、それを使うための設定らしい。じゃあ、この /run/ntp.conf.dhcp を作っているのはだれ?となる。
NetworkManager が原因
色々と確認したら、NetworkManager が原因のようだ。NetworkManager が管理しているデバイスだと、上記の余計な設定をしてくれるらしい。時期的には、Debian/bookworm に切り替えて、普通に upgrade したら、NetworkManager の機能が増えたんだろう。
eth0 を NetworkManager の管理から外すと無事に動き出す
ということで、NetworkManager が eth0 の設定を触らないようにさせる。
((( /etc/systemd/network/eth0.network で固定アドレスを割振る設定 ))) [Match] Name=eth0 [Network] Address=192.168.xx.2/24 Gateway=192.168.xx.1 ((( /etc/NetworkManager/conf.d/99-unmanaged-devices.conf ))) [keyfile] unmanaged-devices=interface-name:eth0 ((( NetworkMangaerを再起動 ))) # systemctl reload NetworkManager ((( NetworkManagerの確認 ))) # nmcli device status DEVICE TYPE STATE CONNECTION eth0 ethernet 管理無し -- lo loopback 管理無し -- ((( ntpの起動状態を確認 ))) # ps ax | grep ntp 9999 ? Ssl 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 122:130
ということで、無事に eth0 が NetworkManager の管理から外れ、ntp が正しい設定ファイル /etc/ntp.conf を読むようになった。
でも、”ps ax” を試すと、”dhclient eth0″ が動いている。どうも、IPアドレスの設定がおかしい。以前に、nmcli コマンドを試したときのゴミが残っているのかな。設定情報のファイルを編集。
((( /etc/NetworkManager/system-connections/eth0.nmconnection ))) [connection] id=static <-- ここが eth0 と書かれていた。ここは、dhcp か static になるべき。 uuid=xxxxxxxxxxx type=ethernet interface-name=eth0 :
munin-2.0.67-2 で lock ファイルのトラブル
Debian の更新をかけたら、munin-2.0.67-2 となってから、以下のメールが定時処理で届く。
Creating lock /var/run/munin/munin-update.lock failed: Permission denied at /usr/share/perl5/Munin/Master/Update.pm line 127.
検索をすると、どうも 2.0.67-2 で出たトラブルで、対応中みたい。当分、様子見かな。
munin は、止めたくないしなぁ…
でも、5分毎の警告メールはうざいなぁ…
homebridge用にnode.jsの更新
家電制御用に動かしている Raspberry Pi の homebridge のために、node.js と npm の更新。
ついでに、最新の node.js を 16.3 にアップグレードしてみた。
$ sudo systemctl stop homebridge $ sudo curl -fsSL https://deb.nodesource.com/setup_16.x | bash - $ sudo systemctl stop homebridge $ sudo apt-get install -y nodejs $ sudo systemctl start homebridge $ sudo npm update $ sudo node -v 16.3.0 $ sudo npm -v 7.15.1
SwitchBot の制御が動かなくなり、プラグインを別の物に切り替え。
rsyslogの設定
Buffalo のルータのログをサーバに保存する設定。ルータを更新した時に、syslog 設定までやってなかった。ということで、改めて設定。
出力するファシリティは、local1 なので、以下の設定を加える。
以前に、設定した時は、/etc/rsyslog.conf を触ったけど、Debian流で /etc/rsyslog.d に local1.conf ファイルにまとめる。
サーバ側の設定
(( /etc/rsyslog.d/local1.conf )) # module(load="imudp") input(type="imudp" port="514") local1.* /var/log/local1.log # (( /etc/logrotate.d/rsyslog )) /var/log/messages + /var/log/local1.log
ルータ側の設定
google home が動かなかったな…
そういえば、先日の朝とか、いつもの Google home mini に「照明つけて」とか言っても、ネットワークにつながっていないとかいって動かなかったけど、google のトラブルが原因か。
我が家では、家電制御は、Google Home mini → homebridge-gsh → homebridge だから、我が家のネットワークの問題(mydns.jpの接続トラブルで逆引き失敗することがある)で、homebridge-gsh が動かないと思っていたけど、google さんがトラブっていりゃうごかないよね。
まあ、homebridge は Home アプリで操作が普通で、”Hey Siri!” で操作できるし、記事みたいに何もできなることはないし。
サーバをspeepさせない
職場で実験用にセットアップしたサーバが、ほっておくと sleep で繋がらなくなる。
下記の設定で、sleep, suspend,hibernate 機能を停止する必要あり。
$ sudo systemctl mask sleep.target suspend.target hibernate.target







