最近サーバーをUbuntu V14.04からV16.04にアップグレードしましたが、systemctlが機能しなくなったようです。
起動時に転送デーモンが自動的に起動するのを防ぐ必要があるため、次のコマンドを実行します。
sudo systemctl disable transmission-daemon.service
私は次のような答えを受けました
Synchronizing state of transmission-daemon.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable transmission-daemon
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'screen-cleanup' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `screen-cleanup'
insserv: Default-Stop undefined, assuming empty stop runlevel(s) for script `screen-cleanup'
insserv: warning: current start runlevel(s) (empty) of script `transmission-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `transmission-daemon' overrides LSB defaults (0 1 6).
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
サービスは無効になりません。
修正する @JdeBPによると、スクリーンクリーンアップスクリプトを削除すると問題が解決されました。
$ sudo rm /etc/init.d/screen-cleanup
$ sudo systemctl disable transmission-daemon.service
Synchronizing state of transmission-daemon.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable transmission-daemon
insserv: warning: current start runlevel(s) (empty) of script `transmission-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `transmission-daemon' overrides LSB defaults (0 1 6).
insserv: warning: current start runlevel(s) (empty) of script `transmission-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `transmission-daemon' overrides LSB defaults (0 1 6).
これでサービスを見ることができます。障害のある必要に応じて
systemctl status transmission-daemon
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-daemon.service; disabled; ve
Drop-In: /etc/systemd/system/transmission-daemon.service.d
└─local.conf
Active: active (running) since Thu 2018-03-08 08:16:00 EST; 2 days ago
Main PID: 2423 (transmission-da)
Status: "Uploading 329.89 KBps, Downloading 11.04 KBps."
CGroup: /system.slice/transmission-daemon.service
└─2423 /usr/bin/transmission-daemon -f --log-error -g /etc/transmissi
ベストアンサー1
/lib/systemd/systemd-sysv-install
systemd-sysv-generator
他のサービス管理システムが認識できる非基本のアクティブ化/非アクティブ化タスクを実行するタスクを実行するフック。 Ubuntuは/lib/systemd/systemd-sysv-install
単にUbuntuと呼ばれます/usr/sbin/update-rc.d
。/sbin/insserv
それからvan Smoorenbugrc
スクリプトがあることを発見し/etc/init.d
、ここからLSBヘッダー情報を取得しようとします。
/sbin/insserv
rc
見つかったvan Smoorenburgスクリプトが実際にUpstartプログラムへのシンボリックリンクであることを認識する特別な場合があります/lib/init/upstart-job
。これは多くの van Smoorenburg スクリプトで満たされた汎用プログラムであるため、rc
特定のサービスに適した LSB ヘッダー情報はありません。したがって、サービスの正しいLSBヘッダーを計算して印刷できるように、サブ/sbin/insserv
コマンドを使用してrc
スクリプトを呼び出してみてください。/lib/init/upstart-job
lsb-header
ただし、/lib/init/upstart-job
このサブコマンドは実際にはサポートされていません。ソフトウェアが正しく統合されていません。 /lib/init/upstart-job
running initctl
、実行中のUpstartサービスマネージャに接続しようとします。もちろん失敗します(そのうちの1つが実行されていないため)。そして、ソケットに接続できないという最初のエラーを印刷してから、/com/ubuntu/upstart
2番目のエラーを印刷します。 「スタートアップジョブ」サブコマンドがサポートされていないというエラーがありますlsb-header
(たとえそれはまさにそれです。)。
結果はすべてが間違っているということです。
長年にわたって問題が発生しました。このバグを報告する人を見つけることができます。もちろん、これはinsserv
Upstartとvan Smoorenburgの下で直接的または間接的に運営されている人たちinit
に10年以上発生しました。この質問は2016年にAskUbuntuで提起されました。 次のようないくつかのLaunchpadエラーがあります。これは2016年からだ。。
興味深いことに、Launchpadのバグの1つ(2010年のバグの1つ)では誰かがサブコマンドをupstart-job
理解するためにパッチを提供しようとしました。lsb-header
そしてinsserv
少なくとも与える何情報がかなり薄い場合でも、一緒に作業してください。ソフトウェアを自分で修正できない一部のユーザーを除いて、誰もこの事実に気づいていませんでした。
もちろん、これらのvan Smoorenburgrc
スクリプトはUpstartを直接駆動する方法はわかりませんが、initctl
以前のvan Smoorenburgスクリプトを駆動する方法を知っているソフトウェアと人々を容易にするためのUpstartの周りのラッパーですrc
。しかし、Ubuntu 16オペレーティングシステムを使用しています。 systemd の以前のバージョンとの互換性メカニズムは、いくつかの van Smoorenburgrc
スクリプトを使用します。彼ら自身はいその他以前のバージョンとの互換性メカニズムを使用してこれをsystemdのデフォルト単位でラップし、最終的にsystemdサービスマネージャに送信されたコマンドを存在しないUpstartサービスマネージャに反映したいと思います。
これは言えません。
/etc/init.d
を指すシンボリックリンクを見つけます/lib/init/upstart-job
。状況を見ると本当にそうです/etc/init.d/screen-cleanup
。- それを削除します。
最も重要なのは、Ubuntu 16の基本システムサービスデバイス()によって制御され、van Smoorenburg以前のバージョンとの互換性メカニズムがtransmission-daemon
最初から機能しないことです。/lib/systemd/system/transmission-daemon.service
rc
/lib/systemd/systemd-sysv-install
追加読書
- ピーター・ライン・ホードソン(2009-09-17)。insserv:/lib/init/upstart-jobエントリを処理する必要があります。。 Debianのバグ#547235。
- 」スタートアップの互換性..
insserv
Debian 7のマニュアルページ。 - https://sources.debian.org/src/upstart/1.11-5/debian/upstart-job/#L114
- https://unix.stackexchange.com/a/233581/5132
- https://unix.stackexchange.com/a/394191/5132