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'
ありがとう
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スタイルのスタートアップを使用してサービスを開始できますか?
それができない場合は、残念ながら、再インストールする方が良いと思います。
14.04 Ubuntuを16.04にアップグレードした後、同様の問題が発生しました。どういうわけか、systemd
パッケージが正しくインストールされず、この質問で説明したのと同じ問題が発生しました。解決策は、関連するパッケージを再インストールすることでした。
apt-get install --reinstall systemd-sysv ubuntu-standard
詳細については、 https://wiki.ubuntu.com/SystemdForUpstartUsers を参照してください。