Arch Linuxを使ってみよう。
概要
Linuxと聞くとUbuntuやManjaroのようにCalamaresに従ってかんたんな操作だけでOSをインストールし、GUI環境や必要なツールなどはすぐに使える状態であると思っている方が多いかと思われます。あるいは、名前くらいは聞いたことがあり、よくわからないコマンドをポチポチしている俺TUE系な人が使うOSといった印象やLinuxチョットデキルと言う人など、様々な人がいることでしょう。この文章は冒頭のように、一度でも実機や仮想マシン問わずLinuxをインストールしたことがある人を対象に、私の経験を交えながらArch Linuxをただ布教していくといった内容です。
何がよいか
最初になぜArch Linuxなのか。なぜWindowsやMacOS、Ubuntuなどでは無いかを説明します。
開発において
私は少なからずアプリケーション開発のためにWindowsを利用していました。そこではIDEやエディタ、ターミナルなどの開発者向けのソフトを複数使用しています。特にターミナルにおいてPowerShellは単純明快(動詞-名詞
)なコマンド名が使用されていますが、それ故にコマンド自体が長くなってエイリアスを設定したり、そもそもGUIのほうが早く操作できるくらいです。PowerShellに限らず「GUIのほうが楽」というのは、Windowsを使っている際はごく自然な感想でした。しかし、Windows Subsystem for Linux(以下、WSL)を使用し始めたことで「CUIのほうが楽」という全く逆の感想を持つことになりました。WSLはWindows上で実行可能なLinuxの互換レイヤで、LinuxのコマンドをWindowsのファイルシステム上で直接実行することもできます。また、WSLを使い始めるとほぼ全ての開発をWSL内で済ますことができるため、Windowsである理由が薄れていきます。
# PowerShellでディレクトリを作成(エイリアスでない)
New-Item newdir -ItemType directory
# shでディレクトリを作成
mkdir newdir
Mac OSに関しては、言わずもがなCPUアーキテクチャに対応していないライブラリなどを使うことがあるため、積極的には使っていません。更にシステム整合性保護の仕組みによってもっと自由に使いたい身としては、使っていて楽しくないこともあまり使わない理由の一つです。
リソースにおいて
Windowsを使っていた頃はDockerやWSLに加えて、ChromeとかChromeなどを起動しているため、8GB程度では到底足りなかったり、低電力向けのIntel Core-i5では,バックグラウンドで実行される大量のジョブを処理しきれていませんでした。察しているかもしれませんがLinuxはリソース面でWindowsよりも圧倒的なアドバンテージがあります。例えばWindowsは起動直後少なくとも約3GB、多いと4GBを余裕で超えるメモリを使用しています。似た環境のArch Linuxの場合は約900MiBと1GiBを切っており、libvirtやdockerなどを含めても2GiBに到達することはあまりありませんでした。低スペックPCユーザの私にとってこの快適さは相当価値があると考えています。
エンジニアとして
WSLからArch Linuxへ移行した理由は当然私自身が自称エンジニアだからです。Linuxに関する知識のためインストールをしました。では、Ubuntuはどうでしょうか。たしかに簡単なコマンド操作やデーモンの設定といった基本的な知識を得ることは可能かと思われます。しかし、Linuxのブートプロセスやパーティションなど、少し踏み込んだ内容やRAMディスクイメージ、デスクトップ環境、いい感じのZshなど本当に必要か疑問になるような知識は、ただ使っているだけでは得られないものです。対して、Arch Linuxはインストールの時点からGUIなどは無く、インストールを遂行するためにはどのような設定が必要であり、必要なコマンドの内容を理解していなければ先に進むことすらできません。
進め方
とはいっても、Calamaresのようなインストーラが無いどころか、ISOを起動した直後に黒い画面に謎の文字列が表示されるというのはやや敷居が高く挫折しやすいのも事実です。さらに、何も考えずに公式リポジトリ、AURだけでなく様々なサイトから色々な場所にプログラムをインストールした結果ホームディレクトリをとっ散らかしたり、ちょっとした不注意とコマンド一つでカーネルパニックを起こしてしまったり、画面がない状態のSSHサーバからロックアウトされ、脳内でエミュレートしつつ設定を変更したりと色々やらかしてしまう人もいることでしょう。
このような状況で、非常に強力な味方になるWebサイトがArchWikiです。このサイトではインストールの手順から分散コンピューティングプロジェクトの参加方法といったニッチな内容まで掲載されており、Arch Linuxに限らず、Linuxに関してほとんどの人が直面する問題であればすぐに解決の糸口が見つかるかと思います。
醍醐味
Arch Linuxは他のディストリビューションとは異なり、最低限の環境しか用意されません。vimなどという贅沢なものはありません。しかし、逆に必要なものは自分でインストールしなければいけないため、何を入れて、何を入れていないかを簡単に把握することができます。デーモンも同様です。また、linuxやlinux-ltsのようにどのカーネルを使うか、あるいは両方使うかも自由です。さらに、デスクトップ環境をMac風もしくはマテリアルデザインにしたり、強そうなシェルやbpytopを使ったりとUnix哲学に沿った様々な調整方法があります。細部まで自分好みにすることができるのもArch Linuxを選ぶ理由のひとつです。
まとめ
わざわざArch Linuxを使用することに直接的なメリットはあったりなかったりといったところですが、低レイヤやインフラ領域では間違いなく役に立つ知識です。自分好みの自由でいい感じの環境へ育て上げるArch Linux盆栽の沼へ入りましょう。
Arch is the best
Discussion