一.centos7镜像介绍
镜像下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso
镜像名字解释:CentOS-7-x86_64-DVD-1708.iso
从centos7之后,版本命名就跟发行的日期相关了
centos-7--->系统是7.X的版本
X86_64--->64位操作系统,并且从7以后不再提供32位镜像
1708--->2017年08月发表的版本
二.centos7系统安装:
修改内核参数net.ifnames=0 biosdevname=0,使网卡名统一 (也可以不进行修改)
IP:自主定义
主机名:CentOS7
磁盘空间:100G(根据自己的磁盘空间)
防火墙和Selinux关闭
做好快照(如果是虚拟机)
注意:完整版的安装一般选择桌面版
三.开机启动流程
我们知道centos7之前的系统开机启动流程大概如下图:
1)主要用到了Sysvinit技术特点:
系统第1个进程(pid=1)为init;
Init进程是所有进程的祖先,不可kill
大多数Linux发行版的init系统是和SystemV相兼容的,被称为sysvinit。
代表系统:CentOS5 应用场景:用于服务器时代
优点:SysVinit运行非常良好,概念简单清晰。它主要依赖于Shell脚本
缺点:按照一定顺序执行启动太慢。很容易hang住,fstab与nfs挂载问题
2).Upstart技术
CentOS6采用了Upstart技术代替sysvinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间。
但是CentOS6为了简便管理员的操作,upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来SysV的形式提供的。
代表系统:CentOS6 ,Ubuntu14,从CentOS7,Ubuntu15开始使用system
3).Systemd技术
新系统都会采用的技术(RedHat7,CentOS7,Ubuntu15等);
设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度;
和 Sysvinit 兼容,降低迁移成本;
最主要优点:并行启动,相互之间不再穿行启动
Pid为1的进程
[root@centos7 ~]# ps -ef|head -2
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 11:13 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
4).三种启动方式对比:
四.并发启动原理
1.解决socket依赖/端口依赖
2.采用了D-Bus作为程序之间的通信工具,类似消息队列,可以缓存信息
3.解决文件系统依赖:优先启动要用的文件系统,其余的文件系统都延迟启动加载。
五.基本操作命令
补充安装软件包
yum -y install wget vim lrzsz bash-completion telnet nmap
关闭selinux:/etc/selinux/config
关闭防火墙:systemctl disable firewalld.service
关机做快照
六.6和7系统的区别
(1).网卡名称eth0和enp5s0/ens33
(2).网络配置相关命令
ip:yum -y install iproute
CentOS7主推使用ip、ss命令。
ifconfig: yum -y install net-tools
setup: yum -y install setuptool 废弃命令
安装好之后,你会发现里面什么都没有,这只是一个图形工具。我们需要用到的网络服务,防火墙,系统服务等需要另外再安装。
安装好setup tools工具之后,我们需要安装工具组件如ntsysv(系统服务),system-config-networktui(网络服务),iptables(防火墙配置)等。只需要部分的也可以只安装需要的也行。
nmtui:替代setup命令
(3).主机名等配置文件
修改主机名
hostname CentOS7 临时生效
编辑/etc/hostname 主机名的配置文件变了
hostnamectl set-hostname CentOS7 #→方法2,本质还是改配置文件。
修改字符集
localectl set-locale LANG=zh_CN. UTF-8
编辑/etc/locale.conf
cat /etc/redhat-release 查看系统版本号
cat /etc/os-release 所有支持systemd系统的统一发行版名称和版本号文件。
(4)兼容的/etc/rc.local
centos7需要给rc.local赋予权限:chmod +x /etc/rc.d/rc.local
(5)运行级别Runlevel
Runlevel VS System Target
[root@CentOS7 ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
当前启动级别
[root@CentOS7 ~]# systemctl get-default
multi-user.target
设置启动级别
systemctl set-default multi-user.target
(6).管理服务
chkconfig
service
/etc/init.d/
systemctl:融合service和chkconfig的功能于一体,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。。
命令对比区别表:
systemctl start crond.service和systemctl start crond效果一样。
系统相关服务列表:
(7).启动时间优化
systemd-analyze time
systemd-analyze blame
systemd-analyze plot > bootime.svg