Debian が複数の init システムのサポートを再開

Sam Hartman、Debian プロジェクトリーダー、 試した ディストリビューションの一部としての elogind パッケージの配信に関連する意見の相違を理解するため。 XNUMX 月、リリースの準備を担当するチームが ブロックされました このパッケージは libsystemd と競合するため、testing ブランチに elogind を含めます。

それを思い出して エロギンド systemd をインストールせずに GNOME を実行するために必要なインターフェイスを提供します。 このプロジェクトは systemd-logind のフォークとして設立され、別のパッケージに配置され、systemd コンポーネントへのバインドから解放されました。 特に、elogind は独自のバージョンの libelogind ライブラリを提供します。これは、libsystemd で提供される多くの機能を引き継ぎ、インストール中にこのライブラリを置き換えます。

ブロックの理由は、systemd パッケージとの競合、および libsystemd を、ABI レベルでソース ライブラリと完全に互換性のない代替 libelogind に置き換える危険性でした。
パッケージは elogind を systemd ライブラリと競合するものとしてラベル付けしていますが、本質的に systemd なしでのみ動作するように設計されており、systemd と競合することは、elogind が誤ってインストールされるのを防ぐため、実際には有益です。 一方、現在の形式では、APT 経由で systemd から sysvinit と elogind を使用したバージョンに構成を更新しようとすると、次のような結果になります。 破損したシステム APTが機能しない。 ただし、この欠点が解消されたとしても、既にインストールされているユーザー環境を削除しない限り、systemd から elogind への移行は不可能のままです。

エロギンドの開発者は、 によって提案されました elogind を、独自の libpam-elogind 層を使用せずに、標準の libpam-systemd 上で動作するように調整します。 elogind から libpam-systemd への移行は、スライスの概念がサポートされていないために妨げられていますが、elogind の開発者は、API に完全に準拠して systemd のすべての機能を正確に再現することを望んでいません。これは、elogind が提供するのは最小限のものだけであるためです。ユーザーのログインを整理するための機能であり、すべての systemd サブシステムを複製することを目的としたものではありません。

説明されている技術的問題の解決は、リリース チームと elogind および systemd のメンテナとの間の対話レベルで解決されるべきですが、チームが合意できず、共同作業が対立に発展し、問題の解決策が生じたため、プロジェクト リーダーが介入せざるを得なくなりました。問題は行き詰まり、それぞれの側がそれぞれのやり方で正しかった。 Sam Hartman 氏によると、状況は一般投票 (GR、一般決議) を必要とする状態に近づいており、コミュニティは init の代替システムと elogind による sysvinit のサポートを決定します。

プロジェクトメンバーが初期化システムの多様化に投票した場合、すべてのメンテナがこの問題の解決に協力するか、特定の開発者がこの問題に取り組むよう割り当てられることになり、メンテナは代替の初期化システムを無視したり、沈黙したり、あるいはプロセスを遅らせる。

現在すでにリポジトリ内にあります 蓄積 1033 パッケージは systemd のサービス ユニットを提供しますが、init.d スクリプトは含まれません。 この問題を解決するために 提供された デフォルトでサービス ファイルを提供しますが、これらのファイルからのコマンドを自動的に解析し、それに基づいて init.d スクリプトを生成するハンドラーを準備します。

Debian が単一の init システムを十分にサポートしているとコミュニティが判断した場合、sysvinit と elogind について心配する必要はなくなり、unit ファイルと systemd だけに焦点を当てることができます。 この決定は、Linux カーネルを使用しないポートに悪影響を及ぼします (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD)、しかしメインアーカイブにはそのようなポートはまだなく、ステータスがありません。 正式にサポートされています.

また、systemd にバインドすると、将来的にディストリビューションの方向を変更することがはるかに困難になり、初期化とサービス管理の分野でのさらなる実験が制限されます。 elogind を動作可能な状態に維持することは、elogind を削除してから再度追加するよりもはるかに簡単です。 各決定オプションには長所と短所があるため、投票前にすべての長所と短所について十分に議論する必要があります。

出所: オープンネット.ru

コメントを追加します