So listen Sie Dienste / Daemons auf, die beim Start gestartet wurden, und überprüfen ihre Ladereihenfolge

32

Ich möchte sichergehen, in welcher Reihenfolge Dienste während des Bootvorgangs in Debian-basierten Systemen (insbesondere Debian Squeeze) gestartet werden.

Danke im Voraus.

user155872
quelle

Antworten:

37

Zusamenfassend:

ls /etc/rc*.d

Dies zeigt Ihnen, was auf welchem ​​Runlevel beginnt, und in jedem Level wird die Reihenfolge durch die Zahl nach dem Buchstaben bestimmt (K ist Kill, S ist Start).

Sie können mit sysv-rc-conf, das mit apt installiert werden kann, konfigurieren, was auf jedem Runlevel beginnt.

zB auf meinem system ist apache2 in rc5.d als "S20apache2" symbolisiert. Ein Link im selben Verzeichnis wie S19 würde davor starten, etwas mit S21 würde danach starten.

Weitere Lektüre:

Alex Forbes
quelle
Vielen Dank, aber ich muss sicherstellen, dass zum Beispiel Chili vor bind9 gestartet wird, aber beide haben das Präfix S21. Ich habe bestimmte / etc / init / files bearbeitet. Required-Start: und Required-Stop: und ich habe update-rc.d für sie ausgeführt. Irgendwelche Ideen, was schief gehen könnte?
user155872
Sie möchten wahrscheinlich eher insserv als update-rc.d. Ist Chili eine maßgeschneiderte App oder im Debian-Repo? Wenn es sich um ein ordnungsgemäß erstelltes Debian-Paket handelt, sollten Sie das Init-Skript nicht bearbeiten müssen, aber wenn es maßgeschneidert ist, versuchen Sie es lieber mit X-Start-Before als mit Required-Start (und aktivieren Sie es dann mit insserv). Link: wiki.debian.org/LSBInitScripts
Alex Forbes
OK danke. Ich habe insserv und eine weitere Sache kennengelernt: "Dollarzeichen, da es sich um vordefinierte virtuelle Einrichtungen handelt. Andernfalls sollten die Namen von System V-Boot-Skripten in /etc/init.d/ verwendet werden, allerdings ohne Dollar Zeichen oder mögliche .sh-Erweiterung. " Und jetzt sind die Präfixe korrekt. Danke :)
user155872
19

Würden die Dienstprogramme rcconf und sysv-rc-conf helfen?

# aptitude install rcconf sysv-rc-conf

Anschließend können Sie sie mit rcconfoder ausführen sysv-rc-conf.

rcconf sysv-rc-conf

Daniel Sokolowski
quelle
9

Mit diesem einfachen Befehl können Sie alle Dienste und ihren Status auflisten:

service --status-all

Aus dem Handbuch:

service --status-all führt alle Init-Skripten in alphabetischer Reihenfolge mit dem Befehl status aus . Der Status ist [+] für die Ausführung von Diensten, [-] für angehaltene Dienste und [? ] für Dienste ohne Befehl 'status'. Diese Option ruft nur den Status für Sysvinit-Jobs auf. Startaufträge können auf ähnliche Weise mit initctl list abgefragt werden .

Junix
quelle
1
Ich denke nicht, dass dies den "welche Reihenfolge" Teil der Frage anspricht.
kmarsh
2
und dies sagt auch nicht wirklich, welche aktiviert ist (Start beim Booten)
Kiltek
Ich habe Skripte, die in diesem Befehl angezeigt werden, aber sie werden nicht gestartet.
Owl
4
for i in `find /etc/rc*.d -name S*`; do basename $i | sed -r 's/^S[0-9]+//'; done | sort | uniq

Sample output:

acpid
anacron
avahi-daemon
boa
bootlogd
bootlogs
bootmisc.sh
checkfs.sh
checkroot-bootclean.sh
checkroot.sh
cryptdisks
cryptdisks-early
dbus
delayed-services
hostname.sh
hwclock.sh
keyboard-setup
killprocs
kmod
lightdm
mountall-bootclean.sh
mountall.sh
mountdevsubfs.sh
mountkernfs.sh
mountnfs-bootclean.sh
mountnfs.sh
mtab.sh
pppd-dns
procps
qemu-kvm
rc.local
rmnologin
rsyslog
single
sleep
stop-bootlogd
stop-bootlogd-single
udev
udev-mtab
x11-common
Andrej
quelle
1

Auf Debian sollte rcconf den Trick machen, nur um das Stoppen / Starten von bereits vorhandenen Diensten zu konfigurieren.

Ich benutze es die ganze Zeit bei Debian Jessie und Wheezy.

Exnor
quelle
Können Sie uns etwas näher erläutern, wie Sie das erwähnte Tool verwenden?
womble