在Ubuntu16.04下,使用sysv-rc-conf管理服务启动项

阅读: 评论:0

在Ubuntu16.04下,使⽤sysv-rc-conf管理服务启动
Linux系统主要启动步骤
1. 读取 MBR 信息,启动 Boot Manager。Linux 通常使⽤功能强⼤、配置灵活的GRUB作为Boot Manager。
2. 加载系统内核,启动init进程。init进程是Linux的根进程,所有的系统进程都是它的⼦进程。
3. init进程读取/etc/inittab⽂件中的信息,并进⼊预设的运⾏级别,按顺序运⾏该运⾏级别对应⽂件夹下的脚本。脚本通常以 start参数
启动,并指向系统中的⼀个程序。通常情况下,/etc/rcS.d/⽬录下的启动脚本⾸先被执⾏,然后是/etc/rcN.d/⽬录。例如您设定的运⾏级别为3,那么它对应的启动⽬录为/etc/rc3.d/。
4. 根据/etc/rcS.d/⽂件夹中对应的脚本启动Xwindow服务器xorg。Xwindow为Linux下的图形⽤户界⾯系统。
5. 启动登录管理器,等待⽤户登录Ubuntu系统。默认使⽤GDM作为登录管理器,您在登录管理器界⾯中输⼊⽤户名和密码后,便可以
登录系统。(您可以在/etc/rc3.d/⽂件夹中到⼀个名为S13gdm 的链接)
Ubuntu运⾏级别
在任何时候,Linux系统都跑在⼀个指定的运⾏级别上,并且在不同运⾏级别的程序和服务,所要完成的⼯作也不同。Linux系统可以在这些运⾏级别之间进⾏切换,以完成不同的⼯作。
运⾏级别(Runlevel)是指Unix或者Linux等操作系统不同的运⾏模式,通常分为7等,从0到6。但如果必要的话也可以更多,例如,⼤多数linux操作系统,共有如下6个典型的运⾏级别:
0,停机
1,单⽤户,⽆⽹络连接,不能启动守护进程,不允许⾮root⽤户登录(Does not configure network interfaces, start daemons, or allow non-root logins)
2,多⽤户,⽆⽹络连接,不能启动守护进程(Does not configure network interfaces or start daemons)
3,多⽤户,启动⽹络连接(Starts the system normally.)
4,⽤户⾃定义
5,多⽤户,带图形化界⾯
6,重启
查看当前系统的运⾏级别
# runlevel
切换运⾏级别
# init [0123456Ss]
即在init命令后跟⼀个参数,此参数是要切换到的运⾏级的运⾏级代号,例如,⽤init 0命令关机,⽤init 6命令重新启动。
/etc/rc*⽬录
对于这些运⾏级别我们不必太过纠结到底是什么意思,只需要知道在Debian/Ubuntu(Ubuntu是Debian的分⽀)Linux默认都是运⾏在Runlevel2级别。
在Debian Linux中,/etc/rc*路径下对应不同的运⾏级别⽬录。当系统启动时,通过其中的脚本⽂件来
启动相应的服务。
/etc/rc0.d Run level 0
/etc/rc1.d Run level 1
/etc/rc2.d Run level 2
/etc/rc3.d Run level 3雄蛾酒
/etc/rc4.d Run level 4
/etc/rc5.d Run level 5
/etc/rc6.d Run level 6
下⾯,我们去/etc/⽬录下寻这些⽬录,在终端中输⼊ls /etc/rc*。对于输出,以K开头的⽂件,系统在相关运⾏级别将终⽌对应的服务;对于以S开头的⽂件,系统在相关运⾏级别将启动对应的服务。
电子加速器辐照/etc/rc.local
/etc/rc0.d:
K01watchdog      K02lightdm        K02n2n                  K02urandom        K05rsyslog      K10cryptdisks
K02atd          K02lvm2-lvmetad  K02open-iscsi          K02uuidd          K06hwclock.sh    K11cryptdisks-early
K02avahi-daemon  K02lvm2-lvmpolld  K02open-vm-tools        K03cgroupfs-mount  K06umountnfs.sh  K12umountroot K02bluetooth    K02lxcfs          K02plymouth            K03iscsid          K07rpcbind      K13mdadm-waitidle
K02docker        K02lxd            K02resolvconf          K03openibd        K08networking    K14halt
K02irqbalance    K02mdadm          K02unattended-upgrades  K04sendsigs        K09umountfs      README
/etc/rc1.d:
椰油酸K01watchdog      K02docker        K02lvm2-lvmpolld  K02open-iscsi    K03cgroupfs-mount  K07rpcbind    S02single
K02atd          K02irqbalance    K02lxcfs          K02open-vm-tools  K03iscsid          README
K02avahi-daemon  K02lightdm      K02lxd            K02ufw            K03openibd        S01killprocs
K02bluetooth    K02lvm2-lvmetad  K02mdadm          K02uuidd          K05rsyslog        S01n2n
/etc/rc2.d:
README            S01openibd              S02acpid          S02mdadm        S03lightdm      S04watchdog
S01apport        S01open-vm-tools        S02atd            S02rsync        S03lxcfs
S01lvm2-lvmetad  S01rsyslog              S02cgroupfs-mount  S02ssh          S04grub-common
S01lvm2-lvmpolld  S01unattended-upgrades  S02cron            S03avahi-daemon  S04ondemand
S01lxd            S01uuidd                S02dbus            S03bluetooth    S04plymouth
S01n2n            S01wd_keepalive        S02irqbalance      S03docker        S04rc.local
/etc/rc3.d:
README            S01openibd              S02acpid          S02mdadm        S03lightdm      S04watchdog
S01apport        S01open-vm-tools        S02atd            S02rsync        S03lxcfs
S01lvm2-lvmetad  S01rsyslog              S02cgroupfs-mount  S02ssh          S04grub-common
S01lvm2-lvmpolld  S01unattended-upgrades  S02cron            S03avahi-daemon  S04ondemand
S01lxd            S01uuidd                S02dbus            S03bluetooth    S04plymouth
S01n2n            S01wd_keepalive        S02irqbalance      S03docker        S04rc.local
/etc/rc4.d:
README            S01openibd              S02acpid          S02mdadm        S03lightdm      S04watchdog
S01apport        S01open-vm-tools        S02atd            S02rsync        S03lxcfs
S01lvm2-lvmetad  S01rsyslog              S02cgroupfs-mount  S02ssh          S04grub-common
S01lvm2-lvmpolld  S01unattended-upgrades  S02cron            S03avahi-daemon  S04ondemand
S01lxd            S01uuidd                S02dbus            S03bluetooth    S04plymouth
S01n2n            S01wd_keepalive        S02irqbalance      S03docker        S04rc.local
/etc/rc5.d:
README            S01openibd              S02acpid          S02mdadm        S03lightdm      S04watchdog
S01apport        S01open-vm-tools        S02atd            S02rsync        S03lxcfs
S01lvm2-lvmetad  S01rsyslog              S02cgroupfs-mount  S02ssh          S04grub-common
S01lvm2-lvmpolld  S01unattended-upgrades  S02cron            S03avahi-daemon  S04ondemand
S01lxd            S01uuidd                S02dbus            S03bluetooth    S04plymouth
S01n2n            S01wd_keepalive        S02irqbalance      S03docker        S04rc.local
/etc/rc6.d:
K01watchdog      K02lightdm        K02n2n                  K02urandom        K05rsyslog      K10cryptdisks
K02atd          K02lvm2-lvmetad  K02open-iscsi          K02uuidd          K06hwclock.sh    K11cryptdisks-early
K02avahi-daemon  K02lvm2-lvmpolld  K02open-vm-tools        K03cgroupfs-mount  K06umountnfs.sh  K12umountroot K02bluetooth    K02lxcfs          K02plymouth            K03iscsid          K07rpcbind      K13mdadm-waitidle
K02docker        K02lxd            K02resolvconf          K03openibd        K08networking    K14reboot
K02irqbalance    K02mdadm          K02unattended-upgrades  K04sendsigs        K09umountfs      README
/etc/rcS.d:
README            S02resolvconf        S05procps                  S09urandom                S13rpcbind
S01console-setup  S02screen-cleanup    S06hwclock.sh              S10cryptdisks            S14mountnfs.sh
S02apparmor        S02ufw              S07checkroot.sh            S11checkfs.sh            S14open-iscsi
S02hostname.sh    S02x11-common        S08cryptdisks-early        S12mountall.sh            S15mountnfs-bootclean.sh S02mountkernfs.sh  S03udev              S09checkroot-bootclean.sh  S12networking            S16bootmisc.sh
S02plymouth-log    S04keyboard-setup    S09kmod                    S13iscsid
S02pppd-dns        S05mountdevsubfs.sh  S09lvm2                    S13mountall-bootclean.sh
现在对于Debian/Ubuntu Linux的启动过程⼤家应该有所了解,总结⼀下:在/etc/rc0.d6运⾏级别时要启动的相
rc6.d⽬录下,分别存放的是在0
关服务⽂件,由于Ubuntu默认是在runlevel2启动,那么我们只需要修改rc2.d中的⽂件,从⽽禁⽌某些服务启动,例如n2n。
回顾刚才/etc/rc2.d⽬录下的⽂件,我们可以发现与n2n有关的⽂件是S01n2n。我们查看n2n的⽂件属性,系统将开机⾃启动以S开头⽂件对应的服务。
# file S01n2n
S01n2n: symbolic link to ../init.d/n2n
查n2n在其他运⾏级别下的状态
# 查看当前系统的运⾏级别
# runlevel
N 5
# find / -name S01n2n
/etc/rc1.d/S01n2n
/etc/rc2.d/S01n2n
/etc/rc3.d/S01n2n
双向推车/etc/rc4.d/S01n2n
/etc/rc5.d/S01n2n
我们会发现n2n在运⾏级别1,2,3,4,5之下都是开机启动的,所以我们要做的是把S91n2n修改成以K******,但是我们并不知道应该修改成多少,这⾥需要借助⼀个管理⼯具进⾏管理,即sysv-rc-conf。
sysv-rc-conf
sysv-rc-conf是⼀个强⼤的服务管理程序,众的意见是sysv-rc-conf⽐chkconfig、rcconf好⽤。在Ubuntu下,⽤apt-get安装sysv-rc-conf
# sudo apt-get install sysv-rc-conf
运⾏sysv-rc-conf,查看在各个系统运⾏级别的服务启动项是否开启
# sudo sysv-rc-conf
第⼀⾏service后⾯是运⾏级别,有1,2,3,4,5,0,6,S,与之前介绍的运⾏级别基本符合,最后S项这⾥不做介绍。图中打X的即表⽰运⾏在对应Runlevel时服务是否开机启动,这⾥我们可以看到n2n在Runlevel1,2(系统默认运⾏级别),3,4,5(当前系统运⾏级别)均为开机启动,对应之前/etc/rc1.d ~ /etc/rc5.d⽬录下均为S01n2n⽂件,再次验证了之前的内容。
为了禁⽤n2n服务开机⾃启,将光标移动到n2n那⾏的第2列,按空格进⾏将启动项反选,按q退出之后配置即完成。现在我们再来看⼀
下/etc/rc2.d/⽬录下的内容
ls /etc/rc*
微拟球藻在对应运⾏级别的⽂件夹下,已经出现了K…n2n⽂件,⽽之前的S01n2n⽂件不在了。到这⾥配置成功,重启系统之后,查看n2n服务运⾏状态
service n2n status
注:同理,如果想要某个服务在某个运⾏级别下开机⾃启,就选中对应的X。
常见的系统服务信息
acpi-support,⾼级电源管理⽀持
acpid acpi,守护程序。这两个⽤于电源管理,⾮常重要
alsa,声⾳⼦系统
alsa-utils,anacroncron的⼦系统,将系统关闭期间的计划任务,在下⼀次系统运⾏时执⾏
apmd,acpi的扩展
atd,类似于cron的任务调度系统。建议关闭
binfmt-support,核⼼⽀持其他⼆进制的⽂件格式,建议开启电视升降机

本文发布于:2023-06-03 12:59:33,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/124484.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:启动   系统   级别   服务
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图