之前一直都是用的是 Linux 5 和 6 版本,聽説 7 版本相比之前的有一些新變化,於是在電腦上裝了一個 CentOS 7 來學習一下,發現與之前版本相比,的確改變很大,估計不少人和我一樣用的有點不太習慣。
下面簡要舉例説明變化比較大的要點:
1 、裝機
在裝機時,以前的 Centos 選包都可以全選的,但現在是隻能單選一項了,有子選項重複的;當裝到選擇分割槽時,Centos 7 推薦的分割槽是 xfs,而不是之前的 ext4 了。
2 、初次啓動
裝完機後,開機進系統的介面換了,乍一看以為是兩個核心,原來有一個是 rescue 選擇,而且按 e 後,會發現所有的 grub.conf 的資訊全出來了,好不容易找到核心啓動的地方,寫了個 1(目的是要進入單使用者模式),然後進了 rescue 模式。
3 、啓動順序
進系統後,是圖形介面,想進字元介面,修改/etc/inittab,發現是個空檔案,全部都是註釋資訊,註釋中提示想改 runlevel 的話,可以把/lib/systemd/system/runlevel*.target 軟連到/etc/systemd/system/default.target 下(當然考過來,覆蓋也行),試了一下還行,能改到字元介面 3 。
原來從 Centos7 以後採用 target 概念來定義執行級別,分為 3 級、 5 級,含義如下:
第 3 執行級用 multi-user.target 替代,第 5 執行級用 graphical.target 替代。 runlevel3.target 和 runlevel5.target 分別是指向 multi-user.target 和 graphical.target 的符號連結。
使用下面的命令切換到” 執行級別 3 “:
systemctl isolate multi-user.target 或 systemctl isolate runlevel3.target
使用下面的命令切換到” 執行級別 5 “:
systemctl isolate graphical.target 或 systemctl isolate runlevel5.target
(1)檢視當前執行的級別
runlevel
(2)檢視開機預設執行級別:
systemctl get-default
(3)修改開機預設執行級別命令
systemctl set-default multi-user.target(或 graphical.target)
或者使用如下命令:
預設啓動執行級別 3 :
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
預設啓動執行級別 5 :
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
4 、配置互聯網和 WordPress 主機名
配置互聯網,進/etc/sysconfig/network-script/一看,網絡卡改名了 enp1s5,有趣,配置完互聯網後改 WordPress 主機名, 到/etc/sysconfig/network 去改名字,發現這個檔案也是空的,按原 6 版本的去修改,重啓後沒效果,man 了一下 hostname, 發現 7 中改名要到/etc/hostname 去改名字。
5 、 LVM 和 XFS
裝一個 lvm 玩玩,於是就分割槽,格式化(特意格式化為了 xfs),pv 、 vg 、 lv 一步一步,都沒問題,然後想著放大,縮小,這時出問題了,執行 resize2fs 時,怎麼一直報 superblock 什麼的錯誤,然後 man resize2fs 一下,發現這命令只支援 ext 的檔案系統!
6 、服務管理
Centos 的 service 是使用了 systemd 來代替 sysvinit 管理,systemd 的服務管理程式,systemctl 是主要的工具,它融合之前 service 和 chkconfig 的功能於一體。可以使用它永久性或只在當前會話中啓用/禁用服務。
(1)啓動一個服務:systemctl start postfix.service
(2)關閉一個服務:systemctl stop postfix.service
(3)重啓一個服務:systemctl restartpostfix.service
(4)顯示服務狀態:systemctl statuspostfix.service
(5)開機時啓用一個服務:systemctl enable postfix.service
(6)開機時禁用一個服務:systemctl disable postfix.service
(7)檢視服務是否開機啓動:systemctl is-enabled postfix.service
(8)檢視已啓動的服務列表:systemctl list-unit-files|grep enabled
説明:啓用服務就是在當前 “runlevel” 的配置檔案目錄/etc/systemd/system/multi-user.target.wants/裏,建立/usr/lib/systemd/system 裏面對應服務配置檔案的軟連結,禁用服務就是刪除此軟連結。
還有就是防火牆,這次也不是作為一個服務在/etc/init.d/下面了,名字改成了 firewalld
還發現/etc/sysctl.conf 也空了,想做一個路由轉發要到/proc/sys/net 下;