最詳細的CentOS 6與7對比(一):常見設置對比

本主題將從3個角度進行對比html

  1. 常見設置(CentOS 6 vs CentOS 7)
  2. 服務管理(Sysvinit vs Upstart vs Systemd)
  3. 性能測試(cpu/mem/io/oltp)

本文爲第一部分:常見設置的對比linux


1. 字符集

CentOS 6ios

  • 方法: /etc/sysconfig/i18n

CentOS 7centos

  • 方法1: localectl set-locale LANG=en_GB.utf8
  • 方法2: /etc/locale.conf中的LANG=

2. 主機名

CentOS 6網絡

  • 在線生效: hostname
  • 重啓生效: /etc/sysconfig/network中的HOSTNAME=

CentOS 7ide

  • 在線+重啓生效: 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 6ui

  • 逐步: ntpd或ntpdate
  • 直接: ntpdate -b(一般加到crontab)

CentOS 7spa

  • 方法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. 修改啓動內核

  1. 查看當前啓動內核

    • CentOS 6: cat /boot/grub/grub.conf中的default
    • CentOS 7: grub2-editenv list
  2. 查看有哪些內核

    • 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}'
  3. 設置啓動內核

    • 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)'

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

網卡名規則

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(不建議,由於性能沒有任何提高,還在某些狀況降低)
相關文章
相關標籤/搜索