web-dev-qa-db-ja.com

Ubuntu 16.04Systemdはsystemctlを使用できません

Ubuntu 16.04サーバーを使用していますが、最後に再起動してから、systemctlが機能しなくなりました。

たとえば、nginxを起動したい場合、次のエラーが発生します。

root@SERVER:/# systemctl start nginx
Failed to start nginx.service: Unknown unit: nginx.service

他のすべてのサービスでも同じ結果になります。 systemctlだけで次の結果が得られます。

root@SERVER:/# systemctl
Failed to list units: No such method 'ListUnitsFiltered'

ありがとう

3
ghovat

OSがひどく台無しになっているようです。おそらく、誤ってファイルなどを移動または削除した可能性があります。

Systemctlを単独で呼び出すだけで、次のような出力が生成されます。

UNIT                                                                     LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount                                        loaded active running   Arbitrary Executable File Formats File System Automount Point
sys-devices-pci0000:00-0000:00:07.1-ata2-Host1-target1:0:0-1:0:0:0-block-sr0.device loaded active plugged   VMware_Virtual_IDE_CDROM_Drive

何かが壊れているようで、systemctl以上の影響があると思われます。 serviceまたはinit.dスタイルのスタートアップを使用してサービスを開始できますか?

それができない場合は、残念ながら、再インストールする方が良いと思います。

1
nikolaosinlight

14.04 Ubuntuを16.04にアップグレードした後、同様の問題が発生しました。どういうわけか、systemdパッケージが正しくインストールされず、この質問で説明したのと同じ問題が発生しました。解決策は、関連するパッケージを再インストールすることでした。

apt-get install --reinstall systemd-sysv ubuntu-standard

詳細については、 https://wiki.ubuntu.com/SystemdForUpstartUsers を参照してください。

1