愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

ゆとれる貴方のためのArch Linuxのススメ

マクラ

coolなディストリビューションであるArch Linuxが、有名じゃなさすぎてかわいそうなので、おすすめする記事。

あ、多分ここで挙げる「Arch Linuxの良い所」のうち多くはGentooでも実現できると思うんですが、僕はzentooというハンドルネームを使っていながらGentooはまだ試したことがないというゆとりなので、「それGentooで(ry」みたいなツッコミされてもちょっと…という感じです。


で、本題です。


Arch Linux http://www.archlinux.org/
Wikipedia (ja) http://ja.wikipedia.org/wiki/Arch_Linux


上のページにも書いてある通り、Arch Linuxはminimalなディストリビューションとして設計されています。当然始めからプリインストールされているお仕着せのデスクトップ環境やウィンドウマネージャは無く、GUI環境についてはXのセットアップから始める必要があります。

すごい大雑把に、かつ誤解を恐れず表現すると、「ソースから色々構築する必要がなく、かつパッケージマネージャからバイナリを落とせるGentoo」といったところでしょうか。

以下、Arch Linuxをオヌヌメする理由の列挙。ちなみにあくまで「クライアントとして」Linuxを使う場合の話です。

自分の思い通りに環境を作れる

Linuxのいいところ、っていうのは究極、何でも自分の思う通りにできる所だと思っています。

Arch Linuxでは最小構成からスタートするので、余計なものがインストールされていない状態から自分の好きなデスクトップ環境やウィンドウマネージャ、お気に入りのエディタやシェルなどのツールを選んで「自分だけの環境」をバイナリパッケージから楽に構築することができます。また、BSD-styleのinitフレームワークを採用しているので、OS全体に関する設定が散らばらず管理が楽です。(個人的には、クライアントOSにSysV-styleのinitのような複雑さは必要ないと思っています)

パッケージマネージャが使いやすい

すんごい極端なことを言ってしまうと、クライアントとしてLinuxディストリビューションを使う際の「使いやすさ」は、パッケージ管理システムの使いやすさに尽きます。
言い方を変えると、パッケージ管理システムが使いにくい、あるいは公式リポジトリに存在しているパッケージの種類が少ないのですぐに外部リポジトリに頼る羽目になる、ようなディストリビューションはクライアントには向いてないです。

Arch Linuxの採用しているpacmanはオプションがシンプルかつ直感的で、また公式リポジトリに含まれるパッケージも多様かつフレッシュです(後述)。またyaourtなどのラッパーを使うことで、より便利なパッケージ検索機能、およびAUR(ユーザレポジトリ)からのインストールなどのメリットを享受できます。

パッケージが常にフレッシュである

IT系男子の端くれである僕もご多分に漏れず新しいもの好きなのですが、Archのパッケージのフレッシュさは異常です。カーネルなどのコア部分もpacmanからpacman -Syuで更新できるのですが、僕が現在家で使っているArchのカーネルのバージョンは2.6.37-6です。

別にそこまで新しくある必要はないのですが、公式レポジトリから提供されているカーネルが新しいと気兼ねなくnouveauやSSDのTRIMコマンドなど、新しめのLinuxカーネルでのみ提供されている機能を使うことができます。この無駄な先取り感、いいですね。

公式が古くともユーザレポジトリなどから新しいバージョンのソフトウェアを入れる、などは他のディストリビューションでも可能ですが、やはりソフトウェアのインストールは可能な限り一つのパッケージ管理システムの上で完結させたいものです。

「そういう新しいパッケージをどんどん入れてくのって、常にunstable versionを使ってるようなもんだから不安定なんじゃない?」と思う人もいるでしょうが、今のところパッケージの新しさのためにシステムが不安定になったことはほとんどありません。一度、libevのバージョンアップに伴ってウィンドウマネージャが立ち上がらなくなったことぐらいでしょうか。(ゆとりのための、と題していますがX Window Systemが立ち上がっていないと何もできないような人はここでは対象外としています)

ローリング・リリース

上記の「パッケージが常にフレッシュである」というのは、Archがローリング・リリースを採用している結果でもあります。ローリング・リリースとは、要は「メジャーバージョンやOS全体のバージョンアップが基本的には存在せず、各パッケージが順次更新される」ということです。

個人的には、OSのメジャーバージョンアップにはユーザ側のメリットはあまりないと考えています。「○○の次期バージョンは××が来る!」なんていうのは商業的、宣伝的には意味があり、コミュニティも盛り上がるでしょうが、エンドユーザにとっての実質的な意味は今まで据え置かれていたソフトウェアの大量のアップグレードでしかありません。

一度に大量のソフトウェアのアップグレードを行うと、何か変なことがあった場合の原因の切り分けが困難になります。繰り返しますがメジャーアップグレード方式には提供側の商業的、宣伝的メリットはあってもいちエンドユーザとしてのメリットはせいぜい「気分が盛り上がる」くらいしかないのです。それよりは、何かがコケた場合の原因追求のしやすさという点からローリング・リリースを採用しているディストリビューションの方がおすすめです。

AURを含めたパッケージの多様性

先にも述べましたがyaourtなどのツールを使うと、公式レポジトリ以外にもAURというユーザレポジトリからのソフトウェアのインストールが行えます。ちなみに、AURからのインストールはバイナリパッケージではなく、特定のフォーマットで記述されたファイルに従って自動的なビルドが行われます。

公式のレポジトリでも中々ボリュームがあるのですが、AURではさらに多彩なパッケージをみつけられます。例えば、yaourt firefox でパッケージの検索を行うと、fennec-bin, firefox-beta-bin, firefox-debug, firefox-hg, firefox-nightly, firefox-pgo, firefox-pgo-minefield, icecat, swiftfox, swiftweaselなど開発版を始めとして様々な種類のFirefoxが見つかります。また、なぜかpentadactyl, vimperatorなどもパッケージ化されています。変態もいいところですね。AURにはなんでもあるよ!

Web周りの開発をしている人にとって各ブラウザの最新版、開発版の動向は注目の的でしょうが、Archでは自分でわざわざ各ベンダのサイトからソースを落としてきてビルドすることなく、最新版や開発版のソフトウェアを試すことができます。(今試したところAURのChromeにはgoogle-chrome, google-chrome-beta, google-chrome-devがあり、それらのバージョンはそれぞれ9.0.597.98-1, 10.0.648.82-1, 11.0.672.2-1です。)

Wikiの充実

Arch Linuxのwikiは、情報の充実っぷりが半端ないです。他のディストリビューションを使っている人でも、調べ物をしていて結局Archのwikiに辿り着いた、っていうことは一回くらいあるはず。かく言う僕も、Archを使う前からawesomeのwiki (https://wiki.archlinux.org/index.php/Awesome3) にはかなりお世話になりました。

デフォルトで入っているものが少なく、Xも自分で入れると聞いて怖気を振るった人もいるかもしれませんが、基本的にwiki or そのリンク先を見れば何でも載っているのでセットアップや設定に関して多少分からないことがあっても何とかなります。

まとめ

というわけで、色々うだうだ書いてきたのですが、「デスクトップ環境とかWMとか自分の好きなやつ使いたい。他はいらね」「○○っていうディストリビューション使ってるけど、もっと一から環境構築したい。Linuxのこともっと知りたい」「OSのサイズは小さい方がいいに決まってる」「とにかく新しいものを楽に使いたい」みたいな人にはマジでArch Linuxはおすすめですよ。UbuntuとかDebianとかCentOSとかGentooとかに比べたら全然知られてないけど、使ってみると非常に手に馴染む&管理しやすいディストリビューションなので、この記事を読んでちょっとでも興味が湧いた人は試してみて下さい。