Monterey その後2: Avahi daemonとの相性か

これがちょっと困っています.わが家のLAN内にあるLinuxのサーバーでは名前解決のためAvahi daemon(Zeroconf)を走らせていますが,Mac側からsshやmysqlのクライアントでつなごうとすると,サーバーがリゾルブできません.Linuxのサーバー側でAvahi daemonをリスタートすると繋がりますので,macOS側でタイムアウトとかブロードキャストの扱いが変わったのではないかと思います.

ちなみに,Catalinaまでは,Avahi daemon相手にリゾルブに手こずるようなことは一切ありませんでしたので,Montereyになってからの問題と思います(Big Surは使ったことがないので,Avahiとの相性は不明).

ネットの検索をざっとしてみていますが,いまのところ,関連情報は見つかりません.

念のためAvahi Serverは0.8に,libeventは2.1.12にそれぞれupdateしてあります.

Linux Kernelのせいかもしれない(2021/11/23追記)

LinuxサーバーのKernelを5.10.81(-vl7+)にしてから,症状が全く起こらなくなりました.5.10.70番台の後半から80までのKernelの問題かも知れません.

さらに追記ですが,これは違うようです.最初は接続できましたが,その後接続できなくなりました.

解決>Monterey: DBD::MySQLで難航

DBD::mysqlがMontereyにupgradeしたMac mini(メインWS)にインストールできない件ですが,本日夕刻に,

port selfupdate
port upgrade outdated

をしてから,

port install mysql57

をしたら成功しました.引き続き,

port install p5.30-dbd-mysql

も成功しました.何が効いたか不明ですが,動けば良いのです.

Monterey: DBD::MySQLで難航

ときどき書いてますが,全ての交信データ(ログデータ)は,MariaDBに入れてます.そのマネージメントは,自作のPerlスクリプトと,PhpMySQLでやってます.

MariaDBはMySQLに完全に置き換え可能なもので,バイナリーコンパチということになっています.つまりMariaDBですが,コマンドはmysql(関連アプリはmysql_*)で,MySQLを利用するアプリも,MySQLで使用していた時のまま使えます.

そのため,MySQLとMariaDBは普通は共存させません.

しかし,MacPortsでは,何をどう考えてそうしているのか解りませんが,MySQLとMariaDBを共存させることができます.そのため,MariaDBを使うためには,明示的にMariaDBを指定しなければなりません.

自作のPerlスクリプトはMySQLと接続するため,CPANのDBD::MySQLというモジュールを使っています.このモジュールをMacPortsでインストールしようとすると,依存性のあるmysql57をbuildしようとしますが,cmakeがエラーを出して失敗します.ためしに,mysql56, 55も試しましたがダメです.

MacPortsでMariaDBのインストールは何の問題もなくできました😓

普通はMariaDBがあれば,DBD::MySQLで接続できるんですが,DBD::MariaDBなどというおかしなモジュールを介さなければならず,自作のスクリプトを書き換えなければなりません.それはたやすいことなんですが,移植性ががぜん落ちます

さて困りました.問題点を書き出せば,解決が見えてくるかなと思いましたが,今のところ何にも見えません😓

他に試したけど効果がなかったこと

  1. Oracle MySQL community serverのインストール(macOS版 v8.0.x)
これまで,Slackware x86_64, ARMと,macOSどちらでもパッチなしで動いていました.

ようやくCatalinaに(4) 〜bash to zsh は避け(逃げ)る〜

タイトルの通りなんですが,長年Linuxではbashでshellスクリプトを書いてきました.macOSも長いことbashが標準だったので,非常に具合が良かったわけですが,Catalinaからdefaultのinteractive shellがzshになりました.

あんまり変なことはしていないので,日常的に使っているscriptはzshで動くとは思いますが,bashを使うままで行きます.bashがディスコンになるとかいう日が来たら考えます.

Netatalk+Time Machineは2勝1敗に

遅まきのCatalinaへのupgrade問題からはそれますが,既にCatalinaにupgrade済みの家族用WS (以下 “FWS” )からも,Linux ARMのファイルサーバーにつなげた3TBにTime Machineによるバックアップを試みたところ,全く問題なく初回,その後の差分数回も成功しています.ということで,この組み合わせは2勝1敗となりました.

Macbookからだけだと,3TBは使い切れないので,冗長性を増やすという意味合いで,FWSからのバックアップは,テストにとどめずこのまま継続することにします.

ちなみに,このFWSはかなり古いMac miniで,Catalinaまではupgradeできましたが,Big Surへのupgradeボタンが表示されませんので,サポート打ち切りのようです.

2-coreのCore i7.