在紅帽企業(yè)版7發(fā)布之后僅僅幾周,centos7也發(fā)布了,并且包含了與紅帽同樣令人興奮的功能。除了期待已久的systemd和當(dāng)前熱門的Docker,此次發(fā)布還使系統(tǒng)自動(dòng)從版本6更新到版本7而不需要安裝鏡像文件成為可能。雖然升級(jí)還需要重啟,因此不能算是一種live upgrade,但對(duì)于那些只能通過遠(yuǎn)程訪問的服務(wù)器來說還是非常方便的。
紅帽早已發(fā)布并且文檔化了必要的更新工具。CentOS團(tuán)隊(duì)還來不及導(dǎo)入、測(cè)試和重新構(gòu)建工具,但是開發(fā)人員早已經(jīng)在做開始做了-而且他們提供了未測(cè)試的二進(jìn)制文件。
請(qǐng)注意:由于這些包還未經(jīng)測(cè)試,你不應(yīng)該,通過任何方式,在除了像備用測(cè)試機(jī)這種你可以簡(jiǎn)單的重新部署并且沒有任何有價(jià)值數(shù)據(jù)的機(jī)器上嘗試它。千萬(wàn)不要在生產(chǎn)機(jī)器上嘗試它!
但是如果你想初步的了解下工具是大體上如何工作的,我推薦你建立一個(gè)簡(jiǎn)單CentOS 6虛擬機(jī),安裝盡可能少的程序包以及所有的系統(tǒng)更新。然后,從上文提到的CentOS庫(kù)中安裝這些rpm。
在這些rpm當(dāng)中有個(gè)Preupgrade Assistant,它可以在系統(tǒng)上安全的執(zhí)行:preupg僅僅是分析系統(tǒng)而不會(huì)執(zhí)行任何任務(wù),執(zhí)行后它會(huì)給出一些建議告訴更新程序在更新的時(shí)候去搜索什么。
由于我僅在安裝了很少服務(wù)的系統(tǒng)上運(yùn)行,所以在運(yùn)行preupg后我沒有得到實(shí)際的結(jié)果。甚至在一臺(tái)裝了更多服務(wù)的系統(tǒng)上也得到了相同的結(jié)果(有許多行,因此只顯示部分行作為例子);
$ sudo preupg
Preupg tool doesn't do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
that would require a full re-install of the system from installation media.
Do you want to continue? y/n
y
Gathering logs used by preupgrade assistant:
All installed packages : 01/10 ...finished (time 00:00s)
All changed files : 02/10 ...finished (time 00:48s)
Changed config files : 03/10 ...finished (time 00:00s)
All users : 04/10 ...finished (time 00:00s)
...
042/100 ...done (samba shared directories selinux)
043/100 ...done (CUPS Browsing/BrowsePoll configuration)
044/100 ...done (CVS Package Split)
...
|samba shared directories selinux |notapplicable |
|CUPS Browsing/BrowsePoll configuration |notapplicable |
|CVS Package Split |notapplicable |
...
就像上面提到的,Preupgrade Assistant只是幫助分析在更新的時(shí)候會(huì)出現(xiàn)什么問題-真正的步驟需要用l redhat-upgrade-tool-cli. 工具完成。要讓這個(gè)工具可以有效工作,必須先導(dǎo)入CentOS 7的鍵:
$ sudo rpm --import http://isoredirect.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
然后,實(shí)際的升級(jí)工具被調(diào)用,相應(yīng)的選項(xiàng)是將來的發(fā)行版本以及下載數(shù)據(jù)的URL地址。另外由于這工具會(huì)對(duì)preupg沒有提前運(yùn)行發(fā)出警告,故我不得不添加了--force選項(xiàng)屏蔽,雖然這個(gè)警告是正確的。一旦升級(jí)工具被調(diào)用起來,一些必要信息,包以及圖片開始下載,然后它會(huì)請(qǐng)求重啟,這重啟操作不會(huì)自動(dòng)發(fā)生。
$ sudo /usr/bin/redhat-upgrade-tool-cli --force --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64
setting up repos...
.treeinfo
| 1.1 kB 00:00 getting boot images...
重啟之后,機(jī)器會(huì)使用下載好的包開始更新自己,依據(jù)這機(jī)器的處理速度不同相應(yīng)的解析時(shí)間會(huì)有所不同,期望數(shù)分鐘而不是幾秒。無論怎樣,如果一切運(yùn)行正常的話,下次登錄將會(huì)進(jìn)入CentOS 7界面了。
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
結(jié)論表明升級(jí)工具運(yùn)行的很好。 雖然它比不上一個(gè)真正的live upgrade,如果提供一個(gè)非常好的升級(jí)遠(yuǎn)程服務(wù)器方式。 我測(cè)試了一臺(tái)干凈的虛擬機(jī)還有一臺(tái)電腦裸機(jī),遠(yuǎn)程服務(wù)器,升級(jí)工具都工作地出奇的好。 不幸的是,分析工具沒能像我期望的那樣工作,這可能是由于它還未經(jīng)測(cè)試或者是我沒有正確地使用它。隨著時(shí)間的推移, 我期待著升級(jí)工具會(huì)如何發(fā)展和改善。 但是 , 再一次,如前所述 – 不要 在自己的 產(chǎn)品 服務(wù)器上嘗試它。