新しい年を迎えた。人混みを避けたいが、都心に住んでいるとどこへ行っても人間が大集合しており、結果的に行く場所がない。地元に引きこもっている間に、メインのマシンとして利用している 27-inch iMac Retina 5K (2019) と 16-inch MacBook Pro (2019) について、さすがにそろそろ最新のバージョンの OS にアップグレードしておこうと考え、これまで後回しにしていた macOS アップグレードに手を付けることを決めた。
まず最初に実施するべきはバックアップであるが、データを原則としてローカルに保持せず、サーバーまたはクラウドにバージョン管理して保持する方針であるため、バックアップするべきものは特になかった。次にアップグレードを実行、公式サイトからインストーラーがダウンロードされ、ダウンロードとインストールにかかった時間は合計で約 2 時間であった。基本的に放置しておくだけで、再起動が繰り返され、特に問題なくスムーズにアップグレードは完了した。
アップグレード後、まず確認したのはキーボード操作をカスタマイズしている Karabiner-Elements の動作である。過去には macOS をアップグレードすると新環境でキーボードのカスタマイズが動作しないという問題に直面し苦労することが通例であったが、最近の Karabiner-Elements は自動更新により常に最新版となっているため、とっくに Sequoia に対応したバージョンとなっており、問題なく動作し特に調整を加える必要もなかった。キーボードという日常的に使用しているデバイスがそのまま動作するのは非常に重要なポイントである。
一方で調整が必要な部分もあった。まず /etc/sudoers ファイルが初期状態に戻っていることが判明した。これによりカスタマイズした設定が失われていたが、あらかじめ控えていた設定ファイルを参考に修正することで問題なく復旧することができた。 macOS のアップグレード後に /etc/sudoers のようなファイルがリセットされるのは、システムのセキュリティ強化の一環で、意図された挙動である可能性が高い。 macOS はシステムファイルの整合性を保つためにアップグレード時に一部を初期化することがあり、これによってカスタマイズ設定が失われたと考えられる。
システムメンテナンスに使用している OnyX については、 macOS の各バージョンごとそれぞれの対応版が必要である。そこで最新版を再インストールした後、キャッシュやログのクリーニングを実施した。これにより、システムが最適化され、きれいな状態を保つことができた。また Homebrew については既定で用意されているアップグレードコマンドにて最新化をおこなった。
今回のアップグレードを機に、セキュリティ設定も見直した。まず Debian サーバーで使用している hosts.allow や hosts.deny と同様の設定を試みたが macOS ではこれらが廃止されていることを確認した。 ChatGPT を活用し macOS のネットワーク全体を制御するファイル /etc/pf.conf を編集する案も検討したが、メリットとデメリットを比較し、それぞれの設定方法や適用例を確認した結果 sshd_config が要件に適合するとの結論に至った。 sshd_config は SSH に特化した設定を直接管理できるため、他のネットワークフィルタリングやファイアウォールの設定と分離できシンプルで分かりやすくなる。また sshd_config の方が適切なオプションを提供する。特に、特定ユーザーやホストごとに詳細な制御が可能である。変更後のテストや運用も容易である。こうした理由から、シンプルかつ効率的な設定を求め sshd_config を用いる方法を選択した。
こうして iMac と MacBook Pro を無事に macOS Sequoia へとアップグレードすることができた。大きなトラブルもなく、日常的に使用しているアプリや設定もそのまま機能していることを確認できた。一方で自分にとって結局なにかメリットがあったかと言えば、残念ながら特にない。