DevuanはDebianの偽物ではない。
Devuanは2014年にDebianから正式にフォークした、独自のLinuxディストリビューションだ。Debianからソースコードを継承し、systemdを採用しないという主旨の下に開発が進められている。
DebianとDevuanには密接な関係があり、DevuanのパッケージのほとんどはDebianのものから変更されていない。ただし、systemdに依存するパッケージについてはフォークされ、別バージョンが用意されている。その一方で、DevuanはDebianのアップストリームにもバグフィックスやパッチを送っている。
DevuanはDebianのフォークであってDebianの偽物ではなく、systemdの採用をめぐる意見の相違からDebianから分岐した別のディストリビューションなのだ。
Devuanは systemd の代替手段をユーザーに提供する
DevuanはDebianから分かれたものなのだが、何が問題だったのだろうか。
昔からのLinuxユーザーの中には、Debianが投票や意思決定において無政府主義者の集まりと見なされていた時代を覚えている人もいるだろう。かつてはDebianがFree Software Foundation(フリーソフトウェア財団)の決定に対して、ディストリビューション内で唯一反対する立場をとることさえあった。
しかしながら、長い年月を経てDebianは独自の階層構造を発展させ、現在ではアクティブなLinuxディストリビューションの約3分の2のソースとなっている。 今日、初期のDebianの精神を最も色濃く残しているDebianの派生ディストリビューションがDevuanであり、2014年にsystemdの採用をめぐる意見対立からDebianからフォークされた。
最近、Devuanの2人の開発者であるfsmithredとgolinuxが、Devuanの歴史を振り返り、なぜ彼らの主張が現在でも重要なのかについて語ってくれた。DevuanにはDesignAssignedと呼ばれる公式の階層はないため、彼らの発言は「非公式な公式見解」であることを強調している。
2014年、主要なLinuxディストリビューションは、initプロセスとしてSysVinitからsystemdへの移行が進んでいた。initとは、システム上で最初に起動するプロセスで、他のプロセスを管理する役割を担う。 Ubuntuは10年前からUpstartというinitシステムを採用していたが、大きな論争にはならなかった。一方、systemdはその登場当初から物議を醸していた。systemdはinitシステムそのものだけでなく、さらに多くの役割を担おうとしていた。
Debian User Forumsでコントリビューターのdaseinが指摘するように、「systemdをinitシステムと呼ぶのは、自動車をカップホルダーと呼ぶようなものだ」。つまり、systemdはinitシステムの機能を含んでいるが、daseinによれば、従来のLinuxユーザー空間の多くの機能(ログイン、ジョブスケジューリング、ネットワークなど)を、単一のプロセスの中で再現しようとする試みでもあった。(ユーザー空間を起動すること(init)と、ユーザー空間自体であること(systemd)は大きく異なる)。
このような観点に立てば、systemdは機能の過剰統合であり、アプリケーションは1つのタスクに特化し、それを非常に優れた形で行うべきだというUnixの基本理念に反するものだった。
Linux Kernel ArchiveのChristopher Barryの言葉を借りれば、この哲学こそがLinuxを「実際の作業を行うために自由にプラグインできるシンプルなモジュール群の集合体」、つまり柔軟で利用しやすいOSとしている。
さらに重要なのは、モジュール構造によって、各パーツを様々な形で組み合わせられ、各ディストリビューションが独自の姿を持てるということだ。これに対しsystemdは、そうした多様性を減らす一元的な構造をLinuxシステム全体に押し付けようとしていた。
予想どおり、Debianのメーリングリストでは、systemdをめぐるこれらの観点について幅広い議論が行われた。多くのDebian関係者がsystemdを支持する一方で、systemdを採用することが決定されたが、同時にsystemdを支持する一般的な決議案は最下位に終わった。
こうした議論の中で、systemdの採用がDebianの階層構造によって一般メンバーに押し付けられたと受け止められていたことが暗に示されていた。 この暗黙の了解が正しかったかどうかは問題ではない。多くの人々がそう信じていたのが事実だ。
2014年11月24日、DevuanプロジェクトがDebianからのフォークとして発足した。その目的は「systemdが促進する均一化とベンダーロックインから離れ、信頼できる最小主義の基本ディストリビューションを作ること」だった。
※ システムディー(systemd)は、Linuxシステムでサービス管理などを行うソフトウェアスイートのこと。
※ ベンダーロックイン(vendor lock-in)とは、特定のベンダーの製品・サービスに過度に依存し、他のベンダーへの乗り換えが困難になる状態を指す。Devuanは単なる反systemdプロジェクトではなく、その立場を”Init Freedom”(イニットの自由)と呼んでいる。この名前はRichard Stallmanの提唱する4つの基本的自由を連想させるが、そのアイデア自体は些細なものかもしれない。
Devuanの”Init Freedom”のページでは、これを「移植性、多様性、選択の自由を尊重するPID1へのまともなアプローチを回復すること」と定義している。
実際、”Init Freedom”とは、initの選択の自由をサポートすることを意味する。systemd支持者は複数のinitシステムをサポートするとパッケージングが困難になると主張するが、Devuanは最初のリリースから明らかな困難なく継続的にinitの代替手段を追加してきた。
今日、デフォルトのSysVinitに加えて、OpenRC、runit、sinit、s6、66-devuan、Shepherdの6つの選択肢がある。ほとんどの人はSysVinitを使うことを勧められているが、SysVinit スクリプトを使うOpenRCやrunitも使える。
さらに”Init Freedom”のページには、systemdフリーの代替Linuxディストリビューションや、BSDファミリーなど他のUnixライクOSがリストアップされている。DistroWatchにもsystemdフリーのディストリビューションを検索できるフィルタがあり、現在97のディストリビューションがヒットする。これには一部の主要ディストリビューションしか含まれていないが、多くの人が考えているよりはるかに多い数字だ。
DevuanはDev1 Galaxy Forumでこれらのディストリビューションと緊密に連絡を取り合っている。 Fsmithred氏は「私たちはDebianに大きく依存しています。DevuanのパッケージのほとんどはDebianから変更されていない。
systemdを必要とするパッケージだけをフォークしています。いくつかのパッケージではDevuanとDebianの間で共同作業が行われており、フォークしていないパッケージのバグフィックスやパッチをDebianのアップストリームに送ることもあります」と述べている。
Devuanは通常、”Init Freedom”(イニットの自由)の観点から言及されることが多いが、DockerイメージやコミュニティによるARMパッケージも提供している。最新リリースのChimaeraには、グラフィカルセッション/コンソールセッションで同時に音声合成ができるよう、PulseAudioをインストールしないオプションも用意されている。
さらに、少なくとも1つのDevuan派生版であるMaemo Lesteが存在し、「Nokia N900、Motorola Droid 4、Bionic、PinePhone、PineTab、Allwinnerタブレットなどの携帯電話/タブレットに、フリーでオープンソースのMaemo体験を提供すること」を目指している。
Devuanはニッチなディストリビューションかもしれないが、明らかに活発に活動している。 しかし、Devuanの理念は主流になり得るだろうか?不可能ではない。Linuxはまさにその大部分が書き換えられる時代にある。PulseAudioがPipeWireに置き換わる(現在そうなりつつある)ように、systemdが時代遅れになる可能性も否定できない。
一方、主流の意見に反対する人々にとって、DevuanはDebianの初期の精神を継承しつつ、実行可能な代替案を提供している。
https://www.linux-magazine.com/Issues/2022/260/Devuan/(language)/eng-US
Devuanが主張しているのは、systemdに過度に依存することによるベンダーロックインやLinuxの多様性の失われるリスクを回避する必要性だ。
- systemdが多くの機能が1つの大きなかたまりにまとめられており、モジュール化されていない
- ベンダー(Redhat)の意向に過度に左右されるロックイン状態に陥りかねない
- Unixの理念である”1つのことをきちんとやる”モジュール化の考え方から外れている
Devuanは、この状況を改善するため、systemdに過度に依存しないことを基本方針としている。代わりにSysVinit、OpenRC、runit等の従来からある軽量なinitシステムを選択できるようにしている。
主要ディストリビューションがsystemdに強く依存すれば、選択の自由は狭まり、脆弱性が広がるリスクは否定できない。Linuxの多様性とユーザーの選択肢を守ることがDevuanの重要な目的であり、そのためにsystemdへの過度な依存は避けるべきだと考えているわけだ。
Devuanを使用する前にまずDebianで慣れる
Devuanを使用する前にまずDebianを使ってみるのがおすすめだ。
DevuanはもともとDebianからフォークされたディストリビューションです。そのためDevuanのパッケージングシステムやコア部分はDebianからの継承が多くを占めている。Debianに慣れておけばDevuanの理解も深まる。
UIやコマンド操作などDebianになれていると親しみやすい。
Devuanがsystemdをサポートしていないことやレガシーなinitシステムを選べる点などのメリットを、Debianの経験があれば実感しやすくなります。
Debianはメジャーで情報が多い。ネット上の情報やサポートリソース、書籍などDebianについての情報は非常に多く、初心者が学習するのに適しているが、Devuanの情報は少ないので初心者にはキツい。
Debianの最新版ではデフォルトでsystemdを使っており、不明点を調べやすいが、Devuanのsysvinitやopenrcは情報が少なく調べにくい。ネット上でsystemctlコマンドを使用している情報は使えない。
リポジトリの sources.listもDebianと異なるので書き換える必要が出てくるがこれまた情報がない。
Debianを理解した上でDevuanに挑戦すれば、スムーズな移行が可能になる。Devuanを使いこなすにはDebianの基礎知識が役立つ。
Debianは包括的なディストリビューションであり、様々な用途をカバーするために多くのパッケージをデフォルトでインストールしている。不要なパッケージも多数インストールされているため動作の遅さにつながっている。
Devuanの特徴として、Debianより軽量である点だ。Debianはsystemdを使用しており、機能が拡大されすぎているとの批判がある。古めの低スペックPCで比較的動作が軽快だと評価される点が大きな特徴といえる。
Devuanベースの派生ディストリビューションが複数存在している。
https://www.devuan.org/os/devuan-distros