在這之前曾經試用 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