FreeBSD連載(08):其他安裝問題

1999年11月10日 20:57 王波

其他安裝問題

  安裝系統是一個複雜的過程,原因之一就是個人電腦硬體種類繁多,可組合的方式也是多種多樣,因此就會引起復 雜的安裝問題。

  • 網路安裝方式

  除了使用安裝光碟來安裝FreeBSD之外,還有其他幾種安裝介質可供選擇,其中網路安裝方式同樣也是一種非 常方便的安裝方式。

  如果使用者是直接連接到Internet上的,就不需要安裝光碟,而只需要制作啟動軟碟(磁碟鏡象檔案同樣可 以通過Internet下載),然後使用啟動軟碟就可以直接從Internet上安裝FreeBSD系統,因此如果使 用者的本地網路與Internet有穩定且快速連接的時候,也可以選擇網路安裝方式。

  網路安裝方式包括ftp、ftp passive、和NFS方式,需要根據安裝伺服器提供的服務方式來選擇網 絡安裝方式。通常NFS方式更適合本地連接,用戶自己設定的安裝伺服器才提供NFS安裝服務(或者本地FreeBSD 愛好者之間也會相互共享資源),面向Internet的公共伺服器通常提供更可靠的ftp服務,因此ftp安裝方式更 為常見。而ftp安裝方式和ftp passive安裝方式的區別是ftp passive方式在下載檔案時使用ft p的passive模式,以克服大多數防火牆對端口的限制,因此如果要安裝的系統不是直接與Internet相連,而 通過防火牆連接到Internet,就需要使用ftp passive安裝方式。

  使用網路安裝方式時的一個重要問題是必須配置好網路界面,因此Sysinstall將在選擇好安裝介質之後、 選擇安裝組件之前,就提示用戶配置網路界面。由於Sysinstall設置的網路界面為永久連接型的網路接口,如網卡 ,而另一些網路界面為要求預先連接的網路接口,如撥號連接的ppp0界面,不能直接通過Sysinstall設置,因 此不適合使用網路安裝方式。

  上面為ftp安裝方式的選單,除了提供Internet上的多個現有FreeBSD的ftp安裝站點之外,還 可以選擇手工輸入URL(第二項),由用戶輸入一個距離最近的安裝伺服器的ftp站點。這個站點可以由用戶自己維護, 使得在一個網路中安裝多台系統更為簡易。

  如果網路連接比較慢,直接使用網路安裝方式會由於網路速度的原因而造成安裝過程不能正常進行。那麼就可以先將 FreeBSD安裝檔案下載到本地硬碟上,再選擇DOS安裝介質或預先安裝好的檔案系統作安裝介質,進行安裝。

  當使用DOS基本分區作安裝介質時,需要按照安裝檔案的原有目錄結構,將安裝檔案復制到DOS分區中根目錄下 的FreeBSD目錄中。安裝光碟tools目錄中的setup.exe工具,能在DOS下用於使用安裝光碟來設置D OS安裝介質。這種情況一般只用於系統光驅型號太老,不為FreeBSD識別,或者要安裝的系統沒有光驅或網卡,因而 必須預先將安裝檔案拷貝到它的硬碟上。

  選擇了這種安裝方式,安裝程序將詢問FreeBSD安裝檔案位於哪個DOS分區中。

  無論安裝系統是放置在DOS基本分區,還是以前安裝好的FreeBSD分區中、光碟上,或者是放置在網路上的 NFS伺服器上,都可以使用手工方式預先將這些檔案系統安裝到系統的目錄樹上,再選擇File System安裝介質 選項進行安裝。當然這需要首先打開一個應急Shell進行操作。通常這種方式主要用於安裝好系統之後的系統維護,而在 初始安裝時用到的較少。

  此外,也可以使用軟碟或磁帶做安裝介質,但實際使用中較為少見。

  • 升級系統

  可以在安裝程序的主選單中選擇Upgrade方式進行系統升級。系統升級的好處是可以保留以前系統中的各種設 置,以及用戶的配置信息和數據檔案。然而,這種使用安裝程序的升級方式並不是最佳的升級方法,因為FreeBSD是一 種極具活力的操作系統,而光碟等傳統媒體的安裝介質是靜態的,使用這種方式升級系統並不能得到最新的系統。另一個原因 是FreeBSD的原始碼是公開的,使用原始碼進行升級也十分方便,並且發生危險丟失數據的風險更小。

  • 手工安裝系統組件

  FreeBSD的安裝軟體由不同的組件組成,例如bin、manpages等。這些組件通常被分割為較小的文 件,以便它能被保存到軟碟上,也能減少從網路下載時的可能會出現的網路故障。

  由於系統被分為不同的組件,很可能在系統安裝過程中遺漏了某種非常有用的組件,或者由於偶然的原因,被某些組 件被破壞了。此時就需要在安裝系統之後,再來安裝這些組件。這可以使用安裝程序/stand/sysinstall來 完成,然而手工進行安裝這些組件卻更為方便。

$ ls /cdrom/bin

CHECKSUM.MD5 bin.ao bin.be bin.bu bin.ck

TRANS.TBL bin.ap bin.bf bin.bv bin.cl

bin.aa bin.aq bin.bg bin.bw bin.cm

bin.ab bin.ar bin.bh bin.bx bin.cn

bin.ac bin.as bin.bi bin.by bin.co

bin.ad bin.at bin.bj bin.bz bin.cp

bin.ae bin.au bin.bk bin.ca bin.cq

bin.af bin.av bin.bl bin.cb bin.cr

bin.ag bin.aw bin.bm bin.cc bin.cs

bin.ah bin.ax bin.bn bin.cd bin.ct

bin.ai bin.ay bin.bo bin.ce bin.inf

bin.aj bin.az bin.bp bin.cf bin.mtree

bin.ak bin.ba bin.bq bin.cg install.sh

bin.al bin.bb bin.br bin.ch

bin.am bin.bc bin.bs bin.ci

bin.an bin.bd bin.bt bin.cj

  這些以bin開頭,以兩個字母為後綴的檔案事實上是對一個使用tar和gzip打包壓縮後的大檔案進行分割得 到的,因此可以使用gzip和tar進行解開,並安裝到合適的位置。這個目錄中也提供了一個腳本程序install. sh,能自動進行這一步工作。如果使用者想手工重新安裝某一組件,可以運行相應目錄下的install.sh腳本程序 。例如,如果在初始安裝時沒有安裝manpages組件(或者該組件被無意中破壞了),想要重新安裝manpages 組件,可以運行:

  # /cdrom/manpages/install.sh

  注意:由於這樣做會覆蓋原有系統中的檔案,主要是更改過的系統設置檔案,因此這樣安裝某些系統相關的組件(例 如bin組件)就非常危險!除非必要,不要重新安裝bin組件(包括使用Sysinstall程序)!

  以MD5為後綴的CHECKSUM.MD5是根據這些檔案生成的校驗檔案,用於檢查這些檔案是否在傳輸過程中 出現錯誤。可以在一個安裝好的FreeBSD系統下使用md5命令來生成檔案的校驗,與這個檔案中保存的數據進行比較 ,如果校驗數據一致,就說明檔案沒有在傳輸過程中出現問題。

  還有的組件,如X Free86組件沒有被分割為小檔案保存,是幾個tar和gzip處理過的壓縮檔案,該目 錄下同樣提供了腳本程序install.sh,以便來進行安裝。ports目錄下的組件Ports Collecti on也是一個單獨的壓縮包。

  • 使用其他啟動引導程序

  在個人電腦上安裝FreeBSD系統,常常會遇到與其他操作系統共存的問題,一般情況下使用FreeBSD 的Boot Manager來管理多個操作系統。但在某些情況下使用者可能希望使用其他種類的引導程序,無論使用哪個 操作系統引導程序,都需要這些引導程序相互協作,而不發生衝突現象。

  對於同時使用FreeBSD與Linux共存的個人電腦,在使用FreeBSD Boot Manager 引導時,需要將Linux的引導程序LILO放在其自己分區的最前端(Super Block),而不能放到主引導區 中。FreeBSD Boot Manager可以直接啟動Linux分區上的LILO程序。但如果使用者是將Lin ux安裝在擴展分區上的邏輯分區上,(這是一種很糟糕的分區設置方式,極度增加了系統的不安全性,至少不應該將根檔案 系統放置在邏輯分區上),就必須使用Linux LILO引導。因此就需要在FreeBSD安裝時,安裝BootMa nger選擇None,而將LILO安裝到主引導區,通過在Linux中編輯lilo.conf檔案對FreeBSD 分區進行設置,更新LILO後,就可以通過LILO啟動FreeBSD分區。建議使用Boot Manager來啟動 Linux,因為Boot Manager不需要進行配置,使用起來最簡單和方便。

  對於同時使用Windows NT的系統,如果使用FreeBSD Boot Manager引導,那麼在F reeBSD Boot Manager的選擇之後,會再有Windows NT的OS Loader的選擇選單,從 而需要進行兩次選擇。因此也可以使用Windows NT OS loader來引導FreeBSD系統,此時不能安 裝Boot Manager,而應使用標準主引導區,此外,還需要FreeBSD基本分區的第一個扇區,以便OS L oader能用來啟動FreeBSD。首先將激活分區設置為FreeBSD分區啟動FreeBSD系統,使用dd命令 將FreeBSD分區的第一個扇區寫到一個檔案中(假設FreeBSD安裝到了第三分區wd0s3中)

  # dd if=/dev/rwd0s3 of=bootsect.bsd bs=512

  然後將這個命名為bootsect.bsd的檔案拷貝到NT啟動分區的根目錄中,如果NT啟動分區(假設為第 一個分區wd0s1)為FAT檔案系統,則可以在FreeBSD下拷貝。

  # mount -t msdos /dev/wd0s1 /mnt

  # cp bootsect.bsd /mnt/bootsect.bsd

  然後編輯C碟根目錄下的boot.ini,增加一項c:\bootsect.bsd="FreeBSD",然 後將啟動分區更改為DOS的啟動分區,則系統重起之後,在OS loader的啟動選單中就增加了一項啟動FreeB SD的選擇。

  注意,系統升級會導致第一個扇區的內容改變,因此需要及時更新啟動扇區檔案。