Ubuntu」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

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 で画像を生成させた。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト