目的
DebianStretchのinitシステムとしてsystemdをSysVInitに置き換えます
配布
Debian Stretch
要件
root権限で動作するDebianStretchインストール。
難易度
中
規約
- # –指定されたLinuxコマンドは、rootユーザーとして直接、または
sudo
を使用して、root権限で実行する必要があります。 コマンド - $ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります
はじめに
誰もがsystemdを愛しているわけではなく、そうでない人にとっては、実際には多くの選択肢はありません。これは、安定したサーバーのようなものが必要な場合に特に当てはまります。恐れることはありません。SysVInitは実際にはDebianでもサポートされており、切り替えるのは難しくありません。
**注:** GNOMEまたはsystemdに大きく依存している別のデスクトップ環境を実行している場合は、これを試さないでください。システムが壊れてしまいます。
Devuanリポジトリを追加
initシステムを切り替えて、systemdを互換性レイヤーとしてインストールしたままにする場合は、この部分は厳密には必要ありません。それはうまくいくでしょう。システムにsystemdをまったく使用したくない場合は、それに依存するものを機能させるためにいくつかの調整を行う必要があります。
SystemdのないDebianフォークであるDevuanは、少し遅れています。彼らのStretchリリースであるASCIIは準備ができておらず、Devuanのテストリリースの実行は現在非常に安定していません。ただし、systemdに依存するプログラムをそれなしで動作させるためのいくつかの重要なパッケージを構築しました。それらはDebianで使用できます。
まず、新しい.list
を作成します /etc/apt/sources.list.d/
のファイル Devuanの場合。次に、次の行を追加します。
deb http://packages.devuan.org/devuan/ ascii main
それを保存して終了します。
次に、Devuan署名キーが必要になります。 wget
でそれをつかみます 。
$ cd Downloads $ wget https://devuan.org/os/keyring/[email protected]
次に、それをAptにインポートします。
# apt-key add [email protected]
Devuanパッケージをピン留めする
本当に奇妙なDebian/Devuanハイブリッドが必要な場合を除いて、必要なDevuanパッケージのみを固定する必要があります。 devuan.list
というファイルを作成します 、/etc/apt/preferences.d/
にあります 。次の行を追加します。
Package: * Pin: release a=stable Pin-Priority: 1000 Package: * Pin: release a=ascii Pin-Priority: 2 Package: udisks2 Pin: release a=ascii Pin-Priority: 1001 Package: libudisks2-0 Pin: release a=ascii Pin-Priority: 1001 Package: cgmanager Pin: release a=ascii Pin-Priority: 1001 Package: libcgmanager0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-agent-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-backend-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: libpolkit-gobject-1-0 Pin: release a=ascii Pin-Priority: 1001 Package: policykit-1 Pin: release a=ascii Pin-Priority: 1001
長くて煩わしいですが、systemdを削除すると、多くのものが壊れることがなくなります。先に進む前に更新してください。
# apt update
Devuanパッケージをインストールする
次のステップはかなり簡単です。設定したすべてのパッケージをインストールします。
# apt -t ascii install udisks2 libudisks2-0 cgmanager libcgmanager0 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 policykit-1
SysVのインストール
これで、SysVをインストールする準備が整いました。これもかなり簡単です。
# apt install sysvinit-core sysvinit-utils
次に、SysVのinittabをコピーして、システムのデフォルトにします。
# cp /usr/share/sysvinit/inittab /etc/inittab
すべてが整ったら、すべてが正しくインストールされたことを確認したら、システムを再起動します。起動プロセスですぐに違いがわかります。
Systemdを削除
繰り返しますが、このステップは完全にオプションであり、それでも問題が発生する可能性があります。これにより、systemdおよびそれに依存するものがすべて削除されます。警告されました。
# apt remove --purge --auto-remove systemd
変更を固定する場合は、Apt設定にsystemdを追加します。
Package: systemd Pin: release * Pin-Priority: -1
まとめ
それでおしまい!あなたはDebianシステムは公式にsystemdフリーです。うまくいけば、他のすべても正しく機能します。 systemdに依存するデスクトップソフトウェアの量が多いため、この方法はデスクトップよりもサーバーの方が明らかに優れています。物事は変わる可能性があることを覚えておくことも重要です。ストレッチはほぼ決まっていますが、この手順または同等の手順をTestingまたはSidで試してみると、同じ結果が得られない場合があります。