日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

62 FreeBSD連載:升級系統(tǒng)

升級系統(tǒng)通過CD-Rom或Internet能夠很方便的獲得FreeBSD的新版本 , 由于每一次版本升級都修正了原有版本中存在的問題 , 并增加了一些新特性 。因此保持系統(tǒng)與最新版本相一致是十分有益的事情 。
升級內(nèi)核的最直接想法是直接編譯新內(nèi)核 , 可以將新版本的內(nèi)核展開到系統(tǒng)中的目錄中 , 然后按照前面的步驟編譯安裝新內(nèi)核 。這個方法在同一版本分支中作子版本的升級十分方便 , 例如從FreeBSD 2.2.7release升級到2.2.8release 。如果要從2.2.x版本升級到3.x版本 , 由于升級了主版本號 , 基本系統(tǒng)有了較大改動 , 因此不僅要升級內(nèi)核 , 還需要升級系統(tǒng)中的應(yīng)用程序 。此時一般應(yīng)使用sysinstall中的Upgrade選項進行升級 。
使用源碼升級系統(tǒng)
除了使用sysinstall直接升級之外 , 另一種升級方法是從系統(tǒng)的源代碼中升級系統(tǒng) 。這要安裝要升級版本的全部源碼 , 從而能重新編譯整個系統(tǒng) , 包括系統(tǒng)內(nèi)核和各個應(yīng)用程序 ??梢酝ㄟ^下面的辦法手工安裝系統(tǒng)源碼 。
# cd /cdrom/src# ./install.sh重新編譯整個系統(tǒng)是一個漫長的時間 , 根據(jù)使用的系統(tǒng)硬件不同 , 將需要幾個小時的時間或更長時間來完成這個任務(wù) 。這個編譯命令被稱為 “make world” , 表示重新編譯構(gòu)建整個FreeBSD系統(tǒng) 。
# cd /usr/src# make world如果是從2.2版本或3.0-release升級到3.1-stable , 那么直接這樣make world會遇到問題 。主要原因是3.0-stable之后 , 系統(tǒng)的執(zhí)行文件格式從原有的a.out轉(zhuǎn)向了ELF(3.0-release的執(zhí)行文件雖然是ELF格式的 , 但其內(nèi)核還保持a.out格式) 。make world就提示用戶使用make upgrade進行升級 , 因此使用者就應(yīng)該按照make world的提示進行操作:
# make upgrade其他的make目標(biāo)有:
buildworld:編譯所有的源代碼;
installworld:安裝buildworld編譯產(chǎn)生的結(jié)果;
world:執(zhí)行buildworld和installworld , 重新編譯安裝整個系統(tǒng);
aout-to-elf-build:編譯從aout到elf升級系統(tǒng)所需的源代碼;
aout-to-elf-install:在aout-to-elf-build的基礎(chǔ)上升級系統(tǒng);
aout-to-elf:依賴于aout-to-elf-build和aout-to-elf-install , 進行a.out系統(tǒng)到elf系統(tǒng)的升級轉(zhuǎn)換;
update:進行系統(tǒng)升級 , 對于3.1-stable來講即包括aout-to-elf;
reinstall:在以前已經(jīng)編譯好的基礎(chǔ)上 , 不重新編譯而再次安裝編譯產(chǎn)生的結(jié)果;
當(dāng)使用源代碼的方式重新編譯系統(tǒng)時 , 由于需要使用編譯工具和這些工具的缺省設(shè)置 , 這些工具就需要預(yù)先更新 。編譯工具一般不需要升級 , 但編譯工具的設(shè)置常常需要更新 。當(dāng)更新所有的源代碼時 , 就不存在這個問題 , 但如果只是更新部分源代碼 , 就會出現(xiàn)這個問題 。如果不打算更新所有的源代碼 , 可以通過預(yù)安裝的一個很小的系統(tǒng)升級軟件包來解決編譯工具設(shè)置更新問題 。例如需要更新Ports Collectin , 但不打算更新全部源代碼(從3.1-release升級到3.1-stable) , 就需要安裝31Upgrade.tgz 。
使用CVSup維護系統(tǒng)源碼
FreeBSD的源代碼可以從安裝介質(zhì)上或從網(wǎng)絡(luò)上下載得到 。然而FreeBSD的開發(fā)是非?;钴S的 , 系統(tǒng)更新速度相當(dāng)迅速 , 只有通過網(wǎng)絡(luò)更新 , 才能保持源代碼和其他FreeBSD使用者和開發(fā)者一致 。但如果每次系統(tǒng)更新都從網(wǎng)絡(luò)下載全部源代碼 , 不僅浪費了網(wǎng)絡(luò)帶寬 , 而且也沒有必要 , 因為系統(tǒng)中的絕大部分代碼并不會更新 , 每次系統(tǒng)升級更新的只是其中很小的一部分 。FreeBSD的全部源代碼相當(dāng)大 , 尤其對于慢速Internet連接的使用者 , 下載一次并不是一件簡單的任務(wù) 。所以需要一種方法 , 使用戶每次都只需要下載源代碼的更改部分 。
軟件開發(fā)中的版本維護工具是一種維護同一個軟件的不同版本的方法 , 程序員可以通過這個工具同時維護不同的軟件版本 。但雖然版本維護工具同時維護多個版本 , 但并不是將這些版本都獨立保存一份 , 而只是保存一個基本版本及其他版本與它的差異 。因此 , 基于這種版本維護工具的方式 , FreeBSD就提供了更新部分源代碼的方法 , 使得用戶每次只需要下載更改過數(shù)據(jù) , 這樣使用者就能通過Internet與FreeBSD源代碼樹保持一致 , 保持最新版本的源代碼 , 并節(jié)約了網(wǎng)絡(luò)帶寬 。

推薦閱讀