CentOS7
修改網卡名稱為eth0、eth1
方法1
修改網卡名稱
-
cd /etc/sysconfig/network-scripts/
-
mv ifcfg-eno16777736 ifcfg-eth0
-
mv ifcfg-eno33554960 ifcfg-eth1
修改網卡配置文件
-
[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
-
TYPE=Ethernet
-
BOOTPROTO=static
-
NETMASK=255.255.255.0
-
IPADDR=10.0.0.110
-
GATEWAY=10.0.0.2
-
DEFROUTE=yes
-
PEERDNS=yes
-
PEERROUTES=yes
-
IPV4_FAILURE_FATAL=no
-
NAME=eth0
-
UUID=582bec32-fa8b-415e-9cdc-873035dc336d
-
DEVICE=eth0
-
ONBOOT=yes
-
[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
-
TYPE=Ethernet
-
BOOTPROTO=static
-
DEFROUTE=yes
-
PEERDNS=yes
-
PEERROUTES=yes
-
IPV4_FAILURE_FATAL=no
-
NAME=eth1
-
UUID=7a62954e-574f-41cc-b4f6-3c802fa4a819
-
DEVICE=eth1
-
ONBOOT=yes
修改grub
加入以下內容(紅色部分)
-
cat /etc/sysconfig/grub
-
GRUB_TIMEOUT=5
-
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
-
GRUB_DEFAULT=saved
-
GRUB_DISABLE_SUBMENU=true
-
GRUB_TERMINAL_OUTPUT="console"
-
GRUB_CMDLINE_LINUX="rhgb net.ifnames=0 biosdevname=0 quiet"
-
GRUB_DISABLE_RECOVERY="true"
生成啟動菜單
grub2-mkconfig -o /boot/grub2/grub.cfg
重啟系統
reboot
方法2
net.ifnames=0 biosdevname=0
-
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的功能於一體。可以使用它永久性或只在當前會話中啟用/禁用服務。
-
啟動一個服務:systemctl start postfix.service
-
關閉一個服務:systemctl stop postfix.service
-
重啟一個服務:systemctl restart postfix.service
-
顯示一個服務的狀態:systemctl status postfix.service
-
在開機時啟用一個服務:systemctl enable postfix.service
-
在開機時禁用一個服務:systemctl disable postfix.service
-
查看服務是否開機啟動:systemctl is-enabled postfix.service;echo $?
-
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
網卡名稱區別
區別1:網卡名稱eth0和enp5s0
傳統上,linux的網絡接口名稱為eth0、eth1...,但這些名稱並不一定符合實際的硬件插槽等,這可能會導致不同的網絡配置錯誤(例如,由無意的接口改名引起的禁止接口)。基於MAC地址的udev規則在虛擬化的環境中並不有用,這里的MAC地址如端口數量一樣無常
CentOS6/RHEL6引入了一致和可預測的網絡設備命名網絡接口的方法。這些特性可以唯一地確定網絡接口的名稱以使定位和區分設備更容易,並且在這樣一種方式下,無論是否重啟機器、過了多少時間或者改變硬件,其名字都是持久不變的。然而,這種命名規則並不是默認在CentOS/RHEL6上開啟
從CentOS7/RHEL7起,這種可預見的命名規則變成了默認。根據這一規則,接口名稱被自動基於固件,拓撲結構和位置信息來確定。現在,即使添加或移除網絡設備,接口名稱仍然保持固定,而無需重新枚舉,和壞掉的硬件可以無縫替換
修改主機名
-
[root@centos7 ~]# hostnamectl set-hostname c77
-
[root@centos7 ~]# hostname
-
c77
-
[root@centos7 ~]# cat /etc/hostname
-
c77
字符集
-
[root@centos7 ~]# localectl set-locale LANG=zh_CN.UTF-8
-
[root@centos7 ~]# localectl status
-
System Locale: LANG=zh_CN.UTF-8
-
VC Keymap: us
-
X11 Layout: us
-
[root@centos7 ~]# cat /etc/locale.conf
-
LANG=zh_CN.UTF-8
時區
-
[root@centos7 ~]# timedatectl status
-
Local time: Fri 2017-03-10 16:41:59 CST
-
Universal time: Fri 2017-03-10 08:41:59 UTC
-
RTC time: Fri 2017-03-10 08:41:59
-
Time zone: Asia/Shanghai (CST, +0800)
-
NTP enabled: n/a
-
NTP synchronized: no
-
RTC in local TZ: no
-
DST active: n/a
查看系統版本
-
[root@centos7 ~]# 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"
設置系統啟動級別
-
[root@centos7 ~]# systemctl set-default multi-user.target
-
Removed symlink /etc/systemd/system/default.target.
-
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
-
[root@centos7 ~]# systemctl get-default
-
multi-user.target
查看系統啟動級別
-
[root@centos7 ~]# ll -h /usr/lib/systemd/system/runlevel*.target
-
lrwxrwxrwx. 1 root root 15 Mar 10 14:02 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
-
lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel1.target -> rescue.target
-
lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
-
lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
-
lrwxrwxrwx. 1 root root 17 Mar 10 14:02 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
-
lrwxrwxrwx. 1 root root 16 Mar 10 14:02 /usr/lib/systemd/system/runlevel5.target -> graphical.target
-
lrwxrwxrwx. 1 root root 13 Mar 10 14:02 /usr/lib/systemd/system/runlevel6.target -> reboot.target
查看啟動級別
-
[root@centos72?~]#systemctl get-default
-
multi-user.target
-
[root@centos72?~]#?systemctl?set-default graphical.target
-
Removed?symlink?/etc/systemd/system/default.target.
-
Created?symlink?from?/etc/systemd/system/default.target?to?/usr/lib/systemd/system/graphical.target.
-
[root@centos72?~]#?systemctl?set-default?multi-user.target
-
Removed?symlink?/etc/systemd/system/default.target.
-
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