开机启动
Centos6的安装
# 检测镜像 选择跳过(skip)
密码必须六位
# 选择自由分区 分为 boot(启动) swap(虚拟内存) /(根)三个分区
# 选择最小化安装
# 重启网卡需要在/etc/init.d/network restart
Centos6的启动顺序
内核引导
打开电源,BIOS加电自检 (VMware进bios在电源选项中的打开电源时进入固件)
检测硬件是否损坏:CPU 、内存、磁盘
读取/boot目录下的文件,加载启动文件,GRUB菜单
GRUB 菜单提供已安装系统的选项,如果是多系统,选择要进入的系统
运行init查看修改系统级别
# 在Cencos6中都是进程都是从init开始的。init才是爸爸
[root@cenos6 ~]# pstree
init─┬─auditd───{auditd}
├─crond
├─login───bash
├─master─┬─pickup
│ └─qmgr
├─5*[mingetty]
├─rsyslogd───3*[{rsyslogd}]
├─sshd─┬─sshd─┬─bash
│ │ └─sftp-server
│ └─sshd─┬─bash───pstree
│ └─sftp-server
└─udevd───2*[udevd]
# init运行级别 在/etc/inittab中存储
[root@cenos6 ~]# cat /etc/inittab
# 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:
## 中文翻译
0 级别 init 0 ----- 关机
1级别 init 1 ----- 单用户级别(用来恢复root用户密码)
2级别 init 2 ----- 多用户模式,无系统文件,无网络
3级别 init 3 ----- 完整的多用户模式,有系统文件,有网络
4级别 init 4 ----- 未被使用的运行级别
5级别 init 5 ----- 切换到图形化界面(没安装则无效)
6级别 init 6 ----- 重启
## 修改
[root@cenos6 ~]# vi /etc/inittab
# 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: ------------------ 修改id后面的数字来对应上面的运行等级
查看系统运行级别runlevel
runlevel 用来查看系统运行级别 N代表上次运行的级别 3代表现在的级别
[root@cenos6 ~]# runlevel
N 3
开机启动chkconfig
[root@cenos6 ~]# chkconfig 查看开机启动有那些进程 找到当前级别3 所对应的
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
kdump 0:off 1:off 2:off 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
看开机启动顺序/etc/rc3.d/
# 文件存在/etc/rc3.d/目录下 S代表启动顺序 K代表关机顺序
[root@cenos6 ~]# ll /etc/rc3.d/
lrwxrwxrwx. 1 root root 19 Apr 29 22:54 K10saslauthd -> ../init.d/saslauthd
lrwxrwxrwx. 1 root root 21 Apr 29 22:54 K87restorecond -> ../init.d/restorecond
lrwxrwxrwx. 1 root root 20 Apr 29 22:54 K89netconsole -> ../init.d/netconsole
lrwxrwxrwx. 1 root root 15 Apr 29 22:54 K89rdisc -> ../init.d/rdisc
lrwxrwxrwx. 1 root root 19 Apr 29 22:54 S08ip6tables -> ../init.d/ip6tables
lrwxrwxrwx. 1 root root 18 Apr 29 22:54 S08iptables -> ../init.d/iptables
lrwxrwxrwx. 1 root root 17 Apr 29 22:54 S10network -> ../init.d/network
lrwxrwxrwx. 1 root root 16 Apr 29 22:55 S11auditd -> ../init.d/auditd
lrwxrwxrwx. 1 root root 17 Apr 29 22:54 S12rsyslog -> ../init.d/rsyslog
lrwxrwxrwx. 1 root root 19 Apr 29 22:54 S15mdmonitor -> ../init.d/mdmonitor
lrwxrwxrwx. 1 root root 15 Apr 29 22:54 S25netfs -> ../init.d/netfs
lrwxrwxrwx. 1 root root 19 Apr 29 22:54 S26udev-post -> ../init.d/udev-post
lrwxrwxrwx. 1 root root 15 Apr 29 22:55 S50kdump -> ../init.d/kdump
lrwxrwxrwx. 1 root root 14 Apr 29 22:55 S55sshd -> ../init.d/sshd
lrwxrwxrwx. 1 root root 17 Apr 29 22:54 S80postfix -> ../init.d/postfix
lrwxrwxrwx. 1 root root 15 Apr 29 22:54 S90crond -> ../init.d/crond
lrwxrwxrwx. 1 root root 11 Apr 29 22:54 S99local -> ../rc.local
[root@cenos6 rc3.d]# cat K89netconsole
#!/bin/bash
# chkconfig: - 11 89
在所有级别中 关机第11 开机第89
建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
pts/0
用户登录系统
一般来说,用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登录
总结Centos6启动顺序
BIOS加电自检
内核引导
读取GRUB菜单
运行init,读取/etc/inittab默认运行级别
按顺序启动其他服务/etc/rcN.d
建立终端
用户登录
Centos7启动顺序
Centos6 |
Centos7 |
bios自检 |
bios自检 |
MBR(引导) |
MBR(引导) |
Kerbnel(内核引导) |
Kerbnel(内核引导) |
init加载进程(读取运行级别) |
systemd加载进程 |
按顺序启动其他服务/etc/rcN.d |
按顺序启动其他服务 systemctl list-unit-files |
建立终端2 |
建立终端 |
用户登录 |
用户登录 |
Centos7运行级别(/usr/lib/systemd/system/runlevel*)
运行级别文件在/usr/lib/systemd/system/目录下 都是以软连接的形势存在。
[root@mb system]# ll /usr/lib/systemd/system/|grep '^l'
lrwxrwxrwx. 1 root root 15 Mar 25 22:22 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Mar 25 22:22 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Mar 25 22:22 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Mar 25 22:22 runlevel6.target -> reboot.target
lrwxrwxrwx. 1 root root 15 Mar 25 22:22 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Mar 25 22:22 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Mar 25 22:22 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Mar 25 22:22 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Mar 25 22:22 runlevel6.target -> reboot.target
runlevel0.target -> poweroff.target runlevel0.target ----- 关机
runlevel1.target -> rescue.target runlevel1.target ----- 单用户模式(root密码,运行级别)
runlevel2.target -> multi-user.target runlevel2.target ----- 多用户完整模式
runlevel3.target -> multi-user.target runlevel3.target ----- 多用户完整模式
runlevel4.target -> multi-user.target runlevel4.target ----- 多用户完整模式
runlevel5.target -> graphical.target runlevel5.target ----- 图形化界面
runlevel6.target -> reboot.target runlevel6.target ----- 重启
Centos7系统修改查看运行级别runlevel,systemctl get-default
## 查看
runlevel 查看系统运行级别 N上次运行级别 3是现在运行的级别
[root@mb ~]# runlevel
N 3
systemctl get-default 查询现在运行的级别
[root@mb system]# systemctl get-default
multi-user.target
## 修改系统运行级别
systemctl set-default <target_name>
<target_name>
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
Centos7 开机启动项
## 查看开机启动项 systemctl list-unit-files
## ----- enabled代表启动 disable代表关闭
[root@mb systemd]# systemctl list-unit-files|grep enabled
auditd.service enabled
[email protected] enabled
crond.service enabled
dbus-org.fedoraproject.FirewallD1.service enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
firewalld.service enabled
[email protected] enabled
irqbalance.service enabled
microcode.service enabled
NetworkManager-dispatcher.service enabled
NetworkManager-wait-online.service enabled
NetworkManager.service enabled
postfix.service enabled
rhel-autorelabel-mark.service enabled
rhel-autorelabel.service enabled
rhel-configure.service enabled
rhel-dmesg.service enabled
rhel-domainname.service enabled
rhel-import-state.service enabled
rhel-loadmodules.service enabled
rhel-readonly.service enabled
rsyslog.service enabled
sshd.service enabled
sysstat.service enabled
systemd-readahead-collect.service enabled
systemd-readahead-drop.service enabled
systemd-readahead-replay.service enabled
tuned.service enabled
vgauthd.service enabled
vmtoolsd.service enabled
default.target enabled
multi-user.target enabled
remote-fs.target enabled
runlevel2.target enabled
runlevel3.target enabled
runlevel4.target enabled
查看添加取消开机启动
systemctl list-unit-files ----- 查看所有的开机启动项
systemctl enable <服务名> ----- 设置一个服务为开机启动
systemctl disable <服务名> ----- 禁用一个服务开机启动
进入单用户模式
Centos6进入单用户模式(修改root密码)
在启动的时候按e(疯狂的按),进入此界面 再按一下e
选择Kernel(内核) 按e
在空格后面输入1 或者 single 再按回车返回上一级目录
选择Kernel 按b进入
成功进入系统 可以修改密码
使用 passwd root
配合 reboot
Centos7 进入单用户模式(修改root密码)
再启动界面按e
在linunx16所在行后面加上 enforcing=0(将seliunx临时关闭) init=/bin/bash (指定用bash) CTRL + X 运行
mount -o rw ,remorun / ----- 挂载根目录为可读可写
setenforce=0 ------ 临时关闭selinux
vi /etc/sysconfig/selinux
SELINUX=disabled ------ 永久关闭selinux
passwd ----- 修改密码
exec /sbin/init ----- 重新引导
Centos7进入单用户模式(修改运行级别)
按e进入编辑模式 在后面输入rd.break
mount -o rw,remount /sysroot ---------挂载sysroot目录
chroot /sysroot ---------获取root权限
setenforce=0 ---------临时关闭selinux
vi /etc/sysconfig/selinux
SELINUX=disabled --------永久关闭selinux
passwd --------修改密码
systemctl set-default reboot.target -------修改系统运行等级
exit ------- 退出
reboot ------ 重启(死循环)
关机重启命令
关机 |
重启 |
init 0 |
init 6 |
poweroff |
reboot |
halt |
|
shutdown -h now |
shutdown -r now |
shutdown -h 10 |
shutdown -r 10 |
|
|
取消定时任务 |
shutdown -c |
同步数据 |
sync |