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


12

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 ...

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

回答:


16

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

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

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

sudo update-rc.d <service> enable

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

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

または似たようなもの。


私にはうまくいきませんが、うまくいきます。何らかの理由により...では/ etc / rcのファイルを作成していない可能
deFreitas

エラーが発生しますか?「sudo update-rc.d <service> defaults」を
試す

いいえ、私はそれが何もしない、その後走り、何も出力が得られていない
deFreitas

rootとしてログに記録されたDebian 9 x64
deFreitas 2018

これは、そのバージョンのDebianの特定の問題です。以前に試してみましたが、少なくともUbuntuで機能します
deFreitas

1

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

Raspbian Buster(v10)で#!/bin/shBEGIN INIT INFOブロックの直前に配置する必要があります。
R01k
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.