Я предполагаю, что у вас есть Raspberry с использованием raspian, который, насколько мне известно, еще не перешел на systemd. В этом случае ответ будет следующим.
РЕДАКТИРОВАТЬ: для systemd (Джесси или позже), смотрите внизу.
Во-первых, вы можете определить, какая система работает в данный момент, с помощью команды:
sudo service --status-all
Вы получите список примерно так:
[ + ] triggerhappy
[ + ] udev
[ ? ] udev-mtab
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ - ] urandom
[ + ] vsftpd
[ + ] weewx
[ - ] x11-common
Значки + указывают на работающие службы, на - службы не работают, на ?«s услуги , которые не позволяют статус в качестве возможной команды: они в основном команды , которые не должны работать все время, только время от времени.
Чтобы вернуться к вашему вопросу, вам нужно понять уровень запуска в Linux. Уровни запуска (0-6 + S) определяют, какие службы могут / должны быть запущены. Последовательность загрузки начинается с начального уровня запуска (указан в / etc / inittab, в моей Raspberry).
# 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
Это печатает строку, которая начинается с Default-Start во всех файлах в /etc/init.d/, где хранятся файлы, идентифицирующие различные сервисы. Строка, о которой идет речь, определяет уровень запуска, где должна запускаться каждая служба. Если служба запускается на уровне выполнения N, когда система переходит на N+1, ее не нужно запускать снова, но если она не работает, она запускается.
Это дает вам точное представление о различных этапах запуска служб. Но в пределах одного и того же уровня выполнения строки Required-Start и Should-Start определяют жесткие и мягкие зависимости для рассматриваемой службы, то есть службы, которые должны работать и должны запускаться до проверки службы. Без служб Required-Start соответствующая служба потерпит неудачу, без услуг Should-Start вместо этого не будет общего сбоя, возможно, просто нехватка некоторых полезных функций. То же самое происходит при остановке с помощью Required-Stop и Should-Stop.
SYSTEMD:
Команда для перечисления всех служб
systemctl list-unit-files
который будет выплевывать много информации. Чтобы выбрать все включенные службы, т. Е. Те, которые запускаются при загрузке, просто выполните команду grep следующим образом:
systemctl list-unit-files | grep enabled
Я предпочитаю эту команду системным спискам модулей: разница в том, что эта команда будет отображать только те сервисы, которые ваша ОС имеет в памяти = ОС считает, что это необходимо), в то время как системные файлы списков модулей отображают все установленные сервисы, включая те, которые замаскированные (то есть те, которые, как предполагается, никогда не запускаются, даже вручную) и те, которые он не будет активировать, которые называются статическими. Другими словами, предложенная мною команда является более полной, чем та, в которой перечислены только активные службы.
Примечание: systemd сильно отличается от предыдущих систем инициализации. В частности, он имеет не уровни выполнения, а цели. Уровни выполнения все еще существуют по причинам совместимости, и их можно рассматривать как конкретные цели, перечисляя все доступные цели через
systemctl list-unit-files --type=target
в то время как вы можете увидеть свою текущую цель с помощью
$ systemctl get-default
graphical.target
Подробнее об этом вы можете прочитать на отличной вводной странице DigitalOcean.