Я припускаю, що у вас є Raspberry, використовуючи raspbian, який, наскільки мені відомо, ще не перейшов до systemd . У цьому випадку відповідь така.
EDIT: для systemd (Jessie або пізніше), див. Внизу .
По-перше, можна визначити, яка система наразі запускається за допомогою команди:
sudo service --status-all
Ви отримаєте список, подібний до цього:
[ + ] triggerhappy
[ + ] udev
[ ? ] udev-mtab
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] urandom
[ + ] vsftpd
[ + ] weewx
[ - ] x11-common
The + вкажіть служби, що працюють, -'s послуги ні біг, ? послуги, які не дозволяють статус як можлива команда: це в основному команди, які не повинні працювати весь час, лише зрідка.
Щоб повернутися до вашого питання, ви повинні зрозуміти рівень s в Linux. Рівні виконання (0-6 + S) визначають, які послуги можуть / повинні виконуватися. Послідовність завантаження просувається від початкового рівня (вказано в / etc / inittab , в моїй малині
# The default runlevel.
id:2:initdefault:
цей рядок ідентифікує його як 2, а потім переходить до стандартного кінцевого рівня виконання (від 2 до 5). Ви визначаєте поточний рівень виконання за допомогою команди
# runlevel
N 2
(у моєму випадку сервер без голови). Інші рівні виконання (знову ж таки з / / etc / inittab *):
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
Один користувач (1) часто також ідентифікується як S.
У звичайному завантаженні, таким чином ви починаєте з 2, і просувається до 5. Щоб знайти служби, запущені в цій прогресії, виконайте команду:
# grep -nrI Default-Start /etc/init.d
umountroot:7:# Default-Start:
checkroot.sh:8:# Default-Start: S
kbd:6:# Default-Start: S
isc-dhcp-server:11:# Default-Start: 2 3 4 5
mountkernfs.sh:7:# Default-Start: S
hostname.sh:7:# Default-Start: S
mountnfs.sh:7:# Default-Start: S
halt:6:# Default-Start:
dphys-swapfile:20:# Default-Start: 2 3 4 5
bootlogs:7:# Default-Start: 1 2 3 4 5
rc.local:6:# Default-Start: 2 3 4 5
hostapd:9:# Default-Start: 2 3 4 5
keyboard-setup:8:# Default-Start: S
lightdm:7:# Default-Start: 2 3 4 5
procps:11:# Default-Start: S
mysql:9:# Default-Start: 2 3 4 5
single:6:# Default-Start: 1
vsftpd:7:# Default-Start: 2 3 4 5
samba:7:# Default-Start: 2 3 4 5
mountall.sh:6:# Default-Start: S
weewx:20:# Default-Start: 2 3 4 5
umountnfs.sh:7:# Default-Start:
triggerhappy:6:# Default-Start: 2 3 4 5
ifplugd:24:# Default-Start: 2 3 4 5
alsa-utils:9:# Default-Start: S
bootmisc.sh:7:# Default-Start: S
sendsigs:6:# Default-Start:
console-setup:7:# Default-Start: S
nfs-common:7:# Default-Start: 2 3 4 5 S
checkroot-bootclean.sh:6:# Default-Start: S
rsyslog:7:# Default-Start: 2 3 4 5
x11-common:7:# Default-Start: S
mountdevsubfs.sh:7:# Default-Start: S
cron:10:# Default-Start: 2 3 4 5
mountnfs-bootclean.sh:6:# Default-Start: S
mountall-bootclean.sh:6:# Default-Start: S
screen-cleanup:11:# Default-Start: S
udev:6:# Default-Start: S
ssh:7:# Default-Start: 2 3 4 5
haveged:8:# Default-Start: 2 3 4 5
hwclock.sh:26:# Default-Start: S
plymouth:9:# Default-Start: 2 3 4 5
motd:7:# Default-Start: 1 2 3 4 5
killprocs:6:# Default-Start: 1
networking:6:# Default-Start: S
fake-hwclock:9:# Default-Start: S
udev-mtab:6:# Default-Start: S
apache2:6:# Default-Start: 2 3 4 5
reboot:6:# Default-Start:
umountfs:6:# Default-Start:
plymouth-log:9:# Default-Start: S
openvpn:11:# Default-Start: 2 3 4 5
kmod:8:# Default-Start: S
ntp:7:# Default-Start: 2 3 4 5
rpcbind:9:# Default-Start: S 2 3 4 5
urandom:6:# Default-Start: S
rmnologin:6:# Default-Start: 2 3 4 5
checkfs.sh:7:# Default-Start: S
sudo:8:# Default-Start: 2 3 4 5
mtab.sh:6:# Default-Start: S
dbus:6:# Default-Start: 2 3 4 5
rsync:8:# Default-Start: 2 3 4 5
Це виводить рядок, що починається з Початок за замовчуванням у всіх файлах у /etc/init.d/ , де зберігаються файли, що ідентифікують різні послуги. Відповідна лінія ідентифікує рівень запуску кожної служби. Якщо служба запущена на рівні N, коли система переходить до N + 1, її знову не потрібно запускати, але якщо вона виявилася не запущеною, вона запускається.
Це дає точне уявлення про різні етапи запуску послуг. Але в межах одного рівня запуску рядки Required-Start і Should-Start визначають жорсткі і м'які залежності для даної послуги, тобто послуги, які обов'язково запустити і слід запустити перед початком перевірки послуги. Без служб Required-Start сервіс, про який йде мова, не вдасться, без служб Should-Start замість того, щоб не було загальної невдачі, можливо, просто відсутність деяких корисних функцій. Те ж саме відбувається на зупинці з Required-Stop і Should-Stop.
SYSTEMD :
Команда перелічити всі служби
systemctl list-unit-files
що виплюне багато інформації. Щоб вибрати всі послуги увімкнено , тобто , які запускаються під час завантаження, просто скопіюйте наведену вище команду наступним чином:
systemctl list-unit-files | grep enabled
Я віддаю перевагу цій команді systemctl список-одиниці : відмінність полягає в тому, що це буде тільки відображати послуги, які ваша ОС має в пам'яті = ОС думає, що вона потребує), поки systemctl list-unit-файли відобразиться все встановлених послуг, включаючи ті, які є маскується ( тобто ті, які ніколи не повинні бути запущені, навіть не вручну), і ті, які він буде ні активувати, які називаються статичний . Іншими словами, запропонована мною команда є більш вичерпною, ніж лише одна активна послуги.
NB : systemd сильно відрізняється від попередніх init систем. Зокрема, цього немає рівні , але цілей . рівні все ще існують з причин сумісності, і їх можна побачити як конкретні цілі, перераховуючи всі доступні цілі за допомогою
systemctl list-unit-files --type=target
поки ви можете побачити поточну ціль за допомогою
$ systemctl get-default
graphical.target
Більше про це можна прочитати Відмінна вступна сторінка DigitalOcean .