Centos7與Centos6的區別


CentOS7

修改網卡名稱為eth0、eth1

方法1

修改網卡名稱

  1. cd /etc/sysconfig/network-scripts/
  2. mv ifcfg-eno16777736 ifcfg-eth0
  3. mv ifcfg-eno33554960 ifcfg-eth1

修改網卡配置文件

  1. [root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. TYPE=Ethernet
  3. BOOTPROTO=static
  4. NETMASK=255.255.255.0
  5. IPADDR=10.0.0.110
  6. GATEWAY=10.0.0.2
  7. DEFROUTE=yes
  8. PEERDNS=yes
  9. PEERROUTES=yes
  10. IPV4_FAILURE_FATAL=no
  11. NAME=eth0
  12. UUID=582bec32-fa8b-415e-9cdc-873035dc336d
  13. DEVICE=eth0
  14. ONBOOT=yes
  15. [root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
  16. TYPE=Ethernet
  17. BOOTPROTO=static
  18. DEFROUTE=yes
  19. PEERDNS=yes
  20. PEERROUTES=yes
  21. IPV4_FAILURE_FATAL=no
  22. NAME=eth1
  23. UUID=7a62954e-574f-41cc-b4f6-3c802fa4a819
  24. DEVICE=eth1
  25. ONBOOT=yes

修改grub

加入以下內容(紅色部分)

  1. cat /etc/sysconfig/grub
  2. GRUB_TIMEOUT=5
  3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  4. GRUB_DEFAULT=saved
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL_OUTPUT="console"
  7. GRUB_CMDLINE_LINUX="rhgb net.ifnames=0 biosdevname=0 quiet"
  8. GRUB_DISABLE_RECOVERY="true"

 

生成啟動菜單

grub2-mkconfig -o /boot/grub2/grub.cfg

 

 

重啟系統

reboot

 

方法2

net.ifnames=0 biosdevname=0

 

  1. vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet net.ifnames=0 biosdevname=0

 

方法3

cobbler裝機時設置

安裝一些基礎命令

yum -y install wget vim bash-completion lrzsz nmap telnet tree net-tools bind-utils

 

關閉防火牆和 selinux

關閉防火牆

systemctl stop firewalld.service

禁止防火牆開機啟動

systemctl disable firewalld.service

 

systemctl stop NetworkManager.service

systemctl disable NetworkManager.service

 

關閉selinux

[root@bogon ~]# getenforce

Enforcing

[root@bogon ~]# setenforce 0

[root@bogon ~]# getenforce

Permissive

[root@bogon ~]# vim /etc/selinux/config

 

 

開機啟動流程

sysvinit技術

特點:

1、系統第一個進程(pid=1) 為 init

2、init進程是所有進程的祖先,不可kill

3、大多數linux發行版的init系統是和systemv相兼容的,被稱為sysvinit

4、代表系統 CentOS5 CentOS 6

應用場景

用於服務器時代

 

優點

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

 

缺點

1、 按照一定順序執行 啟動太慢

2、很容易夯住,fstab與nfs掛載問題

 

未來的趨勢

個人pc機和移動平台,需要便捷、快的系統

 

5 upstart技術

CentOS6采用了upstart技術代替sysvinit進行引導,upstart對rc.sysinit腳本做了大量的優化,縮短了系統初始化時的啟動時間。但是CentOS6為了簡便管理員的操作,upstart的很多特性並沒有凸顯或者直接不支持,因此在CentOS6中的服務啟動腳本還是以原來sysv的形式提供的

 

一個應運而生的技術,卻因為競爭對手太強大,而被淘汰

代表系統:Ubuntu14,從ubuntu15開始使用systemd

http://0pointer.de/blog/projects/why.html

initctl start  服務名

disable

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 16:29 ? 00:00:02 /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、systemd:總時間T,即使有依賴關系的服務,也能並發啟動

並發啟動原理之一:解決socket依賴/端口依賴

並發啟動原理之二:解決D-Bus依賴:采用了D-Bus作為程序之間的通信工具,類似消息隊列,可以緩存信息

並發啟動原理之三:解決文件系統依賴:類似autofs機制

 

CentOS7系統安裝

下載地址:

http://vault.centos.org/

鏡像名稱解釋

CentOS-7-x86_64-DVD-1611.iso

從CentOS 7 之后,版本命名就跟發行的日期有關了

CentOS-7 系統是7.x版本

x86_64 64位操作系統,並且從7以后不再提供32位鏡像

1611 2016年11月發布的版本

CentOS6到CentOS-7變化

使用CentOS-7最直觀的變化就是服務管理了。

services使用了systemd來代替sysvinit管理
        systemd是Linux下的一種init軟件,由Lennart Poettering帶頭開發,並在LGPL 2.1及其后續版本許可證下開源發布。其開發目標是提供更優秀的框架以表示系統服務間的依賴關系,並依此實現系統初始化時服務的並行啟動,同時達到降低Shell的系統開銷的效果,最終代替現在常用的System V與BSD風格init程序。
與多數發行版使用的System V風格init相比,systemd采用了以下新技術:
采用Socket激活式與總線激活式服務,以提高相互依賴的各服務的並行運行性能;
用cgroups代替PID來追蹤進程,以此即使是兩次fork之后生成的守護進程也不會脫離systemd的控制。
從設計構思上說,由於systemd使用了cgroup與fanotify等組件以實現其特性,所以只適用於Linux。

systemd的服務管理程序
systemctl是主要的工具,它融合之前service和chkconfig的功能於一體。可以使用它永久性或只在當前會話中啟用/禁用服務。

  1. 啟動一個服務:systemctl start postfix.service
  2. 關閉一個服務:systemctl stop postfix.service
  3. 重啟一個服務:systemctl restart postfix.service
  4. 顯示一個服務的狀態:systemctl status postfix.service
  5. 在開機時啟用一個服務:systemctl enable postfix.service
  6. 在開機時禁用一個服務:systemctl disable postfix.service
  7. 查看服務是否開機啟動:systemctl is-enabled postfix.service;echo $?
  8. 查看已啟動的服務列表:systemctl list-unit-files|grep enabled

網卡名稱區別

區別1:網卡名稱eth0和enp5s0

傳統上,linux的網絡接口名稱為eth0、eth1...,但這些名稱並不一定符合實際的硬件插槽等,這可能會導致不同的網絡配置錯誤(例如,由無意的接口改名引起的禁止接口)。基於MAC地址的udev規則在虛擬化的環境中並不有用,這里的MAC地址如端口數量一樣無常

CentOS6/RHEL6引入了一致和可預測的網絡設備命名網絡接口的方法。這些特性可以唯一地確定網絡接口的名稱以使定位和區分設備更容易,並且在這樣一種方式下,無論是否重啟機器、過了多少時間或者改變硬件,其名字都是持久不變的。然而,這種命名規則並不是默認在CentOS/RHEL6上開啟

從CentOS7/RHEL7起,這種可預見的命名規則變成了默認。根據這一規則,接口名稱被自動基於固件,拓撲結構和位置信息來確定。現在,即使添加或移除網絡設備,接口名稱仍然保持固定,而無需重新枚舉,和壞掉的硬件可以無縫替換

修改主機名

  1. [root@centos7 ~]# hostnamectl set-hostname c77
  2. [root@centos7 ~]# hostname
  3. c77
  4. [root@centos7 ~]# cat /etc/hostname
  5. c77

字符集

  1. [root@centos7 ~]# localectl set-locale LANG=zh_CN.UTF-8
  2. [root@centos7 ~]# localectl status
  3.    System Locale: LANG=zh_CN.UTF-8
  4.        VC Keymap: us
  5.       X11 Layout: us
  6. [root@centos7 ~]# cat /etc/locale.conf
  7. LANG=zh_CN.UTF-8

時區

  1. [root@centos7 ~]# timedatectl status
  2.       Local time: Fri 2017-03-10 16:41:59 CST
  3.   Universal time: Fri 2017-03-10 08:41:59 UTC
  4.         RTC time: Fri 2017-03-10 08:41:59
  5.        Time zone: Asia/Shanghai (CST, +0800)
  6.      NTP enabled: n/a
  7. NTP synchronized: no
  8.  RTC in local TZ: no
  9.       DST active: n/a

查看系統版本

  1. [root@centos7 ~]# cat /etc/os-release
  2. NAME="CentOS Linux"
  3. VERSION="7 (Core)"
  4. ID="centos"
  5. ID_LIKE="rhel fedora"
  6. VERSION_ID="7"
  7. PRETTY_NAME="CentOS Linux 7 (Core)"
  8. ANSI_COLOR="0;31"
  9. CPE_NAME="cpe:/o:centos:centos:7"
  10. HOME_URL="https://www.centos.org/"
  11. BUG_REPORT_URL="https://bugs.centos.org/"
  12.  
  13. CENTOS_MANTISBT_PROJECT="CentOS-7"
  14. CENTOS_MANTISBT_PROJECT_VERSION="7"
  15. REDHAT_SUPPORT_PRODUCT="centos"
  16. REDHAT_SUPPORT_PRODUCT_VERSION="7"

設置系統啟動級別

  1. [root@centos7 ~]# systemctl set-default multi-user.target
  2. Removed symlink /etc/systemd/system/default.target.
  3. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
  4. [root@centos7 ~]# systemctl get-default
  5. multi-user.target

查看系統啟動級別

  1. [root@centos7 ~]# ll -h /usr/lib/systemd/system/runlevel*.target
  2. lrwxrwxrwx. 1 root root 15 Mar 10 14:02 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
  3. lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel1.target -> rescue.target
  4. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
  5. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
  6. lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
  7. lrwxrwxrwx. 1 root root 16 Mar 10 14:02 /usr/lib/systemd/system/runlevel5.target -> graphical.target
  8. lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel6.target -> reboot.target

查看啟動級別

  1. [root@centos72?~]#systemctl get-default
  2. multi-user.target
  3. [root@centos72?~]#?systemctl?set-default graphical.target
  4. Removed?symlink?/etc/systemd/system/default.target.
  5. Created?symlink?from?/etc/systemd/system/default.target?to?/usr/lib/systemd/system/graphical.target.
  6. [root@centos72?~]#?systemctl?set-default?multi-user.target
  7. Removed?symlink?/etc/systemd/system/default.target.
  8. Created?symlink?from?/etc/systemd/system/default.target?to?/usr/lib/systemd/system/multi-user.target.

服務管理程序存放位置

/usr/lib/systemd/system

/etc/systemd/system/

[root@centos7 ~]# ll -h /etc/systemd/system/default.target

lrwxrwxrwx 1 root root 41 Mar 10 16:49 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

 

systemd 管理程序

 

Sysvinit

Systemd

備注

/etc/init.d/crond start

systemctl start crond.service

啟動服務

/etc/init.d/crond stop

systemctl stop crond.service

停止服務

/etc/init.d/crond restart

systemctl restart crond.service

重啟服務

/etc/init.d/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

修改服務文件時更新設置

 

系統服務啟動時間查看

systemd-analyze time

systemd-analyze blame

  

導出圖片

systemd-analyze plot > bootime.svg

 

 

學習資料:

http://www.jinbuguo.com/systemd/systemd.service.html

 
https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/index.html


http://www.cnblogs.com/justphp/p/6120201.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM