1. 程式人生 > >CentOS7和6版本有什麼不同

CentOS7和6版本有什麼不同

Centos7與6之間最大的差別就是初始化技術的不同,7採用的初始化技術是Systemd,並行的執行方式,除了這一點之外,服務啟動、開機啟動檔案、網路命令方面等等,都說6有所不同。讓我們先來了解一下系統初始化技術的演變過程。

1.系統初始化技術

Sysvinit技術、Upstart技術、Systemd技術

Sysvinit 技術

特點:
​
1.系統第1個程序為init;
2.init程序是所有程序的父程序,不可kill;
3.大多數Linux發行版的init系統是和SystemV相相容的,被稱為sysvinit
4.代表系統:CentOS5 CentOS6
​
優點:
​
sysvinit執行非常良好,概念簡單清晰。它主要依賴於shell指令碼。
​
缺點:
​
1.按照一定順序執行——>啟動太慢。
2.很容易hang住,fstab與nfs掛載問題

Upstart 技術

CentOS6 採用了 upstart 技術代替 sysVinit  進行引導,
Upstart 對 rc.sysinit 指令碼做了大量的優化,縮短了系統初始化的啟動時間。
但是 CentOS6 為了簡便管理員的操作,upstart 的很多特性並沒有凸顯或直接不支援。

Upstart 技術 代表系統:CentOS6, Ubuntu14。

從CentOS7, Ubuntu15開始使用 systemd

Systemd 技術

新系統都會採用的技術(RedHat7,CentOS7,Ubuntu15等);
設計目標是克服sysvinit固有的缺點,提高系統的啟動速度;
和Sysvinit相容,降低遷移成本;
最主要優點:並行啟動
Pid為1的程序

2.在yum源上的優化

在centos6的時候,預設是從官方源下載rpm包的,由於是國外的yum源很慢不能用,CentOS7在這裡做了優化,當我們使用 yum 安裝軟體的時候,預設不會再從官方下載,而是自動尋找離自己地理位置最近的 yum源開始下載。

3.命令

如果在安裝系統的時候選擇 minimal,會比之前6的時候以更小的包來安裝,比如:vim、ifconfig、route、setup、netstat等等很多命令都沒有了。在安裝系統後可加入以下軟體包:

yum install lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc screen -y

比如,ifconfig 是檢視網絡卡資訊的,centos7 中沒有,那麼我們使用yum 安裝 net-tools 來提供一些網路的命令。

bash-completion   # 自動命令補全的工具
​
psmisc    # 這個包含有killall命令。
 
screen    # 可以新建一個視窗,把任務放在後臺執行。
​
rng-tools   # 生成隨機數嫡池的一個工具,有了這個工具tomcat 啟動會變得非常快
​
lrzsz     # 支援windowns平臺的上傳下載linux。在windowns遠端連線工具上可以使用。

4.字符集修改

centos6 的時候修改字符集:

vim /etc/locale.conf  # 字符集配置檔案
localectl set-locale LANG=zh_CN.UTF-8  

而 centos7 只需要一行命令搞定

localectl set-locale LANG=zh_CN.UTF-8
​
localectl status

5.開機啟動管理

centos6 依靠 /etc/rc.local 對開機啟動進行管理的,但是這個檔案的許可權是開放的。

而centos7

/etc/rc.local   # 這個檔案還是存在,不過如果我們還想繼續使用這種方式需要給它加執行許可權chmod +x /etc/rc.d/rc.local# system一統天下 snapshot(支援快照)
​
systemctl status cron.service          #檢視定時任務狀態
systemctl stop cron.service              #關閉定時任務
systemctl status cron.service            #檢視操作情況
systemctl  list-unit-files|grep enable    #檢視當前正在執行的服務
systemctl   disable postfix.service       #關閉郵件服務
systemctl  list-unit-files|grep postfix    #檢視郵件服務是否開啟
systemctl stop firewalld.service           #關閉防火牆
systemctl  is-enable                          #開啟的服務 
systemctl  disable                           #關閉的服務

centos7 通過/etc/rc.d/rc.local/ 開機自啟動

centos7 中  /etc/rc.d/rc.local    # 需要執行如下命令賦予可執行許可權
chmod +x /etc/rc.d/rc.local

6.執行級別runlevel

centos6 /etc/inittab 在 centos7 中是無效的。

centos7 system target 替代 了inittab

## 永久生效下次登入生效
systemctl get-default graphical.target 切換到5
systemctl get-default multi-user.target 切換到3
##臨時生效的話 
init3​
​
#檢視執行級別
ls -lh /usr/lib/systemd/system/runlevel*.target

執行級別(Runlevel)指的是Unix或者Linux等類Unix作業系統下不同的執行模式。執行級別通常分為7等,分別是從0到6,但如果必要的話也可以更多。

例如在大多數linux作業系統下一共有如下6個典型的執行級別:

0 停機
1 單使用者,Does not configure network interfaces, start daemons, or allow non-root logins
2 多使用者,無網路連線 Does not configure network interfaces or start daemons
3 多使用者,啟動網路連線 Starts the system normally.
4 使用者自定義
5 多使用者帶圖形介面
6 重啟

ssh進行訪問

windows下安裝 xshell 來進行可以遠端訪問。

而mac 是用 ssh 命令

ssh 使用者名稱@ip地址:埠號
​
預設的埠號22可以不寫
ssh [email protected]

首先我們先下載 net-tools ,這樣可以使用 ifconfig檢視網絡卡資訊,它的作用和DOS命令 ipconfig 一樣。

下載完成以後輸入:ifconfig

然後可以找到你的ip地址

如果,ssh 連結被拒絕:

1.驗證openssh-server

首先,要確保CentOS7安裝了  openssh-server,在終端中輸入
​
yum list installed | grep openssh-server
​
如果出現了結果那麼表示已經安裝
​
​
沒有安裝輸入
​
yum install openssh-server -y

2.配置你的ssh檔案

找到了  /etc/ssh/  目錄下的sshd服務配置檔案 sshd_config,用Vim編輯器開啟
​
如果沒有vim編輯器那麼執行:
​
yum install vim -y
​
vim編輯器比vi編輯器增加了顏色識別
​
vim /etc/ssh/sshd_config
​
直接輸入/Port 
​
可以看見:
================
1.將檔案中,關於監聽埠、監聽地址前的 # 號去除
​
Port 22
#AddressFamily any
ListenAddress 0.0.0.0 #任意地址
ListenAddress ::
================
去上面3行的註釋
​
要想編輯的話需要按鍵盤i,代表insert,取消輸入按esc
​
================
2.然後開啟允許遠端登入
PermitRootLogin yes
================================
3.開啟使用使用者名稱密碼來作為連線驗證
PasswordAuthentication yes
================
​
最後保證在取消輸入的狀態下
輸入
================
:wq! 
================
代表強制儲存退出
​
配置完成後需要重新啟動一下sshd服務
​
開啟  sshd  服務,輸入 sudo service sshd start
檢查  sshd  服務是否已經開啟,輸入ps -e | grep sshd
或者輸入netstat -an | grep 22  檢查  22 號埠是否開啟監聽