Ubuntu 24.04 LTS を 24.10 normal に更新
ただのメモ
自宅サーバを更新するにあたって、Ubuntu 24.04 LTS を入れたけど、以前の Debian では testing で運用していたし、Ubuntu も LTS より 新しくさせたい。
ということで、Ubuntu 24.04 LTS(Noble Numbat) から 24.10 normal(Oracular Oriole) に更新。
$ sudo apt install ubuntu-release-upgrader-core $ sudo vi /etc/update-manager/release-upgrades ((( 修正 ))) # /etc/update-manager/release-upgrades - Prompt=lts + Prompt=normal $ do-release-upgrade
switchbot API の排他処理とリトライ
自宅サーバを更新し、Switchbot の温度監視を munin でグラフ化、その結果を nagios4 で結果のモニタリングをしていたけど、新しいサーバで Unknown の状態が頻発している。旧サーバでの運用時より、発生回数が増えている。
排他処理とリトライの追加
Switchbot API での値の取得だけれど、muninでの値取得とnagios4での値取得の処理と重なるとデータ取得に失敗すると思われるので、flock コマンドで排他処理を追加。これである程度は Unknown が減ったが、それでも Unknown 発生する。
しかたがないので、Switchbot API で 成功ステータス100が取れなかった時は、1秒の間をあけて1度だけリトライするようにした。(当初は0.3秒 sleep にしたけど効果が薄かった) これにより Unknown はかなり減ったけど、まだ失敗することがある。しかしながら、Switchbot API の1日あたりの回数制限もあるし、何度もリトライさせるのはやめておこう。
#!/bin/bash . "/usr/local/etc/switchbot/token-v11.sh" function curl_status() { # flockで排他処理 /usr/bin/flock -x /tmp/switchbot-api.lock \ /usr/bin/curl -s --request GET \ -H "Content-Type: application/json" -H "Authorization: ${token}" \ -H "sign: ${sign}" -H "nonce: ${nonce}" -H "t: ${t}" \ "${url_list_v11_meter}" } function device_status() { url_list_v11_meter="${url_list_v11}/$1/status" JQ=/usr/bin/jq json=$(curl_status) state=$($JQ '.statusCode' <<< "$json" ) # 取得に失敗したら1度だけリトライ if [ "$state" != "100" ]; then # リトライ間隔(sleep 0.3 では効果が薄かった) sleep 1 json=$(curl_status) fi $JQ -r '. | (.statusCode|tostring) + " " + (.message|tostring)' <<< "$json" }
(追記) 0:00 頃に unknown
上記の改良後だけど、2日連続で 0:00 に unknown 状態になる。 Switchbot HUB 自身が、日替わり時に何らかの処理を実行しているんだろうなぁ…
homebridgeも新サーバに移行
今まで、raspberry-pi で動かしていた、homebridge を 新サーバに移行させた。
機能の中には、webとhomebridgeの連携で、機能の中継でムダな処理があったけど、一体化してすっきり。
ただ、cec-client による HDMI を使った TV,CATVSTB などのON/OFF/入力切替 については、パソコンではできないので、cec-client 処理は raspberry-pi に依存したまま。
Ubuntu に gcalcli の最新 4.5.1
自分の Google Calendar のデータを表示する Script を動かしていたが、Ubuntu ベースの新しいサーバで動かない。
“gcalcli –noauth_local_webserver” で初期化しようとするが、コマンドラインに表示された URL をブラウザで開いてもエラーがでてしまう。確認すると、Ubuntu Desktop 24 でインストールされていたパッケージが 4.3.0 で古いみたい。
しかたがないので、gcalcli の apt パッケージを削除して、pip でインストール。
$ sudo apt purge gcalcli $ pip install gcalcli
ただ、 .bashrc に “$HOME/.local/bin” の PATH が通っていない。PATH の追加と、自作 script の gcalcli 呼び出し部分の PATH を書き換え。
netplanの問題?ネットワークが切れる
新しいサーバに移行したけど、ネットワークが勝手に切れる。当初、Debian をインストールをしたときには、ネットワークインタフェース自体が消えていたので、ドライバーがうまく動いていないと思われたが、今回は Ubuntu に入れ直ししているし、ifconfig -a でみても、インタフェースは動いているものの、IPアドレス勝手にダウンしている。
netplan の設定トラブル
Gemini で質問したら、アドレス固定設定で登録した netplan の構文エラーとの指摘。でも警告を直しても相変わらず切れる。
netplan の設定ファイルは、Gemini の提案を手作業で登録したけど、netplan, Network-Manager との絡みの問題で、相互が設定をおかしくしている可能性がある。ということで gnome 設定 – ネットワークで固定アドレス設定で登録したら、安定した…の…かなぁ…
自宅サーバの移行中
メインPCを Windows 10 から 新しいPCを導入し Windows 11 に切り替えたが、データの移行も終わったので、Windows 10 の PC に Linux を入れる。
現状自宅サーバの問題点
現状の自宅サーバは ほぼ 15年に使い始めたが、最近はマナーの悪いクローラで負荷が高くなったり、smartd から エラー警告が出る(root ではない)ようになっているし、これを契機にサーバ移行中。1台の PC を 15 年運用というのも我ながらすごいな。
しかし、Core i3 第5世代の CPU から Core i7 の第7世代で処理速度も約4倍になってるし、SSD なので全体的に処理速度も大幅改善。
OS は Debian 13(trixie) から Ubuntu 24 に
OSは、設定移行も考え、同じ Debian にしようと作業を始めたが、ネットワークデバイスのドライバがまずいのか、時々 切れてしまう。処理速度もまともなので、デスクトップでも使うと思うし Ubuntu 24 Desktop に変更。最新 firmware のパッケージをいれて適切なネットワークデバイスが選ばれたのか、ネットワークも安定。
デスクトップも、デフォルト設定が Debian より使いやすいし便利。
ついでに、FireWall の管理は長年 ferm を使っていたけど、メジャーじゃないし最新ディストリビューションでは対象外。今回、移行を契機に netfilter + netfilter-persistent に移行。
postfix + opendkim + clamav + saslauthd + dovecot-imapd の設定はほぼ移行が終わったと思うけどなかなか面倒。設定が色々とかみあってて面倒。設定をまるまる移行すると、処理が途中で現行サーバに飛ぶので、移行中サーバ内で処理が留まるように設定しながらの作業中。
munin + nagios4 の環境も移行したけど、まだまだ道半ば。WordPress のインストールとコンテンツ移行が最後の難関かな。
追記:Wordpressの ヘッダ画像
WordPress も移行したけど、古いサーバのデータを完全移行で、どっちで作業していたかわからなくなるので、新しいサーバの WordPress ヘッダ画像を更新。
ライセンス的にいい写真がなかったので、Gemini で画像を生成させた。