マイナーだけどおすすめなLinuxディストリビューション、openSUSE

2025-12-04

このブログを読むような方々は、それぞれ自分が好きなLinuxディストリビューションがあり思い思いのカスタマイズをして楽んでる人が多いと思います。  

UbuntuやDebian、Linusも使っているFedora、カスタマイズ性重視の人向けのArchやGentoo、Dockerのおかげでやたら有名になったAlpine Linuxなど世の中には多くのLinuxディストリビューション(以下、ディストリビューション)がありますが、openSUSEを使ってる人はほとんど見かけません。

openSUSEについて

openSUSEはドイツ生まれの、SUSEという企業とコミュニティの両方に支えられて運営されているディストリビューションです。RedHatで言うところのFedoraに相当する位置付けですが、SUSEが開発している商用のSUSE Linuxと同程度に成熟してるエディションもあります。

openSUSEには安定版のLeapと、ローリングリリース版のTumbleweed、そしてImmutableで実験的なMicroOS/Aeonといった多くのエディションがありますが、私はTumbleweedを愛用しています。

openSUSEの特殊な立ち位置

ローリングリリースというと不安定なイメージが付き物ですが、openSUSE Tumbleweedは個人的な経験からすると非常に安定しています。Slowrollというセキュリティアップデート以外を遅らせるオプションがあるので、不安であればそれを選ぶこともできます。

大半のディストリビューションは、Ubuntu, Fedoraのような開発者がシステムの構成(DEやブートローダーなど)を決めていて基本的にそれに従って使用するものか、ArchやGentooのようにパッケージマネージャー(やinit)以外はユーザーが比較的自由に構成を選べるものの大きく2つに分けられます。

前者はセットアップが楽ですが自由度が低い、後者は逆にセットアップは面倒極まりないが自由度は高いといったトレードオフでそれぞれの特色を実現している訳ですが、個人的にはopenSUSEはこのどちらにも属さない、ユニークなディストリビューションであると考えています。

openSUSEがカスタマイズ性と面倒なセットアップのバランスの中間に位置することを示すイラスト

セットアップは楽だが、選択肢もある

openSUSEのセットアップはArch Linuxなどと比較すれば劣るものの、Fedoraや一般的なディストリビューションと比べ選べる項目が多いです。 インストール時に、btrfsとそのスナップショット機能を利用するか、ネットワークの管理にNetworkManagerを利用するかWickedを利用するか、ブートローダーではsystemd-boot, GRUB2, GRUB2-BLSのどれを使うか選択できる上に、AppArmorを使用するかSELinuxを使用するかも選ぶことができます。
ディスク暗号化も従来のパスワードのみのLUKSを使用するか、systemd-cryptenrollとTPMを使った自動復号化を設定するか、YubikeyのようなFIDO2デバイスを使って復号化するか選択することができます。

インストールするパッケージのセットも比較的自由に選択できます。インストール中に、YaSTと呼ばれるGUIのコントロールパネルをインストールするか、GUIアプリケーションをどの程度インストールするかを選択することができ、デスクトップ環境もGnome, Plasma, Xfce, もしくは最小限のコンポーネントのみを含むIceWMから好きなものを選ぶことができます。 もちろん、GUIを使用しないでサーバーを構築することもできます。

他にもセキュアブートを使用するか、Trusted Boot(UEFIセキュアブートではない)なる謎の機能を使用するか、ファイアウォールを有効にするか、SELinuxをEnforceモードにするか、sshdを稼働させるか、sshのポートを開けるか、SpectreなどCPUへのサイドチャネル攻撃への耐性とパフォーマンスのどちらを取るか、などかなり詳細にシステムの構成を設定できます。

重要なのはArch Linuxのように複雑なインストール手順無しで、GUIの操作でこれらのカスタマイズが簡潔する点です。

私は怠惰な人間なのでセットアップがなるべく簡単なディストリビューションを好みますが、openSUSEは簡単なセットアップで比較的多くの選択肢を用意してくれます。

マイナーだけどマイナーじゃない使いやすさ

openSUSEはzypperという独自のパッケージマネージャーを使いますが、内部的にはrpmを使用しており、依存関係が問題にならない限り、Google Chrome公式リポジトリなど一般にRHEL系で使われるようなrpm向けリポジトリをそのまま使うことができます。
またAppArmorでセットアップした場合はsnapもインストールして使うことができ、SELinuxを使う場合でもFlatpakが利用できます。(SELinuxのセットアップでもsnap自体をインストールすることはできますが、snapのサンドボックスはAppArmorに依存していてこれが一切動作しなくなるので推奨されません。)

btrfsのスナップショットとsnapper、ブートローダーの統合

openSUSEは基本的に好きなファイルシステムにインストールできますが、デフォルトではスナップショットを有効にしたbtrfsが選択されています。
このbtrfsのスナップショットをなるべく簡単に扱えるように、openSUSEのセットアップはsnapperというラッパーとブートローダーの統合を自動的に設定してくれます。

zypperなどシステムに重大な変更を加えるコマンドを実行すると自動的にbtrfsのスナップショットが作成され、ブートローダーのエントリーに一定期間追加されます。このため万一ローリングリリースで問題が発生しても、簡単にアップデート前の状態にシステムを復元してロールバックすることが可能です。
Windowsの役に立たない復元ポイントよりずっと使えます。

またopenSUSEは自動的にサブボリュームを設定するため、当然ながらロールバックの対象にホームディレクトリは含まれません。そのためもしシステムをロールバックする羽目になっても、作業の進捗が失われることを心配する必要もありません。

面倒なセットアップを簡単にしてくれるsdbootutil

openSUSEには、systemd-bootやGRUB2 BLSのラッパーであるsdbootutilというコマンドも付属しています。
これを使うとTPMやFIDO2ベースのディスク暗号化を簡単に実現することができます。 PCRの署名の設定、PINの設定、リカバリーキーの生成、マウントオプションの管理などを自動で行ってくれます。 不適切な設定をするとシステムが危険な状態になるリスクがある設定なので、これは非常に便利です。
zypperコマンドでシステムのアップデートをした場合も自動でフックが実行され、自動的に新しいカーネルでも正常に復号化が行われるよう設定してくれます。

おすすめセットアップ

個人的におすすめのセットアップはこんな感じです。

  • エディションはTumbleweed
  • Gnomeデスクトップ
    • 好みの問題なのでPlasmaでも全く問題なし
  • GUIツールは必要最低限に
    • YaSTは入れてもいいかも
    • 必要になったら入れる運用がおすすめ
  • snapを使う予定があるならAppArmor、そうじゃないならSELinux
  • ブートローダーはsystemd-boot
  • ディスク暗号化をTPM2 + PIN or FIDO2で復号化するように設定
  • ホームディレクトリはsystemd-homedで暗号化
    • ドライブ全体にLUKSを使ってるからhomedだとfscryptを使いたいところだけど、btrfsがfscryptに対応していない問題がある
  • 環境を汚したくない場合、ある程度のサンドボックスが欲しい場合はFlatpakからGUIアプリを入れる
    • Flatpakのサンドボックスは割と緩くて安全装置に過ぎないので過信するべきではない
    • ブラウザはFlatpakで入れるとUser Namespaceが制限される関係上サンドボックスが弱体化するので、普通に入れたほうがいい

まとめ

以上、布教なのか自分語りなのかよく分からない記事になってしまいましたが個人的なopenSUSEの宣伝でした。
欠点として挙げられるのはマイナーであるが故に、VPSやクラウドで選択肢に入ることが少ない点でしょうか…

実際、私もサーバーは Ubuntu Server で統一してしまってますが、機会があったらサーバーにもopenSUSEを入れてみたいところです。

All posts