web-dev-qa-db-ja.com

起動時に開始するサービスがupdate-rc.dコマンドで機能しない

Ubuntuベースのサーバーにredisサーバーをインストールしたので、redisサーバーを起動/停止/再起動できます。 redis_server.shはすでに/etc/init.dにあります。

ここで、ブート時にredisを開始させます。 Webサイトから、update_rc.dコマンドを使用することで、起動時にサービスを追加/削除できることがわかりました。

Update-rc.dを試して、起動時にスタートアップを追加しましたが、機能しません。

root@ip-172-31-4-108:/etc/init.d# update-rc.d redis-server defaults
//System start/stop links for /etc/init.d/redis-server already exist.

さらに、起動時に起動したくないサービスがあるため、試してみました。

root@ip-172-31-4-108:/etc/init.d# update-rc.d reids_6379 remove
 Removing any system startup links for /etc/init.d/reids_6379 ...

しかし、次回の再起動時にも、起動時にそのサービスが実行されているのがわかります。

12
user824624

サービスを削除するには、-fパラメータを使用する必要があります。

Sudo update-rc.d -f <service> remove

起動時の起動を設定するには、次を試してください:

Sudo update-rc.d <service> enable

次のシンボリックリンクが作成されているかどうかを確認します。

/etc/rc.2d/S20<service>

または似たようなもの。

16
erny

Ubuntuバージョン18.04 TLSでは、次のような開始スクリプトに特定のコメントブロックがないと、update-rc.dが正常に機能しないことがわかりました。

### BEGIN INIT INFO
# Provides: myprogram
# Required-Start: $ local_fs $ remote_fs $ syslog $ network $ time
# Required-Stop: $ local_fs $ remote_fs $ syslog $ network
# Default-start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: myprogram some description
### END INIT INFO
1
Dmitriy Yusupov