Arch Linux は「インストールが難しい」「アップデートするたびに何かが壊れる」などと言われる一方、「最高のディストロ」と豪語するユーザーもいます。本記事では私の”曇りなき眼”で見定めたことや入門者が事前に知っておくべきことを載せていきたいと思います。
インストールは比較的簡単
最近の Arch Linux は archinstall というインストールスクリプトが用意されており、コマンドを打つことなく手軽にインストールできます。
ですが、一度はいちからシステムのインストールを体験した方が良いでしょう。Arch Linux のインストールは Linux を学びたい方には良い経験になります。Linux システムがどんなプログラムで構成されているか、ディレクトリ構造や設定方法などインストールしながら大まかに把握することができます。他のディストリビューションにも応用できる知識も身につきます。
Arch Linuxインストールチャレンジを完走できれば大きな自信になります。真っ暗な部屋に閉じ込められるようなものなので最初はパニクるかもしれませんがすぐに慣れます。筆者もこれで CUI恐怖症を克服できました。
インストールの手順は「Arch Wiki」に事細かに記されています。これがあなたのバイブルです。義務教育修了程度の読解力と自作PCを組める程度の知識さえあればスムーズにインストールできます。最初は手順を間違えることもありますし、仮想マシン上で試走することをおすすめいたします。
デスクトップ環境をインストールする場合は、NetworkManager のインストールを忘れないようにしましょう。玄人の方は「ディスクイメージから再びブートしてドライブをマウントして arch-chroot にログインし直せばええやん」と思うかもしれませんが、最初は思いつかないものです。
インストール後は「一般的な推奨事項」のページに従って必要な機能を追加していくだけです。
必ずしも Arch Wiki は正しくない
先ほど Arch Wiki をバイブルとまで言いました。実際、有用な情報が非常に多く他のディストリビューションを使っている方も参考にしているのをよく見かけます。
ですが聖書同様必ずしも正しいとは限りません。
例えば日本語入力環境に必須のフレームワーク「Fcitx」、この設定を Wiki 通りにやっても動きませんでした。 Fcitx の公式ページを見て設定したら問題なく動きました。本記事をご覧になっている頃には Wiki が修正されているかもしれませんが、 Arch Wiki の記載は必ずしも最新かつ正しいとは限らないので Arch Linuxインストールガイド以外はあくまで参考としましょう。 Arch Wiki を見て解決できなかったら本家から情報を得たり、調べるという習慣も大事になってきます。
また日本語版と本家英語版とは記載がだいぶ違う場合があるので英語が読解できる方は両方見比べることをおすすめします。
しかし、Wiki を書いてくれている方々や日本語訳してくれている方々もボランティアなので敬意を払いましょう。また間違いを見つけたら自ら貢献するのがベストです。
サラブレッドのようなパッケージシステム
Arch Linux 最大の特徴は毛並みが素直なサラブレッドのようなパッケージシステムです。ここまで読んで頂いた方ならば大体察しはついていると思いますが、Arch のパッケージマネージャー「Pacman」はほぼアプリのインストールのみしか行いません。なのでシンプルかつ高速、余計なディレクトリや設定ファイルを生成しないのでシステムをクリーンかつシンプルに保つことができます。
逆に言えばその後の環境設定を自分でやらないといけないこともあり、アプリによっては一筋縄ではいきません。例えば、Fedora は Virt-Manager をコマンド一つで systemd の設定から Libvirt の設定、グループ登録まですべて自動的に行ってくれますが、 Arch はすべて自分でやる必要があります。
Arch Wiki を参照すれば解決することも多いのですが、内容が不十分だった場合は調べるのに数時間潰れることもあります。systemd のおかげでだいぶ楽にはなりましたが、最初は「え?これも自分で設定しなきゃいけないの……?」って戸惑うと思います。
Archユーザー・リポジトリ(AUR)を知ろう
Arch User Repository (以降AUR)はユーザーコミュニティが運営しているリポジトリです。人気の新しいアプリケーションを把握すると共に公式コミュニティリポジトリに円滑に組み込まれることを目標としたシステムです。
AUR はもっぱら AURヘルパー と呼ばれるツールで管理します。他のディストロのようにいちいち鍵を手動で追加する必要もなく、通常のリポジトリのように扱うことができ、自由度もだいぶ高い(ユルイ)です。 コマンド一発でバイナリファイルだけでなく GitHub や野良からソースコードをダウンロードしてパッケージをビルドすることができます。 このような方式のため、ライセンスの制約を回避した面白いカスタムビルドがたくさんあります。
どんな方でも AUR にパッケージを登録することができます。コミュニティに認められた信頼されたユーザら(TU)が眼を光らせていますが、悪意のあるコードが埋め込まれるリスクはそこそこあり、実際に過去にユーザの情報を盗み取るコードが混入した事件も発生しました。
また AUR もユーザーが管理しているので更新がいつになるかわからず、スクリプトが古くなってビルドできなくなるという事態が割と頻繁に起こります。この際、自分で設定ファイル (PKGBULD) をダウンロードして修正することができますが、一度もアプリ開発を行ったことない方にとってはハードルが高い作業になります。
維持管理が少々面倒
Arch Linux はローリングリリース方式であり、常に最新のソフトウェアバージョンを追いかけています。不安定なバージョンのアプリケーションでもそのままメインリポジトリにぶち込んできます。
このためシステムをアップデートした際に設定が壊れたりアプリケーションが立ち上がらなくなることがたまにあります。特にアプリがメジャーアップデートしたときに問題が多く発生します。単純に Arch のせいではない場合も多いのですが注意が必要です。
こういった問題はダウングレードするしか解決策はないことが多く、調べるだけでも骨折り損だったりします。なのでダウングレードの方法やパッケージ管理の方法をしっかりと把握しておく必要があります。筆者の環境では割と雑にアップデートしてもあまり問題は起きていないですが、お使いの環境によってはあっちが壊れたりこっちが直ったりと一般的なディストリビューションよりもアップデートを慎重に行わなければいけなかったり、メンテが少々多めに必要です。
また、アップデートを怠りすぎるといざ実行した際に依存関係が壊れたりパッケージ同士が衝突を起こしてシステムが壊れることもあるので定期的に行わなければいけません。少なくとも1ヶ月に1回は必要だと思います。またアップデートしすぎるのも協力してくれているサーバーに負担をかけるので週1、2回くらいが最適だと筆者は考えています。
最後にアップデートを実行する前に必ず公式ホームページを覗いて重大なニュースが入っていないかどうか調べましょう。日本語サイトはほとんど更新されていないので英語公式サイトを訪問しましょう。
アップデート後は必ずログを見て設定の変更が必要かどうか確認を行ってください。
デスクトップ環境がたまに崩壊する
私の環境では年に1回くらいは GUI が正常に立ち上がらない致命的なエラーに遭遇しています。
数年前まではグラフィックドライバーが問題を引き起こすことが多かったのですが近年はめっきり減りました。AIビジネスで Linux は金になるとわかった NVIDIA が一部ソースコードをオープン化したことや AMD Radeon ドライバーもようやくまともになってきました。
では何が問題かと言うとデスクトップ環境やディスプレイサーバーに起因するものが多いです。私が GNOME や KDE などの重量級デスクトップ環境を普段遣いしているせいもあると思います。メジャーアップデートが挟まると突然システムを巻き込んでフリーズした挙句、再起動して CUI を立ち上げようとしてもにっちもさっちもいかなくなるときがあります。Arch が何も設定を行わないまっさらなインストールを行うので古い設定が引き継がれると問題を起こしてしまうのではないかと勝手に推察しています。
XFCE やタイル型ウィンドウマネージャーみたいなド安定した環境ならば問題ないですが、常に最悪の場合に備えてブラウザーのブックマークや各種設定ファイルの定期的なバックアップは不可欠です。
良くも悪くもコミュニティが中心
Arch Linux はコミュニティによって運営されています。メインリポジトリはおよそ100名のボランティアによって管理されています。一人で何1000個もパッケージをメンテしている猛者もおり、一重に有志らの情熱によって支えられていると言っても良いです。
Arch プロジェクトは寄付金を募ってはいますが、そのほとんどがサーバー代などに充てがわれており、デベロッパーやメンテナーの手に渡っていません。一説によればドリトスを給料代わりに与えられていると言われています。なのでフルタイムで Arch Linux の開発に携わっている開発者・メンテナーはほとんどいません。
まあ実際には個々の開発者が Github スポンサーなどを通じて資金援助を受けたりしていますが、別のプロジェクトに参加する傍ら Arch プロジェクトに参加している人が多いようです。
それぞれ別の生業があり、パッケージのリリーススケジュールは信頼された人に任されています。このため、たった一人のメンテナーの身になにかが起こると重要なパッケージが更新されないという事態も稀に起こります。
2022年初頭から中旬にかけて約半年間 libc 関連のパッケージが更新されなくなってしまいました。 libc はパッケージをビルドする際に使われる最も重要なライブラリと言っても過言ではありません。結局半年後には何事もなかったように更新が再開され出しましたが、このパッケージ群の更新がもう少し長く停滞してしまっていれば徐々に依存関係にあるパッケージやAURも崩壊していった可能性がありました。
一方でコミュニティが運営を行っていることで軸がブレないというメリットもあります。他の多くの Linuxディストリビューションは企業によって運営されています。親会社やリーダーの方針転換で急激な変化が起こることがあります。最近では IBM が傘下 Red hat の大幅人員削減に行ったためかFedoraが多くのパッケージを Flatpak に移行するという方針を打ち出しました。
Arch Linux プロジェクトの開発陣はボランティアだけで構成されているのでこういった影響を受けにくく、首尾一貫できるのです。
金を出せばより管理は安定するかもしれないけど、金が絡めば失われるものもあるということでコミュニティ中心の運営は良さも悪さもあると思います。
おわり
コメント