私の知る限りでは、まだ systemd に移行していない raspian を使っている Raspberry をお持ちだと思います。この場合の答えは以下のようになります。
EDIT: systemd(Jessie以降)の場合は、一番下のを参照してください。
まず、どのシステムがcurrently実行されているかはコマンドで判断できます。
sudo service --status-all
このようなリストが表示されます。
[+] triggerhappy
[+] udev
[?] udev-mtab
[?] umountfs
[?] umountnfs.sh
[?] umountroot
[-] urandom
[+] vsftpd
[+] weewx
[-] x11-common
+ は実行中のサービス、- は実行中ではないサービス、status をコマンドとして使用できない _?
質問に戻ると、Linuxにおけるrunlevelsを理解する必要があります。ランレベル(0-6 + S)は、どのサービスを実行するか/しなければならないかを識別します。ブートシーケンスは初期のランレベル (/etc/inittab で指定されています。私の Raspberry では
# The default runlevel.
id:2:initdefault:
この行は 2 と識別しています) から、ディストロ標準の最終ランレベル (2 から 5 まで) に進みます。現在のランレベルは
# runlevel
N 2
というコマンドで識別します (私の場合はヘッドレスサーバ)。
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
シングルユーザ(1)は、しばしば S として識別されます。この進行で起動したサービスを見つけるには、コマンドを実行します。
# 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/ のすべてのファイルの Default-Start で始まる行を表示します。問題の行は、各サービスが開始されるランレベルを識別します。サービスがランレベル 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
で、多くの情報を吐き出します。起動時に起動されている enabled サービスをすべて選択するには、上記のコマンドを以下のように grep してください。
systemctl list-unit-files --type=target
私はこのコマンドを systemctl list-units よりも好きです: 違いは、systemctl list-unit-files は、masked (masked) (つまり、手動でも起動してはいけないとされているもの) や、static と呼ばれる、起動しないものを含めて、インストールされているすべての***サービスを表示します。言い換えれば、私が提案したコマンドは、activeサービスのみをリストアップするコマンドよりも、より包括的なものです。
NB : systemd は以前の init システムとは大きく異なります。特に、runlevelsではなく、targetsを持っています。runlevels_は互換性の理由からまだ存在しており、
$ systemctl get-default
graphical.target
で利用可能な全てのターゲットをリストアップすることで特定のターゲットとして見ることができますが、
0x1&
で現在のターゲットを見ることができます。