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

55 FreeBSD連載:Ports Collection

第6章 定制應(yīng)用軟件與系統(tǒng)內(nèi)核為了充分發(fā)揮系統(tǒng)的性能,便需要對(duì)系統(tǒng)進(jìn)行各種維護(hù)和配置工作 。前面進(jìn)行的管理和維護(hù)還是基于最初安裝的FreeBSD系統(tǒng),以及FreeBSD安裝介質(zhì)中提供的二進(jìn)制軟件包 。這樣的系統(tǒng)適用于大多數(shù)情況,但不是最適合特定要求的系統(tǒng)設(shè)置 。根據(jù)系統(tǒng)的具體情況來定制FreeBSD的各種設(shè)置,就需要進(jìn)一步的工作 。主要是由于FreeBSD是一個(gè)自由軟件系統(tǒng),它提供了軟件的源代碼可以供用戶定制,可以來適應(yīng)系統(tǒng)的具體環(huán)境 。如果不能充分利用這些FreeBSD提供的源代碼,就不能真正發(fā)揮FreeBSD的最大能力 。
FreeBSD系統(tǒng)提供的源代碼包括三個(gè)部分,內(nèi)核源代碼、應(yīng)用程序源代碼和軟件Ports的源代碼 。其中內(nèi)核源代碼用于定制內(nèi)核、提高系統(tǒng)性能、維護(hù)硬件配置以及更新系統(tǒng)軟件,根據(jù)需要升級(jí)硬件和保持系統(tǒng)不斷升級(jí)以避免系統(tǒng)安全等方面的漏洞等任務(wù),因此最為重要,一個(gè)系統(tǒng)在初始安裝之后都需要重新編譯內(nèi)核;應(yīng)用程序源代碼包括安裝到/bin、/sbin、/usr/bin、/usr/sbin目錄中的各個(gè)應(yīng)用程序的源代碼;軟件Ports的源代碼并不是各個(gè)軟件的源代碼,而是各個(gè)軟件的編譯、安裝方法的代碼,這可以用來安裝和管理各種應(yīng)用程序 。
這些源代碼均包括在FreeBSD的安裝介質(zhì)中,并能通過安裝程序進(jìn)行安裝 。除了在初始安裝時(shí)安裝這些組件之外,系統(tǒng)正常運(yùn)行時(shí)也能通過sysinstall或手工運(yùn)行相關(guān)目錄下的安裝腳本install.sh來添加他們 。
編譯應(yīng)用軟件
【55 FreeBSD連載:Ports Collection】在Internet上有很多軟件包,它們遵循GPL、BSD或相似的版權(quán)許可,允許用戶編譯運(yùn)行這些軟件 。正常情況下,安裝一個(gè)應(yīng)用軟件的過程是:
獲得源代碼文件,這通常是一個(gè)使用tar打包,并使用compress或gzip壓縮后的文件 。一般通過ftp等網(wǎng)絡(luò)下載工具從Internet上得到 。
將文件解開,得到源代碼文件,一般需要使用tar和gzip進(jìn)行解包處理 。
根據(jù)系統(tǒng)情況進(jìn)行配置,通常這些軟件提供了自動(dòng)配置程序,能根據(jù)系統(tǒng)環(huán)境自動(dòng)進(jìn)行配置,或者可以手工更改設(shè)置文件 。
然后就進(jìn)行編譯,創(chuàng)建可執(zhí)行的程序 。
接下來就需要將應(yīng)用程序安裝到系統(tǒng)的指定位置 。
最后一步是配置應(yīng)用程序的參數(shù),使其能很好的執(zhí)行 。
雖然軟件的作者通常已經(jīng)將源代碼編寫相當(dāng)完善,適合在多個(gè)平臺(tái)上編譯,但是將源代碼編譯成最終可執(zhí)行的文件,仍然是一個(gè)花費(fèi)時(shí)間且需要繁瑣操作的過程 。尤其是當(dāng)用戶對(duì)系統(tǒng)不是很了解的情況下,往往就可能在某一步遇到了問題,結(jié)果就會(huì)導(dǎo)致整個(gè)安裝過程不能正常完成 。
因此FreeBSD提供了Ports Collection機(jī)制來管理、安裝軟件 。每種要被移植到FreeBSD上軟件被稱為一個(gè)Port,由某個(gè)FreeBSD的開發(fā)者維護(hù) 。這個(gè)Port的維護(hù)者首先將軟件移植到FreeBSD上,并將他所完成的這些移植工作按照Ports Collection的要求進(jìn)行設(shè)置,編寫相關(guān)的腳本,使下載軟件、配置、編譯、安裝的全過程能夠自動(dòng)完成,不需人工干預(yù) 。每個(gè)Port中并沒有保存軟件包的源代碼或者二進(jìn)制代碼,而只是提供了搜索它的源代碼或者二進(jìn)制軟件包的方法 。有了Ports Collection,編譯、安裝應(yīng)用程序的過程就相當(dāng)容易了 。
Ports Collection和Packages Collection是緊密相關(guān)的,大部分Port都會(huì)有對(duì)應(yīng)的二進(jìn)制軟件包,除非這個(gè)軟件的許可權(quán)對(duì)以二進(jìn)制格式分發(fā)有所限制 。通常每個(gè)源代碼形式的Port使用tar.gz結(jié)尾,而相應(yīng)的軟件包使用.tgz結(jié)尾 。因此可以使用后綴來區(qū)分Port和軟件包 ??梢詮腜ort中直接生成對(duì)應(yīng)的二進(jìn)制軟件包 。
Ports Collection
對(duì)于一般的使用者,有了FreeBSD提供的眾多預(yù)編譯好的軟件包,就可以直接安裝這些應(yīng)用軟件的二進(jìn)制版本,而不需要使用Ports Collection重新編譯軟件 。然而安裝介質(zhì)上附帶的軟件包是按照缺省配置生成的,適合大多數(shù)用戶的需要,但并不一定最適合特定用戶的特定需求 。如果需要對(duì)某個(gè)軟件進(jìn)行定制安裝,就需要使用Ports Collection,進(jìn)行修改后重新編譯安裝 。

推薦閱讀