「Linux」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

switchbot の munin プラグインを multigraph 化

自宅内を switchbot で色々と管理できるようになったけど、温湿度測定の対象も増えてきたら、munin のデータ更新の時間がどんどんと長くなってきた。

gemini に手伝ってもらい、パケット流量の監視などでセッションを残すことなどで、早くなってきたけど、もう少し改善したい。確認を行うと、Switchbot の温湿度測定をセンサー毎に lua プログラムで実行しているのに時間がかかり、複数センサーを一括で取り込むことを勧められる。

そこで、tokenやらアクセス用のタイムスタンプ情報などを作る部分を最初に1度行って、データ取得は一括で取り込むことにした。このような処理のために、munin では multigraph という機能があるので、プラグインを multigraph 化してみた。11秒ほどかかっている munin-update が 8秒ほどに短縮できた。

php2shell の対応

PHPの更新が前日に予告され、一斉更新がかかるという流れは、かなり重大。

ということで、いつもなら職場にいってから対応なんだろうけど、高市さんの危険勧告のニュースを見ながら、職場や自宅のサーバの更新をかけた。ひとまず、debian, ubuntu の更新情報で対応版のバージョンなのを確認でひとまず安心かな。

(追記) 公開前後への攻撃の可能性もあるので、https://x.com/okdt/status/2113066222870999515 の記事を参考に、error.log や access.log を確認。特に問題となる攻撃の痕跡は見つからなかった。

Ubuntu 26.10 への更新(mariadbトラブル)

Ubuntu 26.10 の公開に合わせて、自宅サーバの do-release-upgrade -d を実行してみた。
約3000パッケージほどが更新されたが、upgrade 時点では大きなトラブルなく終了&再起動。

mariadb の修復

しかしながら、再起動後に wordpress が定番の”データベース接続確立エラー”で動かない。Apache,PHPなどは普通に動いているようなので、困った。

トラブルが次々発生したけど…

  • 更新作業中に既存の設定ファイルを残す方針で更新をしたため、mysqlからmariadbの移行が中途半端だったので /run/mysql を参照する設定になっていた。パッケージの設定ファイルを更新パッケージ付属の mariadb の純正の設定ファイルに変更し、mariadb がひとまず起動。
  • しかしながら event や proc などのファイルが壊れていたり整合性のエラーで正常起動状態にならず、Gemini に聞きながら、壊れている関連ファイルを削除し、mariadb の再起動で関連ファイルを修復し、ようやく mariadb が正常起動。
  • でも、接続確立エラーがでたけど、最後に wordpress の DB_HOST の設定が localhost になっていたものを 127.0.0.1 に変更したら wordpress が正しく動くようになった。

確認作業

その他の機能は、nagios4 とかで確認すると、正常に動いているように思える。メールの送受信あたりがややこしいけど、Gmail 間で送受信ができたので大丈夫かな。

更新時に、dmarc-cat や nodejs などの PPA の設定で入れたものが動かなくなるかも… との警告が出てたけど、更新後にパッケージなどで残っているので、ひとまず大丈夫っぽい。

我が家で大活躍している、HomeAssistant も正常に動いている…たぶん…これからの運用でトラブルが見えてくるかもしれないけど、26.10 を危険覚悟で入れたのだから仕方がないだろうな。

PPAパッケージの復活

do-release-upgrade の際に無効化されていた、/etc/apt/sources.list.d/ 配下の PPA パッケージは、更新時に “Enabled: no” にされていたけど、改めて “Enabled: yes” に変更し更新の有無を確認。

WSL で 26.10

WSL環境も、先日 docker なども容易になった wsl-3.0.3 が出てきてるけど、Ubuntu 24.04 から 26.04 に更新した環境で 26.10 に更新。

外部からの到達確認

外部からの HTTPS トラブルもあり、nagios に外部から自宅サーバへの到達性チェックを追加。

自宅から nrpe で監視している さくらインターネット 上のサーバに以下の設定を追加。

((( 外部サーバ: /etc/nagios/nrpe.d/enabled.cfg )))
# -s 文字が含まれるかチェック(DDNS環境なので文字検索チェック付き)
command[check_tsaitohnet_http]=/usr/lib/nagios/plugins/check_http tsaitoh.net -s tsaitoh.net
command[check_tsaitohnet_https]=/usr/lib/nagios/plugins/check_http --ssl tsaitoh.net -s tsaitoh.net

((( 自宅 )))
define service{
        use                     local-service   ; Name of host template to use
        host_name               .....
        service_description     TSAITOH_HTTP
        check_command           check_nrpe!check_tsaitohnet_http
        check_interval          1440 ; 1day 確認頻度は低く
        retry_interval          60   ; 1h
        notification_interval   0    ;
}
# HTTPSチェックは、HTTPSトラブルが解消してから

タグ,カテゴリに noindex を追加

情報探しで、自分のページが google 検索で表示されることがあるけど、記載ページ以外にタグ・ページやカテゴリ・ページが重複して表示されることがある。

タグ,カテゴリに noindex

無駄な情報が表示されないように、noindex, follow(記事を検索結果に表示させないけど、続けて検索を許す) のタグを入れる処理を追加する。(といっても gemini のアドバイスをまとめただけだけど)

WordPress 管理画面で functions.php を編集

  • WordPress 管理画面の [外観] > [テーマファイルエディター]
  • 「テーマファイル」一覧から [テーマのための関数 (functions.php)]
/////////////////////
/// functions.php /// 
/////////////////////
/**
 * カテゴリ,タグ等 に noindex を追加
 */
if (!function_exists('add_custom_noindex_tags')) {
    function add_custom_noindex_tags() {
        if ( is_tag() || is_search() || is_date()
             || is_404() || is_author() || is_category() ) {
            echo "\n".''."\n";
    	}
    }
    add_action( 'wp_head', 'add_custom_noindex_tags' );
}

WordPress プラグイン Postie のトラブル

WordPress も 8月に 7.1 系にアップグレードされたけど、この1年ほどは大きなトラブルもなく更新がでたらポチるだけの安定運用。

Postie のトラブルと更新

ただ、今日は Postie の更新が来ていたので更新をかけたら、起動しなくなった。安定実績のあるプラグインが動かなくなるのは久々だな。

ひとまずは、plugins ディレクトリに入って mv postie postie.disabled で一旦無効化させる。

確認すると、この数日で 1.9.82,83,84,85,86 と微妙に更新がかかっているなか、「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」となっている。変な動き…ではなく、WordPress の起動さえ邪魔するようなトラブルは珍しい。

WordPress 本体の更新を確認すると、WordPress 7.1.1 が 9/17, 7.1.2 が 9/22 に自動更新かかっているなぁ。

(2026/09/24 追記)

新しく更新が出たようなので、元に戻して更新で無事復帰。

同様のトラブルが職場の WordPress でも発生。休み明け早々の朝イチ仕事で対応(済)

(2026/09/24 追記2) WordPress 7.1.2 で深刻な脆弱性の修正

WordPress 7.1.2が公開。深刻な脆弱性を修正、サイト運営者は速やかな更新を

HomeAssassinにHomeKit Bridgeを登録

iOS27 で Siri AI が強化され、改めて iPhone のホームアプリを使いたくなってきた。

以前は、HomeBridge を使っていたけど、連携などの問題で HomeAssassin に移行したうえで、HomeBridge はお役御免としていた。となると、HomeAssassin で連携させたい。Gemini で聞いてみたら連携機能があるな。

HomeKit Bridgeのインストール

『設定 – 統合を追加 – Apple – HomeKit Bridge 』にて、iPhone ホームアプリ用の QR コードを生成させ、iPhone で読み込ませたら、連携ができた。(統合追加で “Apple – HomeKit デバイス” との勘違いに注意)

動作テスト (9/23追記)

iPhone(iOS27.2β1) の Siri に「リビングの照明を消して」としたら、ちゃんと消してくれた。でも、Apple Watch だと「リビングルームには電力を制御できる照明はありません」と言われる。微妙だな。

次に、複合技の実験で iPhoneで「リビングの照明を1分後に消して」としたら、「ホームハブの設定が必要」とのエラーメッセージ。この機能は、Google の Gemini for Home だと、一応動いてくれる。でも、設定に失敗したりすることもある多い微妙な機能だし、Siri だと動くかなと期待したけど残念。

Screenshot

raspberry-pi5 の導入

ReadyNAS に debian/forky をインストールし、DHCP, DNS の多重化を行ったが、お下がりの機器だったので HDD のエラーが発生したり、異音がして OS が気絶したりと、安定運用とはできなかった。

しかたがないので、Raspberry-Pi5 で運用することにした。

標準の debian/trixie 64bit でインストールしてひとまず運用の確認をして、早々に debian/forky にアップグレードとした。

bsdextrautils のパッケージインストールで、他のパッケージとの重複で上書きが発生するとのことで、アップグレードに失敗した。しかたがないので、問題のないパッケージをすべてアップグレードを終わらせてから、force-overwrite オプションで無理やりアップグレードを終わらせて、無事 debian/forky に移行を終えることができた。

最終目標は、raspberry-pi3 で動いている TV, CATVSTB など入力切替などで運用している機能を移行させたい。

readynas pro 2のシリアル

ReadyNAS Pro2 に debian/forky をシリアルコンソールを使ってインストールしたけど、再起動に失敗。再起動時にエラーが出た様子。

改めてシリアルコンソールで起動させると、fsck に失敗していた。今後もシリアルコンソールを使う機会がありそうなので、メモ。

3.3V or 5V USB Serial 9600 bps
Ready NAS Pro 2       8bit no-parity
 4   3   2   1        1bit parity
GND RX   TX  +5V      no Flow-control
 |    \/
 |    /\        
GND RX   TX  +5V +3.3 DTR
CP2104 Serial USB
$ brew install minicom
$ minicom -D /dev/tty.usbserial-XXXX -b 9600 -8 -o

macOS は、CP210x ドライバが標準組み込み
Silicon Labs 公式: CP210x USB to UART Bridge VCP Drivers

readynas の運用開始と DNS,DHCPの多重運用

NETGEAR の ReadyNAS Pro 2 を入手。readynas の 正規 OS は、バージョンが古く debian ベースの でも samba などが古いプロトコルしか使えないので、便利な使い方ができない。

このため、Serial ポートを使って debian/forky をインストール。

サーバを運用していると、ネットワークの設定を間違って DNS, DHCP を止めてしまうと、自宅ネットワークが全滅する。 Raspberry-Pi で DNS セカンダリサーバなどを動かしていたけど、この readynas のサーバで多重サーバ構成にしたい。

DNS のキャッシュサーバ運用

まずは、DNS (bind9)のセカンダリ運用。

((( /etc/bind/named.conf.local )))
zone "tsaitoh.net" {
        type slave ;
        file    "db.tsaitoh.net.slave";
        masters {
                192.168.xx.yy;
        };
};
((( /etc/bind/named.conf.options )))
acl     internal-network {
        ::1;
        127.0.0.1;
        192.168.xx.0/24;
};
options {
        directory "/var/cache/bind";
        forwarders      { 192.168.xx.yy;    };
        allow-query     { internal-network; };
        allow-recursion { internal-network; };
        dnssec-validation auto;
        listen-on       { any; };
        allow-transfer  { none; };
};

DHCP のホットスタンバイ運用

続いて、DHCP の多重化。最近まで isc-dhcp-server を使っていたけど、kea-dhcp4-server に切り替えていたが、kea-dhcp4-server では、hot-standby 構成を組めるので、設定。2台の DHCP サーバは、8000 ポートで相互に死活状態を確認し、相手が機能していないと、自身が DHCP 処理を行う。

((( /etc/kea/kea-dhcp4.conf )))
    "hooks-libraries": [
      {
          "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so",
          "parameters": { }
      },
      {
          "library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
          "parameters": {
              "high-availability": [ {
                  "this-server-name": "プライマリホスト名",  // セカンダリの設定ではセカンダリホスト名を記入
                  "mode": "hot-standby",
                  "heartbeat-delay": 1000,
                  "max-response-delay": 10000,
                  "max-unacked-clientsets": 5,
                  "peers": [
                      {
                          "name": "プライマリホスト名",
                          "url": "http://192.168.xx.yy:8000",
                          "role": "primary"
                      },
                      {
                          "name": "セカンダリホスト名",
                          "url": "http://192.168.xx.zz:8000",
                          "role": "standby"
                      }
                  ]
              } ]
          }
      },
    ],

これで、メインサーバにトラブルがあっても、自宅内ネットワーク全滅は避けられる。

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報