Linux運維:CentOS6和7的區別

Liunx筆記:CentOS6和CentOS7的區別

路飛學城運維人員
在線流程圖軟件
Ago linux運維羣: 93324526 筆者QQ:578843228html


經常使用安裝包下載linux

yum install -y epel-release
yum -y install bash-completion
yum -y install net-tools
yum -y install iproute
yum -y install wget vim 
yum -y install lrzsz nmap tree dos2unix nc telnet
yum -y install openssl

1、 系統類型

1.1 sysvinit

1.  系統第一個進程(pid=1)爲init
2.  init進程是全部進程的祖先,不可kill,
3.  大多數linux發行版的init系統是和systemV相兼容,被稱爲sysvinit
4.  表明系統: C5  C6

應用場景:

用於服務器時代

優勢:

sysvinit運行很是良好,概念簡單清晰。它主要依賴於shell腳本

缺點:

1.  按照必定順序執行-->啓動太慢。
2.  很容易hang住,fstab與nfs掛載問題。

將來的趨勢:

我的PC機和移動平臺,須要便捷,快的系統。

1.2 Upstart技術

CentOS6採用了Upstart技術代替sysvinit進行引導。upstart對rc,sysinit腳本作了大量得優化,縮短了系統初始化時得啓動時間。可是C6爲了簡便管理員得操做,upstart得不少特性並無凸顯或者直接不支持。所以再C6中的服務啓動腳本仍是以原來sysv的形式提供,因此咱們依然採用sysvinit的圖講解C6的系統初始化過程(initctl)
    一個應運而生的技術,卻由於競爭對手太強大,而被淘汰。
    表明體統:C6,Ubuntu14.
http://0pointer.de/blog/projects/why.html

1.3 Systemd技術

新系統都會採用的技術(RedHat7,C7,Ubuntu15等)
    設計目標時克服sysvinit固有的缺點,提升系統的啓動速度。
    和sysvint兼容,下降遷移成本
    主要優勢:並行啓動。
    pid爲1的進程   /usr/lib/systemd/systemd
[root@aige ~]# ps -ef | head -2
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 20:39 ?        00:00:11 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

A,B,C,D四個任務有依賴關係

1.  init:總時間T1+T2+T3+T4+T5+T6+T7
2.  upstart:總時間T1+T2+T3,啓動速度加快,可是有依賴關係的服務仍是必須前後啓動。
3.  system:總時間T,即便有依賴關係的服務,也能併發啓動。
併發啓動原理之一:解決socket依賴/端口依賴。
併發啓動原理之二:解決D-Bus依賴:採用了D-Bus做爲程序之間的通訊工具,相似消息隊列,能夠緩存信息。
併發啓動原理之三:解決文件系統依賴:相似autofs機制。

1.2 CentOS7系統安裝。

地址:http://vault.centos.org/ #老版的系統
或者阿里雲鏡像。
鏡像名字解釋:CentOS-7-x86_64-DVD-1611.iso
CentOS-7:系統版本
x86_64:64位操做系統,而且從7以偶再也不提供32位鏡像。
1611:2016年11月發表的版本
圖解安裝ios

2、具體區別

區別1:網卡名稱eth0和enp5s0

傳統上,Linux的網絡接口名稱爲eth0,eth1,但這些名稱並不必定符合實際的硬件插槽等,這可能會致使不一樣的網絡配置錯誤(例如,由無心的接口更名引發的禁止接口),基於MAC短地址的udev規則在虛擬化的環境中並不有用,這裏的MAC短地址如端口數量同樣無償。
    C6/RHEL6引入了一致和可預測的網絡設備命名網絡接口的方法,這些特性能夠惟一的肯定網絡接口的名稱以使定位和區分設備更容易,而且在這樣一種方式下,不管是否重啓機器,過了多少時間,或者改變硬件,其名字都是持久不變的。然而,這種命名規則並非默認在CeentOS//RHEL6上開啓的。
    從C77/RHEL7起,這種可碰見的命名規則變成了默認。根據這一個規則,接口名稱被自動基於固件,拓撲結構和位置信息來肯定,如今即便添加或移除網絡設備,接口名稱仍然保持固定,而無需從新枚舉,和壞掉的硬件能夠無縫替換。
    可是。先進的技術向咱們屈服了。
CeentOS7修改網卡名稱爲eth0:詳情,後期補充博客。
1.  在安裝系統的時候配置:修改內核選項,net.ifnames=0 biosdevname=0
2.  已經安裝的系統修改。

區別2:網絡配置相關命令

1.ip:yum -y install iproute
CeentOS7主推薦使用,ip、ss命令
2.ifconfig:yum -y install nnet-tools
3.setup:yum -y install ssetuptool   (廢棄命令)
    安裝完以後,發現這只是一個圖形工具,須要用到的網絡服務,防火牆,系統服務等須要另外再安裝。
    安裝好setup ttools工具以後。須要安裝組件有:
    系統服務:nesysv
    網絡服務:system-config-networkui
    防火牆配置。iptables
4.nnmtui:代替setup命令

區別3:主機名等配置文件。

1.修改主機名
hostname Aige -->臨時生效
編輯/etc/hostname -->主機名的配置文件變了。
hhostnamectl set-hostname Aige ##->方法2,本質仍是改配置文件。
2.修改字符集
localectl set-locale LANG=zh_CN.UTF-8
編輯/etc/locale.conf
cat /etc/redhat-release #查看系統版本號
cat /etc/os-release   #全部支持systemd系統的統一發行版本名稱和版本號文件
2.1具體操做
[root@aige ~]# 
[root@aige ~]# hostnamectl status
   Static hostname: aige
         Icon name: computer-vm
           Chassis: vm
        Machine ID: a8c2e32a13e04d2cb34985e01cd1aa52
           Boot ID: 5ce9c2ba6ad64adda044f4b83a848d91
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64
[root@aige ~]# cat /etc/locale.conf 
LANG="en_US.UTF-8"
[root@aige ~]# localectl --h
[root@aige ~]# localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us
[root@aige ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

區別4:兼容的/etc.rc.local

C7開始不默認支持rc.local了。若有須要,請自行添加權限。
# Please note that you must run 'chmod +x /etc/rc.local' to ensure
# that this script will be executed during boot.

區別5:運行級別Runlevel

Runlevelshell

[root@aige ~]# cat /etc/inittab 
# inittab is no longer used when using systemd.

當前啓動級別。vim

[root@aige ~]# systemctl get-default 
multi-user.target

設置啓動級別centos

[root@aige ~]# systemctl set-default multi-user.target

區別6 systemd一統天下

查看從前的runlived變成了什麼樣。緩存

ls -lh /usr/lib/systemd/system/runlevel*.target

全部可用的單元文件存放在/usr/lib/systemd/system/和/etc/system/system/目錄(後者優先級更高)bash

ll -h /etc/systemd/system/default.target


[root@aige ~]# ls -lh /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Apr 21 19:33 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Apr 21 19:33 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Apr 21 19:33 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Apr 21 19:33 /usr/lib/systemd/system/runlevel6.target -> reboot.target

ls /etc/systemd/system  系統 
ls /usr/lib/systemd/system  用戶

http://www.jinbuguo.com/systemd/systemd.service.html服務器

區別7:管理服務

chkconfig
service
/etc/init.d/
systemctl:融合service和chkconfig的功能於一體,兼容sysv和LSB的啓動腳本,並且夠在進程啓動過程當中更有效地引導加載服務。網絡

sysvinit命令               systemctl命令                         備註
service crond start        systemctl start crond.service       啓動服務
service crond stop         systemctl stop crond.service        中止服務
service crond restart      systemctl restart crond.service     重啓服務
service crond reload       systemctl reload crond.service      當支持時,從新裝載配置文件而不中斷等待操做
service crond condrestart  systemctl condrestart crond.service 若是服務正在運行,那麼重啓它
service crond status       systemctl status crond.service      查看服務運行狀態

chkconfig --list           systemctl list-unit-files           輸出在各個運行級別嚇服務的啓動和禁用狀況
chkconfig crond on         systemctl enable crond.service      在下次啓動時或知足其餘觸發條件時設置服務爲啓動
chkconfig crond off        systemctl disable crond.service     在下次啓動時或知足其餘觸發條件時設置服務爲禁用
chkconfig --list crond     systemctl is-enabled crond.service  用來檢查一個服務在當前環境在被配置爲啓動仍是禁用
chkconfig --add crond      systemctl daemon-reload             當建立新服務文件或者變動設置時使用

開機自起查詢

systemctl list-unit-files
systemctl list-unit-files|grep enabled|wc -l
7.1推薦關閉服務
[root@aige ~]# systemctl list-unit-files | grep enabled
abrt-ccpp.service                           enabled       x
abrt-oops.service                           enabled       x
abrt-vmcore.service                         enabled       x
abrt-xorg.service                           enabled       x
abrtd.service                               enabled       x # 調試相關服務
auditd.service                              enabled       x # selinux 相關
crond.service                               enabled         # 定時任務
dbus-org.fedoraproject.FirewallD1.service   enabled         # d-bus相關,系統服務
dbus-org.freedesktop.NetworkManager.service enabled         # d-bus相關,系統服務
dbus-org.freedesktop.nm-dispatcher.service  enabled         # d-bus相關,系統服務
firewalld.service                           enabled       x # 防火牆
getty@.service                              enabled         # tty窗口
irqbalance.service                          enabled         # 多核cpu調度
microcode.service                           enabled       x # intel的CPU會提供一個外掛的微指令集提供系統運行
NetworkManager-dispatcher.service           enabled         # 網絡相關
NetworkManager.service                      enabled         # 網絡相關
postfix.service                             enabled       x # 系統郵件
rsyslog.service                             enabled         # 系統日誌
sshd.service                                enabled         # ssh服務
systemd-readahead-collect.service           enabled         # 系統服務
systemd-readahead-drop.service              enabled         # 系統服務
systemd-readahead-replay.service            enabled         # 系統服務
tuned.service                               enabled         # 服務器能耗管理
default.target                              enabled       
multi-user.target                           enabled       
remote-fs.target                            enabled

查看系統優化

systemd-analyze time
systemd-analyze blame
systemd-analyze plot>bootime.svg # 導出圖片

相關文章
相關標籤/搜索