首页 > 代码库 > CentOS7 快速上手
CentOS7 快速上手
CentOS7的4种target模式:
centos7不再像centos6那样有0-6运行级别,而是换成了4个target模式:
(1)graphical.target,多人模式,支持图形和命令行两种登录,对应3和5级别
(2)multi-user.target,多人模式,支持命令行登录,对应3级别
(3)rescue.target,担任模式,对应1级别
(4)emergency.target,单人模式,只读系统
使用单人模式更改root密码:
centos7采用的是grub2启动方式,和之前的centos6的grub1方式有所不同。
(1)开机后按上下方向键选中“Centos Linux (3.10.0-327.el7.x86_64) 7 (Core)”
(2)按字母e进入编辑模式,定位到“linux16”开头的行,在后面加上"rd.break",按Ctrl+X启动
(3)进入单人模式后,重新挂载原始系统到/sysroot,增加写权限:mount -o remount,rw /sysroot/
(4)切换到原始系统的环境下:chroot /sysroot/
(5)使selinux生效:touch /.autorelabel
(7)设置语言为英文:LANG=en
(8)更改root密码:passwd
(9)设置完root密码后退出原始系统环境:Ctrl+d或者exit
(10)重启系统即可使用新的root密码登录系统:reboot或者init 6
PS:可以删除步骤(2)添加的rd.break
使用救援模式更改root密码:
(1)设置从光驱启动
(2)开机后,按方向键选中Troubleshooting模式,回车
(3)在Troubleshooting模式按方向键下选中"Rescue a CentOS system",回车
(4)按回车开始安装过程,稍等即可进入Rescue模式
(5)Rescue有4个选项,输入1(选择continue),回车即可进入Rescue的shell模式
(6)切换到本地系统环境下:chroot /mnt/sysimage
(7)更改root密码:passwd
(8)改好后退出本地系统:Ctrl+d或者exit
(9)重启系统即可使用新的root密码登录:reboot或者init 6
PS:下次开机前请重新设置为从本地硬盘启动系统
为CentOS7配置IP地址:
centos7网卡名字不再是eth0、eth1,而是以eno加数字表示(如:eno16777736);
最小化安装默认是没有ifconfig命令的,可以使用ip addr命令查看IP;
要想继续使用ifconfig命令需要安装net-tools工具包:yum install -y net-tools
(1)使用dhclient命令自动获取一个IP:dhclient
如:192.168.147.138,动态获取的IP在下次开机后失效,要永久使用可以编辑配置文件
(2)编辑网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
(3)将ONBOOT的值改为yes,让其开机启动
(4)在最后面加入如下配置:
IPADDR=192.168.147.138
NETMASK=255.255.255.0
GATEWAY=192.168.147.2
DNS1=119.29.29.29
(5)配置好后重启网络服务:systemctl restart network.service
(6)查看配置的IP信息:ip addr
(7)测试IP是否可用:ping www.baidu.com
centos7设置主机名:
查看主机名:hostname
设置主机名:hostnamectl set-hostname rachy
查看主机名状态:hostnamectl status
查看主机名配置文件:cat /etc/hostname
PS:虽然可以像centos6那样使用hostname rachy设置主机名,但是还需要修改主机名配置文件,使用hostnamectl ser-hostname rachy可以直接把主机名写入配置文件/etc/hostname,更便捷
centos7支持命令、选项、参数补全:
安装bash-completion工具包:yum install -y bash-completion
使配置立即生效:source /etc/profile
PS:centos6只能使用Tab键补全命令和路径;centos7借助bash-completion工具包可以使用Tab补全命令、选项、参数和路径,更高效。
centos7管理服务:
centos7不再有chkconfig工具,而是使用systemd工具管理服务,对应的命令是systemctl
(1)设置服务开机启动:systemctl enable httpd.service
(2)设置服务不开机启动:systemctl disable httpd.service
(3)查看服务的状态:systemctl status httpd.service
(4)列出所有服务:systemctl list-units --type=service
(5)启动服务:systemctl start httpd.service
(6)停止服务:systemctl stop httpd.service
(7)重启服务:systemctl restart httpd.service
(8)启动脚本的路径在:/usr/lib/systemd/system/
(9)检查服务是否开机启动:systemctl is-enabled httpd
systemd之unit
systemd管理服务的机制的特点:
(1)支持服务并列启动,不用顺序启动,从而开机时间缩短
(2)支持自动检查服务依赖的服务
(3)systemd可以管理所有系统资源,不同的资源统称为unit(单位)
(4)unit一共分成12种类型:
service:系统服务
target:多个unit构成的一个组
device:硬件设备
mount:文件系统挂载点
automount:自动挂载点
path:文件或者路径
scope:不是由systemd启动的外部进程
slice:进程组
snapshot:systemd快照,可以切换回某个快照
socket:进程间通信的socket
swap:swap文件
timer:定时器
systemd unit的相关命令:
(1)列出正在运行的unit:systemctl list-units
(2)列出所有unit,包括没有找到配置文件的或者启动失败的:systemctl list-units --all
(3)列出所有没有运行的unit:systemctl list-units --all -state=inactive
(4)列出所有加载失败的unit:systemctl list-units --failed
(5)列出所有正在运行的类型为service的unit:systemctl list-units --type=service
(6)显示某个unit是否正在运行:systemctl is-active httpd.service
(7)显示某个unit是否处于启动失败状态:systemctl is-failed httpd.service
(8)显示某个unit服务是否建立了启动链接:systemctl is-enabled httpd.service
systemd之target
target类似于centos6里面的启动级别,但是target支持多个target同时启动。target其实就是多个unit的组合,系统启动说白了就是启动多个unit,为了管理方便,就使用target来管理这些unit。
查看当前系统的所有target:systemctl list-unit-files --type=target
查看一个target包含的所有unit:systemctl list-dependencies multi-user.target
查看默认启动的target:systemctl get-default
设置默认启动的target:systemctl set-default multi-user.target
切换target时默认不关闭前一个target启动的进程:systemctl multi-user.target
使用systemctl isolate命令可以改变这种行为,关闭前一个target里面所有不属于后一个target的进程:systemctl isolate multi-user.target
systemd unit target关联
主配置文件:/etc/systemd/system.conf
开机会先加载:/etc/systemd/system/default.target
所有的service和target在目录下:/usr/lib/systemd/system/
ls -l /etc/systemd/system/default.target是一个软链接,链接到了当前设置的默认target,例如:/usr/lib/systemd/system/multi-user.target
它会加载/usr/lib/systemd/system/multi-user.target.wants目录下的service
查看一个service属于哪个target,需要cat具体的service文件中的[install]模块:
cat /usr/lib/sytemd/system/sshd.service
CentOS7 快速上手