/etc/init.d/からスクリプトを削除/バックアップする方法は?


24

私はしばらくの間linuxを扱ってきましたが、かなり単純な方法で行ってきました。

init.dOSの起動時にスクリプトが実行されることを理解していますが、どのように動作しますか?

スクリプトを保持したいが、自動的に開始したくない場合はどうすればよいですか?

私が持っている/etc/init.d/varnishとし、それを一時的に無効にしたいとします。OSが再起動しても起動しないようにするにはどうすればよいですか?スクリプトを削除したくありません。もう一度追加したい場合はどうすればよいですか?

回答:


34

いくつかの方法があります。これを一時的に行うだけの場合は、ファイルから実行ビットを削除できます。

$ chmod -x /etc/init.d/varnish

次に、必要に応じて再度追加します。

$ chmod +x /etc/init.d/varnish

ただし、Ubuntu(およびDebianやその他のDebian派生物)での「公式」な方法は、update-rc.d次のコマンドを使用することです。

$ update-rc.d varnish disable

これにより、/ etc / rcX.dフォルダーからすべてのシンボリックリンクが削除され、必要に応じてサービスの開始と停止が行われます。

詳細については、update-rc.dのマニュアルページ参照してください。


素晴らしい反応をありがとう!chmod簡単な解決策です!私はmanpages.ubuntu.com/manpages/precise/man8/update-rc.d.8.htmlを読み始め、initの理解を助けています。考えてみた...マニュアルをもっと読むべきだ。
iDev247

喜んでお手伝いします。chmodソリューションは非常に一時的にのみ使用する必要があることに注意してください。私はこれを確認していませんが、Upstartシステム(Ubuntuがプロセスを自動的に開始/停止するために使用するもの)がこれに混乱するのを見ることができました。
EEAA

9
$ sudo update-rc.d -f servicename remove

1
この回答は、スクリプトを保持したい質問と一致しません。「removeオプションを指定して起動するとupdate-rc.d/etc/rcrunlevel.dディレクトリ内のスクリプトへのリンクがすべて削除されます/etc/init.d/name。スクリプトはすでに削除されていなければなりません「。manpages.ubuntu.com/manpages/xenial/en/man8/update-rc.d.8.html
Melebius
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.