Do-release-upgradeを介して更新しただけで、fail2banやplexmediaserverなどの特定のupstartジョブが開始されない(再インストールを試みた)
$ Sudo service fail2ban start
Job for fail2ban.service failed. See "systemctl status fail2ban.service" and "journalctl -xe" for details.
$ systemctl status fail2ban.service
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit) since Mon 2015-04-27 19:47:27 BST; 26s ago
Docs: man:fail2ban(1)
Process: 14423 ExecStart=/usr/bin/fail2ban-client -x start (code=exited, status=255)
$ Sudo service plexmediaserver start
Failed to start plexmediaserver.service: Unit plexmediaserver.service failed to load: No such file or directory.
$ Sudo dpkg -i plexmediaserver_0.9.11.16.958-80f1748_AMD64.deb
(Reading database ... 88738 files and directories currently installed.)
Preparing to unpack plexmediaserver_0.9.11.16.958-80f1748_AMD64.deb ...
stop: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
これからどこから始めるべきか?
Ubuntuは、デスクトップとサーバーを含むすべてのフレーバーの15.04からサービスフレームワークとしてsystemd
に切り替えました。推奨される方法は、upstart
ジョブをsystemd
ジョブに変更することです(詳細については、Wikiの記事を参照してください)。必要に応じてupstart
に戻すこともできますが、これは確かに迅速な修正です。 Wiki記事の最初のいくつかのセクションを読んで、賛否両論に重点を置くことをお勧めします。
Wikiの記事を参照して、upstart
スクリプトをsystemd
に移行してください。
ディスカッションとコーディングガイド: Systemd For Upstart Users
永久にupstart
に切り替えるには、次を実行します。
Sudo apt-get install upstart-sysv
Sudo update-initramfs -u
Sudo reboot
EDIT:Wikiの記事では、これを15.04にのみ推奨していますが、16.04でも役立つと感じるユーザーもいます。
Fail2banの問題は構成ファイルのエラーであることがわかりました:/etc/fail2ban/jail.local
Pamセクションでは、ポート変数が2回リストされています
[pam-generic]
...
port = all
banaction = iptables-allports
port = anyport
このセクションは私の構成では無効(enabled = false
)ですが、これによりエラーが発生します。この2番目の定義をコメントアウトしました
# port = anyport
Fail2banを手動で実行することでこれを見つけました。
Sudo fail2ban-client start
ここで解決策。これは、最近のVirtualBoxの更新に関するものです。
ターミナルで実行(Ctrl+Alt+F1 リカバリモードからアクセスする場合):
Sudo apt-get purge virtualbox-guest-x11
Ubuntuバージョンがアップグレードされた私の場合、それは新しいUbuntuバージョンの場合にコマンドを実行する方法でした。
動作する新しいコマンド:
Sudo service ssh restart
Tcpがポート22でリッスンしていることを確認するには、次のコマンドから出力を取得する必要があります。Sudo netstat -anp | grep sshd
Sshが実行されていることを確認するには:
ssh-agent
ps -aux | grep ssh
注: sshに必要なキーは、sshが開始されるボックスからsshエージェントにロードされ、そのキーが.ssh/authorized_keys
ファイルにも追加されることを考慮していますsshが行われています。