標籤:reboot centos started 無效 預設運行層級 for 通過 不同 format
CentOS 7 之前的版本是通過 /etc/inittab 檔案來定義系統運行層級:
[[email protected] ~]$ cat /etc/centos-release CentOS release 6.4 (Final)[[email protected] ~]$ cat /etc/inittab # inittab is only used by upstart for the default runlevel.## ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## System initialization is started by /etc/init/rcS.conf## Individual runlevels are started by /etc/init/rc.conf## Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf## Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,# with configuration in /etc/sysconfig/init.## For information on how to write upstart event handlers, or how# upstart works, see init(5), init(8), and initctl(8).## Default runlevel. The runlevels used are:# 0 - halt (Do NOT set initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)# id:3:initdefault:[[email protected] ~]$
CentOS 7 版本不再使用該檔案定義系統運行層級,相關運行層級設定無效:
[[email protected] etc]$ cat /etc/centos-release CentOS Linux release 7.0.1406 (Core) [[email protected]-11r2-rac1 etc]$ cat /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 /etc/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 set a default target, run:## ln -sf /lib/systemd/system/<target name>.target /etc/systemd/system/default.target#id:3:initdefault: #無效[[email protected]-11r2-rac1 etc]$
新版本的運行層級都定義在 /lib/systemd/system下:
[[email protected] system]$ ls -ltr /lib/systemd/system/runlevel*lrwxrwxrwx. 1 root root 13 7月 30 14:22 /lib/systemd/system/runlevel1.target -> rescue.targetlrwxrwxrwx. 1 root root 15 7月 30 14:22 /lib/systemd/system/runlevel0.target -> poweroff.targetlrwxrwxrwx. 1 root root 17 7月 30 14:22 /lib/systemd/system/runlevel2.target -> multi-user.targetlrwxrwxrwx. 1 root root 17 7月 30 14:22 /lib/systemd/system/runlevel3.target -> multi-user.targetlrwxrwxrwx. 1 root root 17 7月 30 14:22 /lib/systemd/system/runlevel4.target -> multi-user.targetlrwxrwxrwx. 1 root root 16 7月 30 14:22 /lib/systemd/system/runlevel5.target -> graphical.targetlrwxrwxrwx. 1 root root 13 7月 30 14:22 /lib/systemd/system/runlevel6.target -> reboot.target
可以針對不同需要設定不同的運行層級:
如設定命令列層級(init 3)方法:
ln -sf /lib/systemd/system/runlevel3.target /etc/systemd/system/default.target或ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target或systemctl set-default multi-user.target
設定視窗層級(init 5)方法:
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target或ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target或systemctl set-default graphical.target
-----------------------------分割線-----------------------------
修改系統運行層級:
1、systemd使用比sysvinit的運行級更為自由的target替代。第3運行級用multi-user.target替代。第5運行級用graphical.target替代。runlevel3.target和runlevel5.target分別是指向 multi-user.target和graphical.target的符號連結。
可以使用下面的命令切換到“運行層級3 ”:
systemctl isolate multi-user.target或systemctl isolate runlevel3.target
可以使用下面的命令切換到“運行層級5 ”:
systemctl isolate graphical.target或systemctl isolate runlevel5.target
2、如何改變預設運行層級?
systemd使用連結來指向預設的運行層級。在建立新的連結前,可以通過下面命令刪除存在的連結: rm /etc/systemd/system/default.target
預設啟動運行層級3 :
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
預設啟動運行層級5 :
ln -sf /lib/systemd/system/graphical.target/etc/systemd/system/default.target
systemd不使用/etc/inittab檔案。
-----------------------------分割線-----------------------------
如何查看當前運行層級?
舊的runlevel命令在systemd下仍然可以使用。可以繼續使用它,儘管systemd使用 ‘target’ 概念(多個的 ‘target’ 可以同時啟用)替換了之前系統的runlevel。
等價的systemd命令是systemctl list-units –type=target
CentOS 7 運行層級切換