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.

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:


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


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 .


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

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.


Können Sie uns etwas näher erläutern, wie Sie das erwähnte Tool verwenden?
womble
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.