Debian / Ubuntu update-rc.d 用法 另一章

在這之前曾經試用 update.rc.d 來啟動或關閉服務,但很詭異的是有些服務,我明明沒有啟動,但有啟動,究竟是什麼原因呢?
這是在 Cubie Truck Ubuntu Server 14.04 中碰到的狀況。
如 Samba 服務
# netstat -antulp | egrep ‘:137|:138|:139|:445’
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1597/smbd
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1597/smbd
tcp6       0      0 :::139                  :::*                    LISTEN      1597/smbd
tcp6       0      0 :::445                  :::*                    LISTEN      1597/smbd
udp        0      0 192.168.1.255:137       0.0.0.0:*                           1587/nmbd
udp        0      0 192.168.1.105:137       0.0.0.0:*                           1587/nmbd
udp        0      0 0.0.0.0:137             0.0.0.0:*                           1587/nmbd
udp        0      0 192.168.1.255:138       0.0.0.0:*                           1587/nmbd
udp        0      0 192.168.1.105:138       0.0.0.0:*                           1587/nmbd
udp        0      0 0.0.0.0:138             0.0.0.0:*                           1587/nmbd
[@more@]使用 sysv-rc-conf –list 來列出服務的啟用狀態
# sysv-rc-conf –list
apache2      0:off      1:off   2:on    3:on    4:on    5:on    6:off
apparmor     S:on
atd
console-setu
cron
dbus
dns-clean    1:on       2:on    3:on    4:on    5:on
exim4        0:off      1:off   2:on    3:on    4:on    5:on    6:off
firstrun
friendly-rec
halt         0:on
irqbalance
killprocs    1:on
kmod
memcached    0:off      1:off   2:on    3:on    4:on    5:on    6:off
minidlna     0:off      1:off   2:on    3:on    4:on    5:on    6:off
mysql
networking
nmbd
ntp          1:off      2:on    3:on    4:on    5:on
ondemand     2:on       3:on    4:on    5:on
pppd-dns     1:on       2:on    3:on    4:on    5:on
pptpd        1:off      2:on    3:on    4:on    5:on
procps
rc.local     2:on       3:on    4:on    5:on
reboot       6:on
resolvconf
rsync        0:off      1:off   2:on    3:on    4:on    5:on    6:off
rsyslog
samba        2:off      3:off   4:off   5:off
samba-ad-dc  2:off      3:off   4:off   5:off
sendsigs     0:on       6:on
single       1:on
smbd
ssh
sudo
udev
umountfs     0:on       6:on
umountroot   0:on       6:on
urandom      0:on       6:on    S:on
vsftpd

目前的執行層級
# /sbin/runlevel
N 2

列出執行層級 2 啟動的服務,裡面根本沒有與 Samba 相關的服務
# sysv-rc-conf –list | grep 2:on
apache2      0:off      1:off   2:on    3:on    4:on    5:on    6:off
dns-clean    1:on       2:on    3:on    4:on    5:on
exim4        0:off      1:off   2:on    3:on    4:on    5:on    6:off
memcached    0:off      1:off   2:on    3:on    4:on    5:on    6:off
minidlna     0:off      1:off   2:on    3:on    4:on    5:on    6:off
ntp          1:off      2:on    3:on    4:on    5:on
ondemand     2:on       3:on    4:on    5:on
pppd-dns     1:on       2:on    3:on    4:on    5:on
pptpd        1:off      2:on    3:on    4:on    5:on
rc.local     2:on       3:on    4:on    5:on
rsync        0:off      1:off   2:on    3:on    4:on    5:on    6:off

列出 smbd / nmbd 服務,奇特的是沒有任何狀態
# sysv-rc-conf –list smbd
smbd
# sysv-rc-conf –list nmbd
nmbd

執行 sysv-rc-conf –level 2345 在 level 2345 層級關閉 smbd/nmbd 服務
# sysv-rc-conf –level 2345 smbd off
# sysv-rc-conf –level 2345 nmbd off

列出 smbd / nmbd 服務,終於有執行層級的狀態了!
# sysv-rc-conf –list smbd
smbd         2:off      3:off   4:off   5:off
# sysv-rc-conf –list nmbd
nmbd         2:off      3:off   4:off   5:off

重新啟動電腦
# reboot

重新開機後,發現還是會啟動 Samba Server

後來,我發現在 sys-rc-conf –list 看不到狀態的,似乎都會啟動
# sysv-rc-conf –list | egrep -v ‘on|off’
atd
dbus
firstrun
friendly-rec
irqbalance
kmod
mysql
networking
nmbd
procps
rsyslog
samba
samba-ad-dc
smbd
ssh
sudo
udev
vsftpd

真是不知道這是什麼狀態了,只能先在 /etc/rc.local 中把這些不想啟動的服務給停了,或是直接移除,眼不見為淨!
但是我天真了,開機後這些服務依然還是執行中!

後來又與 Banana Pi 的 Bananian 做比對,我說服我自己,這應該是特例,但我也馬上把這一個 Ubuntu 的 Image 也清除了!
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.6 (wheezy)
Release:        7.6
Codename:       wheezy

# sysv-rc-conf –list
apache2      0:off      1:off   2:on    3:on    4:on    5:on    6:off
bootlogs     1:on       2:on    3:on    4:on    5:on
console-setu S:on
cpufrequtils 2:on       3:on    4:on    5:on
cron         2:on       3:on    4:on    5:on
exim4        0:off      1:off   2:on    3:on    4:on    5:on    6:off
fail2ban     0:off      1:off   2:on    3:on    4:on    5:on    6:off
halt         0:off
haveged      0:off      1:off   2:on    3:on    4:on    5:on    6:off
kbd          S:on
keyboard-set S:on
killprocs    1:on
kmod         S:on
loadcpufreq  2:on       3:on    4:on    5:on
motd         1:on       2:on    3:on    4:on    5:on
mysql        0:off      1:off   2:on    3:on    4:on    5:on    6:off
networking   0:off      6:off   S:on
noip2        0:off      1:off   2:on    3:on    4:on    5:on    6:off
ntp          2:on       3:on    4:on    5:on
openvpn      0:off      1:off   2:on    3:on    4:on    5:on    6:off
pppd-dns     S:on
procps       S:on
rc.local     2:on       3:on    4:on    5:on
reboot       6:off
rmnologin    2:on       3:on    4:on    5:on
rsync        2:on       3:on    4:on    5:on
rsyslog      0:off      1:off   2:on    3:on    4:on    5:on    6:off
screen-clean S:on
sendsigs     0:off      6:off
single       1:on
ssh          2:on       3:on    4:on    5:on
udev         S:on
udev-mtab    S:on
umountfs     0:off      6:off
umountroot   0:off      6:off
urandom      0:off      6:off   S:on
vsftpd       1:off      2:on    3:on    4:on    5:on

Cubie Truck Ubuntu Server
# lsb_release -a
No LSB modules are available.
Distributor ID: Linaro
Description:    Linaro 14.04
Release:        14.04
Codename:       trusty

# sysv-rc-conf –list
apache2      0:off      1:off   2:on    3:on    4:on    5:on    6:off
apparmor     S:on
atd
console-setu
cron
dbus
dns-clean    1:on       2:on    3:on    4:on    5:on
exim4        0:off      1:off   2:on    3:on    4:on    5:on    6:off
firstrun
friendly-rec
halt         0:on
irqbalance
killprocs    1:on
kmod
memcached    0:off      1:off   2:on    3:on    4:on    5:on    6:off
minidlna     0:off      1:off   2:on    3:on    4:on    5:on    6:off
mysql
networking
nmbd
ntp          1:off      2:on    3:on    4:on    5:on
ondemand     2:on       3:on    4:on    5:on
pppd-dns     1:on       2:on    3:on    4:on    5:on
pptpd        1:off      2:on    3:on    4:on    5:on
procps
rc.local     2:on       3:on    4:on    5:on
reboot       6:on
resolvconf
rsync        0:off      1:off   2:on    3:on    4:on    5:on    6:off
rsyslog
samba
samba-ad-dc
sendsigs     0:on       6:on
single       1:on
smbd
snmbd        2:off      3:off   4:off   5:off
ssh
sudo
udev
umountfs     0:on       6:on
umountroot   0:on       6:on
urandom      0:on       6:on    S:on
vsftpd