Ubuntu 12.04:起動時にデーモンを無効にする方法

Ubuntu 12.04:起動時にデーモンを無効にする方法

私は通常デーモンを起動または停止するためにまたはservice start/stopを使用しますinitctl start/stopが、今私が探しているのは、起動時にデーモンが起動しないように無効にする例ですmysqld

現在私がやっていることは名前/etc/init/mysql.confをに変更することです/etc/init/mysql.conf.bak。しかし、これについて少し読んだ後、上記の作業のオプションを提供することがsystemdわかりました。enable & disable

それでは、Ubuntu 12.04にも同様のことがありますかupstart

答え1

次のコマンドを実行してサービスを無効にできます。

sudo update-rc.d -f <service name> disable

マニュアルページ抜粋:

無効な [ S|2|3|4|5 ] オプションを使用して実行すると、update-rc.d は開始リンク名を同じシーケンス番号の停止リンクに変更し、既存のスクリプト /etc/init.d/name修正します。実行レベルリンク100から元のシーケンス番号を引く。

答え2

サービスを無効にして起動する正しい方法は、XX.overrideファイルを生成することです。

echo 'manual' > /etc/init/mysqld.override

このように、スタートアップサービスは自動的に起動しません。

答え3

@warl0ckの言葉が正しいです。この情報はUpstart文書によく文書化されています。http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting

具体的には:

Upstart 1.3では、オーバーレイファイルとマニュアルセクションを利用して、より簡単な方法で同じ結果を得ることができます[27]:

# echo "manual" >> /etc/init/myjob.override

次のようにして同じ効果を得ることができます。

# echo "manual" >> /etc/init/myjob.conf

ただし、上書きツールを使用すると、元の作業プロファイルをそのまま維持できます。

元の動作に戻すには、オーバーライドファイルを削除するか名前を変更します(または「.conf」ファイルからマニュアルセクションを削除します)。

答え4

/etc/rc2.d目的の項目に移動して名前を変更してください。いいえ起動時に実行するには:「S」を「K」に変更(大文字)します(例S02mysql:)K02mysql。心が変わったら、ただ逆にしてください。 2 は実行レベルを参照すると考えられます。この場合、2はデフォルトのマルチユーザー実行レベルです。おそらく、これは毎日コンピュータを使用するために使用するほとんどのものがある場所です。

編集する:以下のJames O'Gormanのコメントを読んでください。

関連情報