這次更新的一個(gè)變化是/lib目錄和/usr/lib目錄合并了,更新后/lib目錄將只是一個(gè)指向/usr/lib的鏈接。由于這次變動(dòng)牽涉到的軟件比較多,Archlinux網(wǎng)站上提供了專門的升級(jí)指導(dǎo)
sudo pacman -Syu --ignore glibcsudo pacman -Su
正如指導(dǎo)中提到的,第二個(gè)命令后還是報(bào)/lib已經(jīng)存在的錯(cuò)誤,用如下命令查看哪些目錄不屬于glibc
find /lib -exec pacman -Qo -- {} +sudo rm -rf /lib/modules
我的情況是/lib/modules目錄及其子目錄下有一些文件,查了一下,沒有自己編譯的內(nèi)核模塊,所以直接給刪了。
至此升級(jí)成功。
也許你和我一樣,腦子里有十萬個(gè)為什么:為什么要合并,合并的好處是什么,我的/usr單獨(dú)分區(qū)怎么辦,F(xiàn)HS標(biāo)準(zhǔn)改了么?帶著這些問號(hào)去找谷歌娘,經(jīng)過幾個(gè)來回,谷歌娘終于吐露了實(shí)情:這次改變是Fedora主導(dǎo)的,freedesktop上有一個(gè)說明,要點(diǎn)如下:
不止/lib,/bin、/sbin、/lib64都將合并到/usr下對(duì)應(yīng)目錄。Archlinux連/lib和/lib64都合并了,它們都指向了/usr/lib,而不是說明中的/usr/lib64。合并后將增加兼容性,給軟件維護(hù)人員帶來福利。
合并方便系統(tǒng)發(fā)行商將系統(tǒng)資源放在統(tǒng)一的/usr目錄下,發(fā)布一個(gè)單獨(dú)的只讀/usr分區(qū),多個(gè)客戶系統(tǒng)可以通過網(wǎng)絡(luò)或本地方便的共享,客戶系統(tǒng)將主要包含用戶的配置文件,可以變得更小。關(guān)于這一點(diǎn),我想說,明顯受到Android等智能設(shè)備的影響。開源對(duì)我來說就是給與你完全掌控自己設(shè)備的能力,如果我們要一次次期待尼奧們帶給我們?cè)姜z或root工具,解放/usr可寫權(quán)限,我想問這還符合開源精神嗎?廠商們會(huì)說,但為安全故,來把/usr鎖。的確,隨著人們?cè)絹碓诫x不開手機(jī)等移動(dòng)設(shè)備,安全問題也越來越不容忽視。我想將來GPL4有沒有可能強(qiáng)制要求使用Linux的廠商必須提供一個(gè)安全工具,允許用戶解鎖他們的手機(jī)。
有人問對(duì)于單獨(dú)的/usr分區(qū),/usr還沒掛載怎么啟動(dòng)系統(tǒng)?單獨(dú)的/bin、/lib目錄可以使我們擁有一個(gè)最小化的急救系統(tǒng),回答是這些現(xiàn)在都交給initrd了。
總的來說,個(gè)人感覺,這次改變更多是由廠商而不是社區(qū)用戶推動(dòng)的,上面這些理由對(duì)于我這樣的個(gè)人用戶來說并無多少切身體會(huì),說服力不夠,至少我從來沒遇到過由于/bin、/usr/bin混亂而找不到可執(zhí)行程序的情況,我想即使偶爾碰到,去目錄下做個(gè)鏈接,甚至直接修改腳本都可以很輕松的搞定。當(dāng)然,我也沒什么好反對(duì)的,對(duì)我來說無所謂,不過最好先把FHS改一改。