systemdを削除しました

systemdを削除しました

私はDebianユーザーです。

systemdを削除し、他のものをインストールしませんでした。

私は逃げたsudo apt remove systemd。そして私は逃げた sudo apt autoremove systemd

その後、私のラップトップはインターネットに接続できず、GUIも利用できませんでした。コマンドラインインターフェイスで停止していました(ログイン後にコマンドを実行できました)。この問題をどのように解決できますか?

答え1

以下のすべてのコマンドはrootとして実行されると仮定します。ルートとして直接ログインするか、可能でない場合はsudo使用および使用を許可されているユーザーとしてログインします。末尾にaの付いたsudo -iルートプロンプトが必要です。#

/var/log/apt以下をバックアップする必要があります。

cp -a /var/log/apt /root/log-apt-backup

これにより、後で再インストールする必要がある他の削除されたパッケージを見つけることができます。

System V のサポートが弱くなっているため、一部の GUI 部分がシステム機能に依存してブートに失敗すると想定できます。

を再インストールする必要がありますが、これだけでは不十分です。他の必須依存関係をトリガーするには、System Vの提供をsystemd削除する必要があります。交換System Vパッケージをアンインストールするとインストールがトリガされるのと同様に、このパッケージをアンインストールするとsystemdエコシステムで交換がトリガされます。/sbin/initsysvinit-coresystemd

空のLXCコンテナでテストされました。

root@bookworm-test:~# apt remove systemd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  initscripts insserv orphan-sysvinit-scripts sensible-utils startpar sysv-rc
  sysvinit-core ucf
Suggested packages:
  bootchart2 bootlogd
The following packages will be REMOVED:
  dbus-user-session libnss-systemd libpam-systemd systemd systemd-resolved
  systemd-sysv
The following NEW packages will be installed:
  initscripts insserv orphan-sysvinit-scripts sensible-utils startpar sysv-rc
  sysvinit-core ucf
0 upgraded, 8 newly installed, 6 to remove and 0 not upgraded.

などを修正するには、後で再起動してください(これを実行しないでください。十分ではありません)。

# apt install systemd
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  systemd-timesyncd
Suggested packages:
  systemd-container systemd-homed systemd-userdbd systemd-boot
  systemd-resolved libqrencode4 libtss2-esys-3.0.2-0 libtss2-mu0 libtss2-rc0
  polkitd | policykit-1
The following NEW packages will be installed:
  systemd systemd-timesyncd
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.

十分に役に立つことはありません(sys V initに残ります)。

代わりに:

root@bookworm-test:~# apt remove sysvinit-core
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  initscripts insserv startpar sysv-rc
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  dbus-user-session libnss-systemd libpam-systemd systemd systemd-sysv
  systemd-timesyncd
Suggested packages:
  systemd-container systemd-homed systemd-userdbd systemd-boot
  systemd-resolved libqrencode4 libtss2-esys-3.0.2-0 libtss2-mu0 libtss2-rc0
  polkitd | policykit-1
The following packages will be REMOVED:
  sysvinit-core
The following NEW packages will be installed:
  dbus-user-session libnss-systemd libpam-systemd systemd systemd-sysv
  systemd-timesyncd
0 upgraded, 6 newly installed, 1 to remove and 0 not upgraded.

より便利に見えます。推奨パッケージの少なくとも1つをインストールする必要があります。 (polkitdこれは最後に追加して1回の操作で実行できます。)最後に、次を実行します。+remove

apt remove sysvinit-core polkitd+

これにはネットワークが必要です。 OP(実際に私のLXCテスト)はもはや基本的にネットワークを持っていないようです。この問題は、次の有線イーサネットインターフェイスを使用して簡単に解決できますeth0(実際の名前はip -br link結果から取得でき、eth0必要に応じて以下の名前をその名前に置き換えます)。

dhclient -v eth0

その後、前のaptコマンドを再試行してください。

最小システムでは、次のように表示されます。

# apt remove sysvinit-core polkitd+
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  initscripts insserv startpar sysv-rc
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  dbus-user-session libduktape207 libglib2.0-0 libglib2.0-data libicu72
  libnss-systemd libpam-systemd libpolkit-agent-1-0 libpolkit-gobject-1-0
  libxml2 sgml-base shared-mime-info systemd systemd-sysv systemd-timesyncd
  xdg-user-dirs xml-core
Suggested packages:
  low-memory-monitor polkitd-pkla sgml-base-doc systemd-container
  systemd-homed systemd-userdbd systemd-boot systemd-resolved libqrencode4
  libtss2-esys-3.0.2-0 libtss2-mu0 libtss2-rc0 debhelper
The following packages will be REMOVED:
  sysvinit-core
The following NEW packages will be installed:
  dbus-user-session libduktape207 libglib2.0-0 libglib2.0-data libicu72
  libnss-systemd libpam-systemd libpolkit-agent-1-0 libpolkit-gobject-1-0
  libxml2 polkitd sgml-base shared-mime-info systemd systemd-sysv
  systemd-timesyncd xdg-user-dirs xml-core
0 upgraded, 18 newly installed, 1 to remove and 0 not upgraded.

その後、再起動してsystemdに戻します。これはGUIを復元したり復元したりすることはできませんが、systemdこれを確認するには次のように実行します(rootとして)。

ldd /proc/1/exe | grep systemd

空でない出力が必要です。

上記の操作が完了したら、ログのバックアップを確認し、実行/root/log-apt-backup/history.logしたコマンドに似た行を検索します。その項目の下に表示される削除されたパッケージを確認し、まだ欠落している可能性があるパッケージを再度追加してください。Commandline: apt remove systemdCommandline: apt autoremove systemdRemove:

関連情報