2018年5月28日月曜日

Linuxディストリビューションを選ぶ時に考えるべきこと

おすすめLinuxディストリビューションの記事がバズっていたのですが、的を得ていない気がしたので初学者用に選び方をまとめてみました。 考えるべき事と、考える手順は以下だけで良いはず。

1. パッケージシステムを選ぶ

LinuxディストリビューションはおおまかにDebian系、RHEL系、BSD系、Slackware系、その他の5つに分類できます。 この一番大きな差はアプリを手軽にインストールするために利用するパッケージシステムの違いで、以下のようになっている。
  • Debian系: apt
  • RHEL系: yum, dnf
  • BSD系: port
  • Slackware系: pkgtool, slackpkg, sbopkg

パッケージシステムの違いで重要な事はライブラリの依存解決をしてくれるかどうか。 してくれないとどうなるかというと、バージョンの違うライブラリをうっかりインストールした時に、アプリが動かなくなる事がある。 依存解決してくれるパッケージシステムは極力エラーが起きないように裏で頑張ってくれるのでメンテが簡単。
上記の中でSlackware系だけは依存解決をしてくれないので、少しハードル高い。上には書いていないけどGentooなども同様です。 もっともSlackware系やGentooを使う人は必要最小限のアプリしか入れないサーバ用途などが多く、 割り切って使っている人が多いだろうと思われる。

依存解決さえしてくれればあとはパッケージ名の違いやコマンドの違い、それらによって生じる設定やディレクトリ構造の違いくらいで、好みの面が大きい。 ただユーザ数が多いほどバグ報告量やネットの情報量が大きくなるので、ユーザ数が多いシステムを私はおすすめしたい。 つまり2018年現在ではapt > yum,dnf >>> port > その他の順序です。


2. メジャーリリース速度とそのサポート期間を選ぶ

次に◯◯系の中でどのディストリビューションを選ぶかという話になりますが、ここで重要になるのはメジャーリリース速度とそのサポート期間です。 メジャーリリースはWindowsで言えば7→10、2000→XPなどのバージョンアップの事で、通常リリースよりサポート期間が長いのが特徴です。 速度が早いほど新しい機能をすぐ使えるようになる反面、依存解決のバグを踏むリスクが増える。 特にディストリビューションの多いRHEL系とDebian系を再分類すると以下のようになる。

メジャーリリース速度:
Fedora (半年) >>> Debian系 (2年) > CentOS (3年)
最長サポート期間:
CentOS (10年) > Debian系 = RedHat (5年) > Fedora (1年)

Fedoraの場合、通常リリース=メジャーリリースなので凄い速度でバージョンアップします。 Fedora以上の更新速度は地雷を踏む可能性がかなり高い。 最近は使ってないのでわからないですが、私は過去にFedoraで地獄を見た事があるので軽くトラウマがある。
Debian系のメジャーリリース速度で依存性が壊れる事はまず起きない。 メジャーでないアプリがたまに動かなくなる事はあるが特に困らないレベルだし、 壊れてもすぐにアップデートされる。 開発者やライトユーザはこれくらいの速度のものを選ぶのが自然だと思う。


3. 通常リリース速度とそのサポート期間を選ぶ

Debian系のディストリビューションはどれもメジャーリリースの扱いはどれも一緒ですが、通常リリースの扱いが違います。 通常リリースというのはメジャーリリースの間で行われるアップデートの事です。 メジャーリリースが4.0→5.0なら、通常リリースは4.0→4.1のようなもの。

通常リリース速度:
Debian (随時だが概ね2-3ヶ月単位) > Ubuntu = Linux Mint (半年)
最長サポート期間:
Debian, Linux Mint (5年: 次のメジャーリリースまで) > Ubuntu (1年)

細かくアップデートしたければDebianやLinux Mintのほうが良く、大きな更新単位で済ませたければUbuntuとなる。 Ubuntuは通常アップデートのサポートが1年で切れるので、DebianやLinux Mintのほうが手厚いサポートをしていると思います。 ただこの点はそれほどネガティブ視はされていないような気もしていて、 どちらかと言えば以降で述べるデスクトップシステムだったり搭載アプリのほうがデスクトップユーザには大きいみたい。 もっともここまでに書いたようなメジャーなディストリビューションではない場合、 そもそも通常リリースはきちんと行われてメンテされているか、メンテの継続性に問題はないかという事についてはきちんと考えるべきです。


4. カーネルのバージョン

すべてのLinuxはLinuxカーネルを基盤に作られています。 このバージョンの高さは最新ハードへのドライバの対応状況をほぼそのまま反映するので重要です。 ドライバが対応していないとどうしようもないものとしてはプリンタやUSB、Bluetooth、ビデオドライバなどでしょうか。 現時点での最新のカーネルバージョンの採用状況を見てみましょう。

ディストリビューションリリース日カーネルのバージョン
Fedora 282018/05/014.16
CentOS 7.52018/05/103.10.0-862
Debian 9.02017/06/174.9
Ubuntu 18.042018/04/234.15
Linux Mint 18.32017/12/154.4 (Ubuntuに依存)

CentOSはカーネルのバージョンが極めて低く新しいハードへの対応が貧弱なので、普通はサーバ用途などにしか使わないほうが賢明でしょう。 サーバ用途もかなり限定されると私は思っているけど。 FedoraやDebian、Ubuntu、Linux Mintのように最新のカーネルに追随していればデスクトップ用途にも耐えると考えられます。

ただLinuxカーネルのバージョンも完璧ではなく、PCの世界は今でもWindowsが中心に回っているのが現状です。 特に新しいノートPCはWindows向けにしか対応していない特殊なチップや、OS/ドライバレベルでの機能がたくさんあります。 こういった機能は当然使えません。 最近進化の著しい省電力化機能やビデオドライバなどには特に注意したほうが良いでしょう。 このような新しい機能が使いたい場合は事前に調査するか、利用できない事も想定すべきです。 カーネルのバージョンの違いによる機能差については良いまとめがあったので、これを参考にすると良いかも。


5. デスクトップシステムを選ぶ

ここまで決まった後に最後に選ぶのがデスクトップシステム。 例えばUbuntu系のKubuntu、Xubuntu、Lubuntuというディストリビューションは、 Ubuntuのシステム上でKDE、XFCE、LXDEというデスクトップシステムを使ってカスタム化しているだけです。

デスクトップシステムはかなり選択肢が多いので、ここで悩む人は多いかも知れない。 他にもCentOSやLinux MintではLXDEを公式サポートしていなかったりするので、このような対応状況はディストリビューション選びにも影響が出てきます。 そんなこんなで私もデスクトップシステムの比較についてはいくつか記事を書いている。


細かい事を言えばもっと色々な違いがあるとは思いますが、普通はこれくらい見ておけば事足りるんじゃないかと思います。 最後に私がLubuntuを使うようになった経緯でも書いてみましょう。
  1. Fedoraのyumが軽くトラウマになった事でDebian系のaptが天使に見えた
  2. CentOSのメンテが止まりそうな時代があってUbuntuに引っ越した
  3. 気付いたらUbuntuの隙がなくなってきて馴染んでしまった
  4. LXDEは今でもCentOSやLinux Mintの公式サポートがない
  5. でもDebianなら動くよなあ…次回はDebianに戻してみようかなあ…
こんな感じです。今となっては4以前は気にする必要はないかもですが、同じような人は結構居そう。

0 件のコメント: