そろそろいいかと思っておうちサーバをxubuntu 24.04 LTSにアップグレード。
毎度のことながら、do-release-upgradeにも-kオプションがあればいいのに。
apacheが起動していない
今回もapacheの不具合。
doroyamada.hatenablog.jp
/etc/apache2/mods-enabled/php8.1.load を/etc/apache2/mods-enabled/php8.3.load にリネームして、LoadModule php_module /usr/lib/apache2/modules/libphp8.1.so を LoadModule php_module /usr/lib/apache2/modules/libphp8.3.soと書き換えて、sudo service apaches start。
こちらも参考になった。というか、前回のことをすっかり忘れていて、このページを読んでいるうちに思い出した次第。
pokonote.com
でもこれってアップグレードソフトの不具合放置やんな。
rm-mini3のスクリプトが動いていない
外出するとテレビの電源を切るようにしているが、それが動いていない。ログを見ると、不在(固定アドレスにしているスマートフォンへのpingを打つ)は感知している。ということはその先でのエラーのはず。そこで、broadlink_cliコマンドをターミナルから打ってみた。
Traceback (most recent call last): File "/var/www/scripts/smarthome/python-broadlink/cli/broadlink_cli", line 7, in <module> import broadlink ModuleNotFoundError: No module named 'broadlink'
検索してみる。再インストールしたらよさそう。
tsaitoh.net
やってみた。
error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.
調べてみたら、王道の解決策は仮想環境(といっても仮想マシンを作るのではなく、別ディレクトリにするだけ)。でも今回は強引な方法を試してみる。
pyopyopyo.hatenablog.com
Defaulting to user installation because normal site-packages is not writeable Collecting broadlink Downloading broadlink-0.19.0-py3-none-any.whl.metadata (549 bytes) Requirement already satisfied: cryptography>=3.2 in /usr/lib/python3/dist-packages (from broadlink) (41.0.7) Downloading broadlink-0.19.0-py3-none-any.whl (25 kB) Installing collected packages: broadlink Successfully installed broadlink-0.19.0
できた。スクリプトも動くようになった。
telnetログインができない
/etc/inetd.confのコメントアウトを外して完了。sshだとリブートが失敗しがちなのでtelnetログインも残してある。
#:STANDARD: These are standard services. #<off># telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/telnetd
参考になったページ。
financial-it-engineer.hatenablog.com
ううむ、loginはアルファベットのままなのに、パスワードのプロンプトがカタカナになってしもうた。
これを元に戻すには環境変数LANGをCにしてデーモンを立ち上げるようにしたらよさそう。
/usr/lib/systemd/system/inetd.serviceの[Service]にEnvironment = LANG=Cを追加。
[Unit]
Description=Internet superserver
Documentation=man:inetd(8)
After=network-online.target
Wants=network-online.target
ConditionPathExists=/etc/inetd.conf[Service]
Environment = LANG=C
Type=notify
ExecStart=/usr/sbin/inetd
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
WatchdogSec=5
KillMode=process[Install]
WantedBy=multi-user.target
サービスをリスタートしようとするとデーモンをリロードしろというのでそのとおり実施して、再度サービスをリスタート。パスワードプロンプトも英語になった。
参考になったページ。
qiita.com
nanoのsyntax highlightのディレクトリ変更
これまで/usr/local/share/nano にあったのが/usr/share/nano に変更されていて、「ファイルがあらへんがな」と怒られた。/etc/nanorcを修正して対応。