Ubuntu 10.10でアップスタートサービスを無効にするにはどうすればよいですか?


27

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

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

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

実際の例として、rcconfを使用してgdmをオフにするためにここにリストされた回答は機能しなくなり ました。


Nb。どうやら、ubuntuの一部のバージョンでは、グラフィカルデスクトップのメニューに「サービス」項目があり、これを設定できます。それは私のものではありません。具体的には、コマンドラインソリューションを探しています。
ダグ

最新の回答はaskubuntuにあります。コメントも読んでください!
マルチェロヌッチョ


@Marcello Hm ...それを言っても意味がありましたか?「最新の回答」は依然として同じ回答です。ファイルを削除するか、最初の数行を手動で削除してください。
ダグ

最新のソリューションはecho manual >> /etc/init/<service>.overrideであり、これはコメント(および公式ドキュメント)でのみ言及されています。簡単に見つけられなかったので、ここで言及しました。
マルチェロヌッチョ

回答:


19

/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

defaultsmで有効にするか、

# 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は終了する」


それはうまくいきませんでした。rcconfと同様に、chkconfigはどの実行レベルでも開始されるサービスとしてgdmをリストしません。それでも、再起動してロードします。chkconfig -s gdm offは起動を妨げませんでした。
ダグ

2
ここには、chkconfigが適切なツールではないことを示唆するリンクもあります。ubuntuforums.org
Doug

私はUbuntuのスタートアップとLinux全般が好きではありませんでした。それは常に非常に厄介で不機嫌そうに見えます。いつでもFreeBSDのrcngをください。とにかく
-Ubuntu

新興企業の詳細を記載した編集後の正しい+1 。
ダグ

5

sysv-rc-confツールは非常に便利で、使いやすくて使いやすいインターフェースを備えているといつも思っています。

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

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

次のように使用します。

sudo sysv-rc-conf

1
しかし、それが新興企業のサービスに役立つとは思わない
..-ラジャトグプタ14

3

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


2

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


1

Upstartはイベント駆動型の initマネージャーであり、ランレベルはサービスの開始時期を決定するための主要なメカニズムではありません。代わりに、すべての依存関係が満たされるとサービスが開始されるため、ブート中の並列処理が向上し、ブートプロセスが高速化されます。

Ubuntu 11.04を使用して、/ etc / init / gdm.confファイルを編集し、すべての「開始」エントリを削除することにより、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
正しい; ただし、これは基本的に、etc / init / gdm.confファイルを移動/削除することよりも優れています。構成ファイルを手動で編集することが、これを行う唯一の方法のように思えることに(まだ)驚いています。
ダグ

1

解決策は次のとおりです。

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

@マット・ジェンキンス

私はUbuntuのスタートアップとLinux全般が好きではありませんでした。それは常に非常に厄介で、気味が悪いようです。いつでもFreeBSDのrcngをください。とにかく-Ubuntuのディスプレイマネージャーに固有>編集内容が表示されます...

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.