Featured image of post Gentoo Linuxを使ってみて感じたこと

Gentoo Linuxを使ってみて感じたこと

はじめに

先日,多分数か月ぶりにArch Linuxを起動したら,systemdが完全に破壊されてました.xkeysnail(キーリマッパ)はおろかディスプレイマネージャーもネットワークマネージャーも手動で起動する羽目になりました.一個一個デーモンを手動で起動する気にもなれず,せっかくなので,前から気になってたGentoo Linuxを入れてみようと思って入れちゃいました.

今回はGentoo Linuxのインストールして,実際に使ってみて感じたことを書いていこうと思います.

Gentoo Linuxとは

Gentoo LinuxはArch Linuxと同じローリングリリースモデルのLinuxディストリビューションです.Gentoo LinuxとArch Linuxはよく比較されるらしいです.

Gentoo LinuxとArch Linuxなど他のLinuxディストリビューションとの大きな違いは,パッケージのインストールの方法だと思います.通常,パッケージは既にビルドされたものをダウンロードしてインストールしますが,Gentoo Linuxではソースコードをダウンロードし,それをローカルでビルドすることでインストールします.そのため,使用しているマシンに最適化した状態でパッケージをビルドすることが可能になるので,ソフトウェアのパフォーマンスの向上が期待できます.一方で,ローカルでパッケージをビルドする故,ものによって(例えば,GCCやNode.jsなど)はインストールに非常に長い時間を要します.

他にも,Gentoo Linuxには特徴的な点がいくつかあります.個人的に大きな特徴だと思っているのが,USEフラグとマスクという概念です.

USEフラグ

これもGentooの特徴点とよく言われます.これは簡単に言うと,明示的に「使う機能」と「使わない機能」をパッケージマネージャーであるPortageに教えるために設定するものです.例えば,CJK言語圏の機能がほしいときはUSEフラグにcjkを追加したり,逆に,デスクトップPCで有線でネットにつなぐからwifiの機能は要らないというときには-wifiと初めに"-"(ハイフン)を入れてUSEフラグにセットすることで,その機能を無効化したりできます.また,Portageも「入れようとしているパッケージこの機能が要るから,このUSEフラグをセットして」とユーザに求めることもあります.なので,USEフラグ周りは面倒だが,苦労することは無いと思います.

KDE Plasmaをインストールするために設定したUSEフラグ

マスク

これは最新版のパッケージや全く新しいパッケージによくあることで,Gentooなどのリポジトリ側が「未だ不安定の可能性がある」と判断したパッケージに対して行われる処理になります.ユーザはとある操作を行わない限り,この処理が行われたパッケージをインストールすることができません.そのため,ローリングリリースなのにもかかわらず,パッケージが最新でないことがよくあります.ここで,「とある操作」とはアンマスク(そのままだね)といい,こちらもPortageに対して,「どうしてもこのバージョンのパッケージを欲しいんだ!!!」と伝えるものです.アンマスクはGentoo Linux側はサポートしないので完全に自己責任です(Linuxを使う時点で覚悟の上ですね).逆に,ユーザ側で「このバージョンのパッケージは挙動が怪しいから」と言ってマスクすることもできます.

結局Gentoo Linuxって何?

まとめると,Gentoo Linuxはローリングリリースで,ローカルでパッケージをビルドする,細かい調整ができるLinuxディストリビューションであるといえます.細かい調整ができるので,非常に高い自由度を持つ一方で,扱いの難しさを感じさせられる部分でもあります.

感じたこと

長々と前置きを書いてしまいましたが,ここから本題の感じたことまとめです.

インストール作業はSSHに繋ぐべし

インストール自体はGentoo Wikiに従えば良いです.が,コマンドが一個一個長いし,コマンドの数も多いしでコピペした方が圧倒的にいいです.なので,rc-service sshd startをしてSSHに繋いでインストール作業を進めるべきだと感じました.tarballもscpでGentoo Linuxをインストールするマシンに送り付けちゃいましょう.

fstabの生成は楽をしろ!

Arch Linuxでは,fstabの生成にgenfstabを使いましょうとArchWikiに書いてありました.これ,実は楽させてもらえてたんだとGentoo Linuxを触って初めて知りました.Gentoo Wikiには「手打ちで頑張ってfstab作ってね!」と言わんばかりに書かれていました.しかし,そんなGentoo Linuxにも救いの手はありました.なんと,Arch LinuxのgenfstabGentooの公式リポジトリにあるんです!しかも,ArchWikiのgenfstabのマニュアルへの誘導付きで.ありがたく使わせていただきましょう.

Waylandはまだ早過ぎた…

WaylandはXorgの代替を目指したプロジェクトのようですが,日本語を扱う我々にはまだ早過ぎました…

というのも,主にElectron製ソフトで日本語入力がうまくできない問題があります.日本語を扱うのにこれは致命的です.他にもD-Busの連携がうまくできていないなどもありました.おとなしくXorgを使いましょう…

こんなのでswayを使うのを諦めることになったのは残念です…

シェルはzshを使おう

Arch LinuxみたいにBashスクリプトが起動時に実行されるみたいなことは無いですが,Gentoo側が用意した専用のシェル補完のパッケージが非常に便利です.特に,パッケージインストール時にパッケージ名を補完可能になるのは非常にありがたいです.zshのtab連打で補完する機能と合わせれば最強です.

パッケージ名を補完してくれている様子

Plasmaが軽い…!?

おそらくGentoo Linuxの「ローカルでパッケージをビルドする」ことの恩恵でしょう.KDE PlasmaはGNOMEとよく比較されるくらいの重量級デスクトップ環境ですが,メモリ使用量が1GB前後で収まっていることに驚きました.過去にFedoraでKDE Plasmaを使用していたことがあり,そのときは最低でも2~3GBはメモリを食っていました.そう考えると1GB前後で済んでるのは凄いです.

Plasmaが1GBも使っていない様子

しかし,難易度は高い…

前途の通り,非常に高いカスタマイズ性故,扱う難易度はアホみたいに高いです.ある程度Linuxの知識を積んだうえでGentoo Linuxに挑戦しましょう.筆者もUbuntu→Alter Linux→Arch Linux→Gentoo Linuxと歩んできています.Linux全体の共通項を知らないまま,Gentoo Linux特有の概念まで覚えきれるわけがないです.逆に,これらの全体像がうっすらとでも見えてくると,Gentoo Linuxの面白さを感じることができるでしょう.

総合評価は?

Gentoo Linuxは面倒くさいながらも軽快で自由度が高いので,かなり気に入っています.痒い所に手が届くことほどうれしいことはありません.唯一不満を述べるとすれば,公式リポジトリにfcitx5を追加してほしい,くらいですかね.上流ではすでにfcitx4の使用は非推奨のようなので,対応をお願いしたいところです.この点を除けば,Arch Linuxより楽しいLinuxであると筆者は感じます.

Built with Hugo
テーマ StackJimmy によって設計されています。