Wie deaktivieren Sie einen Upstart-Dienst in Ubuntu 10.10?

In 10.10 wird upstart anstelle von sysvinit verwendet.

Es ist möglich, lästige Upstart-Dienste zu entfernen, die Sie nicht möchten, indem Sie die entsprechende Datei in /etc/init/blah entfernen.conf

Dies scheint jedoch ein schwerer Ansatz zu sein. Wie konfigurieren Sie upstart korrekt, um diese Dienste über die Befehlszeile selektiv ein-und ausschalten zu können?

Als praktisches Beispiel sind die hier aufgeführten Antworten zum Deaktivieren von gdm mit rcconf nicht mehr Arbeit: Wie verhindere ich, dass GDM beim Booten unter Ubuntu ausgeführt wird?

Author: Community, 2011-04-03

6 answers

Wenn Sie in /etc/init suchen.d Sie werden feststellen, dass alle Dienste, die über upstart konfiguriert werden, nur symbolische Links zu /lib/init/upstart sind, sodass sie aus /etc/init entfernt werden.d entfernt nur den Link - nicht das Skript.

Wenn Sie eine Schnittstelle dazu wünschen, können Sie das Paket chkconfig (apt-get install chkconfig) installieren, das ein nützliches Befehlszeilentool enthält:

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

Sie können Dienste für bestimmte Ausführungsebenen aktivieren / deaktivieren (oder sie einfach ein-und ausschalten) mit:

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

Für Beispiel:

# chkconfig -s gdm off

Um es vollständig auszuschalten,

# chkconfig -s gdm on

Um es mit dem defaultsm oder{[11] einzuschalten]}

# chkconfig -s gdm 34

Um es nur für Run Level 3 und 4 einzuschalten.

Normalerweise finden Sie diesen Befehl auf RHEL-basierten Systemen (CentOS, Fedora usw.).

UPDATE

Dies ist spezifisch für Ubuntu und gdm / kdm / whatever.

Wenn gdm startet, ruft es eine Upstart-Konfigurationsdatei /etc/init/gdm auf.conf

Diese Datei dann Referenzen /etc/X11/default-display-manager, um zu sehen, wenn es ist die Standard-display-manager für das system - wenn es dann startet es.

/etc/X11/default-display-manager enthält nur:

/usr/sbin/gdm

Sie können dies durch einen anderen Display-Manager ersetzen oder die Datei vollständig entfernen und gdm wird nicht gestartet.

Eine Zeile aus dem /etc/init / gdm.conf Datei:

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

Es sagen", Wenn die Datei /etc/X11/default-display-manager nicht vorhanden ist, oder wenn es nicht enthalten /usr/sbin/gdm dann beenden Sie "

 19
Author: Majenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-05 09:03:18

Ich habe immer gefunden, die sysv-rc-conf - tool sehr hilfreich, es hat eine sehr schöne und einfach zu bedienende Benutzeroberfläche.

Installiere es so:

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

Benutze es so:

sudo sysv-rc-conf
 5
Author: n0mad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-27 08:41:31

Schauen Sie sich einfach man 5 init an und Sie werden eine geeignetere Lösung finden. Kurzes Beispiel: Angenommen, wir haben einen Dienst namens "foobar", sodass es eine Datei mit dem Namen /etc/init/foobar.conf mit ihrer Upstart-Konfiguration gibt. Jetzt möchten Sie diese Datei nicht entfernen oder ändern-aber auch nicht, dass dieser Dienst ausgeführt wird? Platzieren Sie also eine override - Datei daneben: /etc/init/foobar.override, die (optional den Header mit der Beschreibung und) stattdessen die start on / stop on zeilen Sie platzieren eine Zeile mit einem Wort: manual. Auf diese Weise weisen Sie upstart an, grundsätzlich foobar.conf zu verwenden, überschreiben jedoch die Startdefinition, um diesen Dienst nur zu starten, wenn er manuell erzwungen wird (in unserem Beispiel über service foobar start).

 3
Author: Izzy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-06-30 20:19:39

Meine Empfehlung wäre, einfach alle Zeilen "start on" und "stop on" auszukommentieren. Das hat bei mir gut funktioniert, als ich "initctl show-config" ausgeführt habe, um festzustellen, ob der automatische Start meines gewünschten Programms deaktiviert war.

 2
Author: user35060,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-18 16:16:21

Upstart ist ein ereignisgesteuerter Init-Manager, und Runlevels sind nicht der primäre Mechanismus, um zu entscheiden, wann ein Dienst gestartet wird. Stattdessen werden Dienste gestartet, wenn alle ihre Abhängigkeiten erfüllt sind, was eine größere Parallelität während des Startvorgangs ermöglicht und den Startvorgang beschleunigt.

Mit Ubuntu 11.04 konnte ich GDM deaktivieren, indem ich /etc/init/gdm bearbeitete.conf-Datei und Entfernen aller" start on " - Einträge. Hier ist meine Pre-edit:

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]

Hier ist mein post-edit:

start on
stop on runlevel [016]
 1
Author: Jason Martens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-05-25 14:25:51

Hier ist eine Lösung:

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

@Matt Jenkins

Ich habe Ubuntu Startup nie gemocht-und Linux im Allgemeinen. Es hat immer scheint so chaotisch >und kludgy. Gib mir jeden Tag FreeBSD ' s rcng. Wie auch immer-spezifisch für Ubuntu Display Manager >Sie haben, was meine Bearbeitung zeigt...

Arch Linux hat ein schönes init-system. Systemd bläst jedoch jedes andere Init-System aus dem Planeten.

 1
Author: Pawlo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-20 12:02:57