web-dev-qa-db-ja.com

ubuntu 10.10でupstartサービスを無効にするにはどうすればよいですか?

10.10では、sysvinitの代わりにupstartが使用されています。

/etc/init/blah.conf内の適切なファイルを削除することにより、不要な迷惑なアップスタートサービスを削除することができます。

ただし、これは強引なアプローチのようです。コマンドラインでこれらのサービスを選択的にオン/オフできるように、upstartを正しく構成するにはどうすればよいですか?

実用的な例として、rcconfを使用してgdmをオフにするためにここに記載されている回答が機能しなくなりました。 Ubuntuの起動時にGDMが実行されないようにするにはどうすればよいですか?

27
Doug

/etc/init.dを見ると、upstartを介して構成されたサービスは/ lib/init/upstartへのシンボリックリンクにすぎないので、/ etc/init.dから削除すると、リンクではなくスクリプトが削除されます。 。

これへのインターフェースが必要な場合は、chkconfigパッケージ(apt-get install chkconfig)をインストールして、便利なコマンドラインツールを提供できます。

# chkconfig --list
acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
alsa-mixer-save           0:off  1:off  2:off  3:off  4:off  5:off  6:off
anacron                   0:off  1:off  2:off  3:off  4:off  5:off  6:off
Apache2                   0:off  1:off  2:on   3:on   4:on   5:on   6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on 
apport                    0:off  1:off  2:off  3:off  4:off  5:off  6:off
atd                       0:off  1:off  2:off  3:off  4:off  5:off  6:off
.... and so on ....

次のコマンドを使用して、特定の実行レベルのサービスを有効または無効にできます(またはサービスをオンまたはオフにできます)。

# chkconfig -s <service> <state/runlevels>

例えば:

# chkconfig -s gdm off

完全にオフにするには

# chkconfig -s gdm on

デフォルトでオンにするか、

# chkconfig -s gdm 34

実行レベル3と4に対してのみオンにします。

通常、このコマンドはRHELベースのシステム(CentOS、Fedoraなど)にあります。

[〜#〜]更新[〜#〜]

これはUbuntuとgdm/kdm /に固有のものです

Gdmが起動すると、upstart構成ファイル/etc/init/gdm.confが呼び出されます

次に、このファイルは/ etc/X11/default-display-managerを参照して、システムのデフォルトのディスプレイマネージャーであるかどうかを確認します。

/ etc/X11/default-display-managerには次のものが含まれます。

/usr/sbin/gdm

これを別のディスプレイマネージャーで置き換えるか、ファイルを完全に削除してgdmを起動しません。

/etc/init/gdm.confファイルの行:

[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/gdm" ] || { stop; exit 0; }

「/ etc/X11/default-display-managerファイルが存在しない場合、または/usr/sbin/gdmが含まれていない場合は終了します」

19
Majenko

私は常にsysv-rc-confツールが非常に役立つことを発見しました。非常に便利で使いやすいインターフェイスを備えています。

次のようにインストールします。

Sudo apt-get update
Sudo apt-get install sysv-rc-conf

次のように使用します。

Sudo sysv-rc-conf
5
n0mad

man 5 initをご覧ください。より適切なソリューションが見つかります。短い例:「foobar」というサービスがあるとします。そのため、/etc/init/foobar.confというファイルがあり、そのアップスタート構成が含まれています。ここで、そのファイルを削除したり、変更したりする必要はありませんが、このサービスを実行する必要はありませんか?したがって、その横にoverrideファイルを配置します:/etc/init/foobar.override、行を配置するstart on/stop on行の代わりに(オプションで説明を含むヘッダー)を含む1つの単語:manual。このように、基本的にfoobar.confを使用するようにupstartに指示しますが、手動で(この例ではservice foobar startを介して)強制されたときにのみサービスを開始するようにスタートアップ定義をオーバーライドします。

3
Izzy

私の推奨は、すべての「開始」および「停止」行をコメント化することです。 「initctl show-config」を実行して、必要なプログラムの自動起動が無効になっているかどうかを確認したところ、これはうまくいきました。

2
user35060

これが解決策です:

http://ubuntuforums.org/showpost.php?p=9416839&postcount=

@マット・ジェンキンス

私は、Ubuntuのスタートアップ、そしてLinuxの一般的なスタートアップが好きではありません。 >それはいつもとても厄介で、そして無骨であるように思われます。 FreeBSDのrcngをいつでも教えてください。とにかく-Ubuntuのディスプレイマネージャーに固有>私の編集内容が表示されます...

Arch LinuxにはNice initシステムがあります。ただし、systemdは他の初期化システムを惑星から吹き飛ばします。

1
Pawlo

Upstartはevent-driven init managerであり、ランレベルはサービスがいつ開始するかを決定する主要なメカニズムではありません。代わりに、すべての依存関係が満たされたときにサービスが開始されます。これにより、起動時の並列性が向上し、起動プロセスが高速化します。

Ubuntu 11.04を使用して、/ etc/init/gdm.confファイルを編集し、「start on」エントリをすべて削除することで、GDMを無効にすることができました。これが私の前編集です:

start on (filesystem
          and started dbus
          and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
               or stopped udev-fallback-graphics))
stop on runlevel [016]

これが私の編集後です:

start on
stop on runlevel [016]
1
Jason Martens