Як перелічити служби / демони, розпочаті при завантаженні _і_, перевірити їх порядок завантаження


32

Я хочу бути впевненим, в якому порядку запускаються послуги під час завантаження в системах на базі Debian (зокрема Debian Squeeze).

Заздалегідь спасибі.

Відповіді:


37

Коротко:

ls /etc/rc*.d

Це показує, що починається з якого рівня пробігу, і в межах кожного рівня порядок визначається цифрою після літери (K - Kill, S - start).

Ви можете налаштувати те, що починається з кожного запуску рівня за допомогою sysv-rc-conf, який можна встановити apt.

наприклад, у моїй системі apache2 в rc5.d позначається як "S20apache2". Посилання в одному каталозі з S19 розпочнеться перед ним, а щось із S21 розпочнеться після нього.

Подальше читання:


Дуже дякую, але я повинен бути впевнений, що, наприклад, чилі запускається перед bind9, але в обох вони є префікс S21. Я відредагував особливий / etc / init / files Required-Start: та Required-Stop: розділ, і я запустив update-rc.d для них. Будь-які ідеї, що може піти не так?
користувач155872

Ви, мабуть, хочете insserv, а не update-rc.d. Чилі - це замовлення на замовлення чи в репортажі Debian? Якщо це правильно виготовлений пакунок Debian, вам не потрібно буде редагувати його сценарій init, але якщо це зроблено, спробуйте X-Start-Before, а не Required-Start (а потім увімкніть за допомогою insserv). Посилання: wiki.debian.org/LSBInitScripts
Алекс Форбс

Добре, дякую. Я дізнався про insserv та ще одне: "знак долара, тому що вони є попередньо визначеними віртуальними засобами. В іншому випадку слід використовувати назви завантажувальних скриптів System V, знайдені в /etc/init.d/, хоча без долара знак або можливе розширення .sh. " А тепер префікси правильні. Дякую :)
користувач155872

19

Чи допоможуть програми rcconf та sysv-rc-conf ?

# aptitude install rcconf sysv-rc-conf

Після цього ви можете запустити їх, набравши rcconfабо sysv-rc-conf.

rcconf sysv-rc-конф


9

Ви можете перерахувати всі служби та їх статус за допомогою цієї простої команди:

service --status-all

З посібника:

service --status-all запускає всі скрипти init в алфавітному порядку з командою status . Статус - [+] для запущених служб, [-] для зупинених служб та [? ] для послуг без команди "статус". Цей параметр викликає статус лише для завдань sysvinit; початкові завдання можна запитувати аналогічно до списку initctl.


1
Я не думаю, що це стосується частини запитання "про те, який порядок".
кмарш

2
і це також насправді не говорить про те, який з них увімкнено (початок на завантаженні)
kiltek

У мене є сценарії, які відображаються в цій команді, але вони не запущені.
Сова

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

На Debian rcconf повинен зробити свою справу, просто налаштувати зупинку / запуск вже наявних служб.

Я весь час використовую його на Debian Jessie та Wheezy.


Чи можете ви пояснити трохи більше, як користуватися згаданим вами інструментом?
живіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.