2021-05-12 14:32:11
最詳細的CentOS 6與7對比(一):常見設定對比
本主題將從3個角度進行對比
本文為第一部分:常見設定的對比
1. 字元集
CentOS 6
- 方法: /etc/sysconfig/i18n
CentOS 7
- 方法1: localectl set-locale LANG=en_GB.utf8
- 方法2: /etc/locale.conf中的LANG=
2. 主機名
CentOS 6
- 線上生效: hostname
- 重新啟動生效: /etc/sysconfig/network中的HOSTNAME=
CentOS 7
- 線上+重新啟動生效: hostnamectl set-hostname
3. 時區
CentOS 6
- 方法: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CentOS 7
- 方法1: 同CentOS 6
- 方法2: timedatectl set-timezone Asia/Shanghai
4. 時間同步
CentOS 6
- 逐步: ntpd或ntpdate
- 直接: ntpdate -b(通常加到crontab)
CentOS 7
- 方法1: systemctl start chronyd
-
方法2: timedatectl set-ntp yes(同systemctl start chronyd)
可以通過timedatectl | grep "NTP synchronized"判斷當前時間是否已同步
不建議用ntpd和ntpdate,RedHat強烈推薦chrony,可用於網路不穩定的環境
chrony.conf關鍵引數makestep 1.0 -1
ntpd和chronyd區別
5. 手動更改時間
CentOS 6
- 方法: date -s "2018-07-08 11:11:11"
CentOS 7
- 方法1: 同CentOS 6
- 方法2: timedatectl set-time "2018-07-08 11:11:12"(前提是timedatectl set-ntp false)
6. 單使用者修改密碼
CentOS 6: grub
介面鍵入e
,在kernel
行最後加1
,鍵入b
啟動進入單使用者模式,之後輸入passwd
修改密碼
CentOS 7: grub
介面鍵入e
,在linux16
行上將ro
改為rw
,並在當前行最後加init=/bin/sh
,鍵入ctrl-x
進入,之後輸入passwd
修改密碼
- 如果有開啟selinux,則需要在修改密碼後,重新啟動前,執行
touch /.autorelabel
- passwd執行後,最好執行sync,防止強制重新啟動導致修改密碼沒有落地
7. grub新增引數
CentOS 6:
- /boot/grub/grub.conf的kernel中加入需要新增的引數
CentOS 7:
- 步驟1:/etc/default/grub的GRUB_CMDLINE_LINUX中加入需要新增的引數
- 步驟2:grub2-mkconfig -o /boot/grub2/grub.cfg
8. 檢視開機記錄
CentOS 6: last
CentOS 7: journalctl --list-boots或last
9. 修改啟動核心
-
檢視當前啟動核心
- CentOS 6: cat /boot/grub/grub.conf中的default
- CentOS 7: grub2-editenv list
-
檢視有哪些核心
- CentOS 6: cat /boot/grub/grub.conf | sed -n '/^title/s/^title //p'
- CentOS 7: cat /boot/grub2/grub.cfg | grep '^menuentry' | awk -F"'" '{print $2}'
-
設定啟動核心
- CentOS 6:
- 修改/boot/grub/grub.conf中的default
- CentOS 7:
- 步驟1:確保/etc/default/grub中的
GRUB_DEFAULT
為saved - 步驟2:grub2-set-default 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)'
- 步驟1:確保/etc/default/grub中的
- CentOS 6:
10. rc.local
執行順序
- CentOS 6: 序列的最後一個執行
- CentOS 7: 和其他服務並行執行
可執行許可權
- CentOS 6: 預設有可執行許可權
- CentOS 7: 預設沒有可執行許可權(官方不推薦使用rc.local),需要自行增加(chmod +x /etc/rc.d/rc.local)
CentOS 7的注意事項
- rc.local由rc-local.service執行,並行執行,僅能保證在network之後啟動,因此建議rc.local裡增加sleep 10來盡可能在最後執行
- 需要在rc.local的最後一行增加exit 0,否則可能導致已啟動的進程被關閉(echo 'exit 0' >> /etc/rc.d/rc.local)
- 建議盡量使用systemd來設定服務,不要使用rc.local
11. limit設定
CentOS 6:
- 全域性設定: 沒有全域性設定的方法(/etc/security/limits.conf僅針對使用pam的進程,且有載入pam_limits.so的模組,因為limits.conf是pam_limits.so的組態檔)
- 服務設定: 只能在服務啟動前設定ulimit,才能在啟動後看到效果
CentOS 7:
- 全域性設定: /etc/systemd/system.conf裡DefaultLimitNOFILE=65535
- 服務設定: [Service]裡增加LimitNOFILE=65535
12. yum僅使用ipv4
CentOS 6: yum沒有自帶方法
CentOS 7: yum.conf裡增加ip_resolve=4
13. 徹底禁用ipv6
CentOS 6和CentOS 7相同
- 在grub上增加ipv6.disable=1
檢視是否徹底關閉
- sysctl -a | grep -i ipv6如果沒有任何輸出,則表示徹底關閉
14. 防火牆
CentOS 6
- 預設開啟iptables服務,只不過預設沒有條目
CentOS 7
- 預設安裝並開啟firewalld服務
- 預設不安裝iptables服務(yum install iptables-services)
15. NetworkManager
CentOS 6: 預設未安裝
CentOS 7: 預設安裝並啟動
16. 網絡卡名
CentOS 6:
- 系統安裝完,預設是em1開始,這其實是在裝機完成時在udev裡做的系結
- 把/etc/udev/rules.d/70-persistent-net.rules內容清空,則恢復成eth0開始編號
CentOS 7:
- 不再通過udev系結網絡卡名,預設是em1開始,有的是eno、enp、ens等名字
- 如果想恢復eth0,則/etc/default/grub裡增加net.ifnames=0 biosdevname=0
- 如果想讓CentOS 6的網絡卡名不受udev影響,達到CentOS 7的效果,則刪除3個檔案即可
rm -f /etc/udev/rules.d/70-persistent-net.rules
rm -f /lib/udev/write_net_rules
rm -f /lib/udev/rules.d/75-persistent-net-generator.rules
網絡卡名規則
- eno:主機板板載網絡卡
- enp:獨立網絡卡(PCI網絡卡)
- ens:熱插拔網絡卡(usb之類)
- 參考:https://www.linuxidc.com/Linux/2019-10/161096.htm
17. CPU頻率(performance)
CentOS 6
- 始終:2.1GHz
CentOS 7:
- 空閒:1.2GHz
- sysbench 1執行緒壓測:一個物理cpu所有核的頻率瞬間增長,其中最高打到2.6GHz
- sysbench 42執行緒壓測:所有cpu所有核的頻率全部達到2.4GHz
- 若要和6一樣保持頻率,則在/etc/default/grub裡增加intel_pstate=disable(不建議,因為效能沒有任何提升,還在某些情況下降)
相關文章