Linux 操做系統的啓動首先從 BIOS 開始,進入 boot loader,由 bootloader 載入內核,進行內核初始化。內核初始化的最後一步就是啓動 pid 爲 1 的 init 進程。這個進程是系統的第一個進程。它負責產生其餘全部用戶進程。init 以守護進程方式存在,是全部其餘進程的祖先。init 進程很是獨特,可以完成其餘進程沒法完成的任務。node
Sysvinit就是 system V 風格的 init 系統,Sysvinit 用術語 runlevel 來定義'預訂的運行模式'。Sysvinit 檢查 '/etc/inittab' 文件中是否含有 'initdefault' 項。 這告訴 init 系統是否有一個默認運行模式。Sysvinit 使用腳本,文件命名規則和軟連接來實現不一樣的 runlevel,串行啓動各個進程及服務。python
Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提升系統的啓動速度。systemd 和 ubuntu 的 upstart 是競爭對手,預計會取代 UpStart。Systemd的目標就是儘量啓動更少的進程,儘量將更多進程並行啓動。linux
文件系統的區別,Centos6.x廣泛採用 ext3\ext4文件系統格式,而centos7默認採用xfs格式:
EXT3 支持的最大 16TB 文件系統和最大 2TB 文件,Ext4 分別支持
1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系統,以及 16TB 的文件。Ext3 目前只支持 32,000個子目錄,而 Ext4 支持無限數量的子目錄。ubuntu
EXT4是第四代擴展文件系統(英語:Fourth EXtended filesystem,縮寫爲ext4)是Linux系統下的日誌文件系統,是ext3文件系統的後繼版本。centos
Ext4的文件系統容量達到1EB,而單個文件容量則達到16TB,這是一個很是大的數字了。對通常的臺式機和服務器而言,這可能並不重要,但對於大型磁盤陣列的用戶而言,這就很是重要;(磁盤結構緣由Ext4 的inode 個數限制(32位數)最多隻能有大概40多億文件,並且Ext4的單個文件大小最大隻能支持到16T(4K block size) )服務器
XFS是一個64位文件系統,最大支持8EB減1字節的單個文件系統,實際部署時取決於宿主操做系統的最大塊限制。對於一個32位Linux系統,文件和文件系統的大小會被限制在16TB。網絡
Linux服務器默認網卡配置文件在/etc/sysconfig/network-scripts/下,命名的名稱通常爲:ifcfg-eth0 ifcfg-eth1 ,eth0表示第一塊網卡,eth1表示第二塊網卡,依次類推。通常DELL R720標配有4塊千兆網卡。ssh
命令 | Centos6 | Centos7 | 備註 |
ifconfig | 有 | 有 | yum -y install net-tools |
route | 有 | 有 | yum -y install net-tools |
ntpd服務和ntpdate命令 | 有 | 有 | yum install ntp ntpdate |
cat /etc/issue | 有版本號 | 無信息,只能查看cat /etc/redhat-release | |
setup | 能更改網絡配置 | setup去除了防火牆和網路配置 經過安裝 yum -y install NetworkManager-tui nmtui 命令取代了 setup中的網絡配置 |
|
時區和時間設置 | /etc/sysconfig/clock等文件 | timedatectl set-timezone Asia/Shanghai |
|
語言等設置 | locale -a | localectl status | |
服務管理 | chkconfig |
systemctl | |
python | 2.6 | 2.7 | |
kernel | 2.6 | 3.10 | |
網卡 | eth0 | 成爲了可預見性的命名規則 | |
文件系統 | ext4 | xfs | |
dig nslookup命令 | 有 | 有 | yum -y install bind-utils |
主機名 | cat /etc/sysconfig/network | cat /etc/hostname | |
服務的管理和控制 | sysvinit | system | systemctl是最主要的工具。它融合 |
防火牆 | iptables | firewalld | |
啓動級別 | /etc/inittab | 再也不使用 | |
開機執行文件/etc/rc.local | 可放置開機要執行的腳本文件 | 默認這個文件沒有執行權限 x | 官方推薦不使用這個文件(本身寫服務),可是你能夠加+x繼續使用。 |
內核參數配置文件 | /etc/sysctl.conf | /usr/lib/sysctl.d/00-system.conf和/etc/sysctl.d/.conf | |
init關機重啓命令 | init 0 關機 | init 0 關機 | 無變化 |
切換等級 | 切回單用戶模式 init 0 | systemctl emergency systemctl isolate runlevel1.target |
單用戶模式只能用終端鏈接,不能使用ssh的 |
CentOS 6
方法: /etc/sysconfig/i18n
CentOS 7
方法1: localectl set-locale LANG=en_GB.utf8
方法2: /etc/locale.conf中的LANG=
CentOS 6
在線生效: hostname
重啓生效: /etc/sysconfig/network中的HOSTNAME=
CentOS 7
在線+重啓生效: hostnamectl set-hostname
CentOS 6
方法: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CentOS 7
方法1: 同CentOS 6
方法2: timedatectl set-timezone Asia/Shanghai
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
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,防止強制重啓致使修改密碼沒有落地
CentOS 6:
/boot/grub/grub.conf的kernel中加入須要添加的參數
CentOS 7:
步驟1:/etc/default/grub的GRUB_CMDLINE_LINUX中加入須要添加的參數
步驟2:grub2-mkconfig -o /boot/grub2/grub.cfg
CentOS 6: last
CentOS 7: journalctl --list-boots或last
查看當前啓動內核
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)'
執行順序
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