CentOS 7/8修改系統運行級別服務器
CentOS 5、 CentOS 6能夠經過修改配置文件/etc/inittab 參數,從而修改系統運行級別,切換系統的runlevel,可是從CentOS 7開始,不能用這個命令了,只能由systemd統一管理,而且減小到了兩個等級(固然這裏不包含poweroff.target、reboot.target等)。/etc/inittab中也明確inittab再也不使用了。app
CentOS 7下的inittab文件ide
注意:」systemd uses 'targets' instead of runlevels. By default, there are two main targets「這條信息測試
[root@db-server ~]# more /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
CentOS 8下的inittab文件spa
注意:」systemd uses 'targets' instead of runlevels. By default, there are two main targets「這條信息code
[root@kerrydb ~]# cat /etc/inittab
# inittab is no longer used.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
系統運行級別都定義在/lib/systemd/system下:orm
[root@db-server ~]# ll /usr/lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 Aug 2 00:11 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Aug 2 00:11 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Aug 2 00:11 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Aug 2 00:11 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Aug 2 00:11 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Aug 2 00:11 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Aug 2 00:11 /usr/lib/systemd/system/runlevel6.target -> reboot.target
/usr/lib/systemd/system/runlevel1.target.wants:
total 0
lrwxrwxrwx. 1 root root 39 Aug 2 00:11 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service
/usr/lib/systemd/system/runlevel2.target.wants:
total 0
lrwxrwxrwx. 1 root root 39 Aug 2 00:11 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service
/usr/lib/systemd/system/runlevel3.target.wants:
total 0
lrwxrwxrwx. 1 root root 39 Aug 2 00:11 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service
/usr/lib/systemd/system/runlevel4.target.wants:
total 0
lrwxrwxrwx. 1 root root 39 Aug 2 00:11 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service
/usr/lib/systemd/system/runlevel5.target.wants:
total 0
lrwxrwxrwx. 1 root root 39 Aug 2 00:11 systemd-update-utmp-runlevel.service -> ../systemd-update-utmp-runlevel.service
從上圖能夠看到runlevel2.target、runlevel3.target、runlevel4.target 這些軟鏈接都是指向multi-user.targetserver
[root@kerrydb ~]# ll /usr/lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 Apr 24 11:53 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 24 11:53 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 24 11:53 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 24 11:53 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 24 11:53 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 24 11:53 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 24 11:53 /usr/lib/systemd/system/runlevel6.target -> reboot.target
/usr/lib/systemd/system/runlevel1.target.wants:
total 0
/usr/lib/systemd/system/runlevel2.target.wants:
total 0
/usr/lib/systemd/system/runlevel3.target.wants:
total 0
/usr/lib/systemd/system/runlevel4.target.wants:
total 0
/usr/lib/systemd/system/runlevel5.target.wants:
total 0
經過命令來查看運行級別:blog
# systemctl get-default # 查看默認運行級別ip
# runlevel
經過命令來設置運行級別:
systemd命令修改:
#systemctl set-default TARGET.target
修改軟鏈接方式:
# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
測試例子以下:
例1:
[root@db-server tmp]# systemctl set-default graphical.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@db-server tmp]#
例2:
[root@kerrydb ~]# systemctl get-default
graphical.target
[root@kerrydb ~]# runlevel
N 5
[root@kerrydb ~]# systemctl set-default multi-user.target
Removed /etc/systemd/system/default.target.
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/multi-user.target.
[root@kerrydb ~]# systemctl get-default
multi-user.target
[root@kerrydb ~]#
例3:
[root@kerrydb ~]# systemctl get-default
multi-user.target
[root@kerrydb ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
[root@kerrydb ~]# systemctl get-default
multi-user.target
[root@kerrydb ~]# ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target
[root@kerrydb ~]# systemctl get-default
multi-user.target
# 可設置的運行級別
runlevel0.target -> poweroff.target
runlevel1.target -> rescue.target
runlevel2.target -> multi-user.target
runlevel3.target -> multi-user.target
runlevel4.target -> multi-user.target
runlevel5.target -> graphical.target
runlevel6.target -> reboot.target
修改後須要重啓服務器才能生效。不然只對當前鏈接生效。