一.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