麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Unix > 正文

FreeBSD服務(wù)器的安裝與優(yōu)化之優(yōu)化篇

2019-09-08 23:19:54
字體:
供稿:網(wǎng)友

初學(xué)者入門:FreeBSD服務(wù)器的安裝與優(yōu)化

更新FreeBSD

完成了安裝、配置,F(xiàn)reeBSD基本上就算裝完了。不過,目前為止沒有哪個(gè)通用操作系統(tǒng)能夠保證“bug-free”,F(xiàn)reeBSD也一樣。在重新啟動(dòng)之后,我們需要做一些調(diào)整;并且,通過重新配置內(nèi)核,我們可以得到一個(gè)更小、更快的操作系統(tǒng)。

第一步要做的是同步源代碼。FreeBSD是一套開放源代碼的操作系統(tǒng),它的全部源代碼都可以通過cvsup與中央cvsup服務(wù)器,或它的某個(gè)鏡像同步。

cvsup是一個(gè)可選的package,同樣的,它也可以從ports里面安裝(/usr/ports/devel/cvsup和/usr/ports/devel/cvsup-nogui)。考慮到許多應(yīng)用程序都依賴X的庫文件,在前面安裝的部分我安裝了它,并且直接安裝了cvsup的package。

不過,如果你有足夠的耐心去一個(gè)一個(gè)地make需要的ports,那么先安裝ports collection,然后make cvsup-nogui也是一個(gè)不錯(cuò)的主意,盡管這需要比較長(zhǎng)的時(shí)間。

創(chuàng)建一個(gè)用于cvsup(1)的supfile,命名為stable-supfile:

 

*default host=ftp.bjpu.edu.cn*default base=/usr*default prefix=/usr*default release=cvs tag=RELENG_4*default delete use-rel-suffixsrc-allports-all tag=.



隨后執(zhí)行

 

cvsup -g -L 2 stable-supfile



這里需要稍微解釋一下FreeBSD的幾種版本。

FreeBSD包括3類分支:-RELEASE,-STABLE和-CURRENT。FreeBSD 3.x、4.x和5.0是目前受到維護(hù)的版本,如果你期待穩(wěn)定運(yùn)行,那么,可以選擇的最新版本將是FreeBSD 4.6-STABLE(如果你是在4.6.2-RELEASE發(fā)行之后更新的,那么它實(shí)際上比4.6.2-RELEASE新,并且,它正式的CVS tag是RELENG_4,即FreeBSD 4-STABLE)。

那么,三類分支有什么區(qū)別呢?

FreeBSD的開發(fā)是非常活躍的。系統(tǒng)中可能會(huì)隨時(shí)引入一些新的特性。最新的代碼是在-CURRENT分支中引入的。-CURRENT的修改非常頻繁,每天都可能有數(shù)百處修改。

使用-CURRENT分支的FreeBSD需要耐心和勇氣,因?yàn)槟愕南到y(tǒng)隨時(shí)可能崩潰(隨著FreeBSD 5.0開發(fā)尾聲的接近,這種現(xiàn)象已經(jīng)越來越少),make world也可能空手而歸(沒有人保證-CURRENT分支能夠正常編譯),此外,這個(gè)分支的性能也不好(因?yàn)檎{(diào)試的原因,這個(gè)分支引入了大量的調(diào)試選項(xiàng),這意味著運(yùn)行速度不會(huì)太快)。

當(dāng)然,正像它的名字那樣,-CURRENT分支的版本也是最新的5.0,而且,一切FreeBSD的錯(cuò)誤和漏洞的修正都是首先在-CURRENT分支引入的。

目前,-CURRENT分支碩果僅存的只有FreeBSD 5-CURRENT(指定cvs tag時(shí)寫“.”),這個(gè)分支包括了FreeBSD 5.0開發(fā)的最新進(jìn)展。

FreeBSD 5中將引入大量的新特性,包括核心級(jí)線程(目前FreeBSD中的線程支持僅限于用戶級(jí)線程,這在多處理器的環(huán)境下性能不夠好,當(dāng)然,目前使用fork()來支持的多進(jìn)程線程模擬能夠提供類似核心級(jí)線程的功能,但并不是所有的程序員都知道如何使用fork)、完整的Soft Updates(這一變化將提供更好的文件系統(tǒng)性能,同時(shí)提供更好的穩(wěn)定性),等等。

如果你有快速的Internet連接,一臺(tái)或一些空余的機(jī)器(當(dāng)然,不是生產(chǎn)用的服務(wù)器),并且希望為FreeBSD的開發(fā)作貢獻(xiàn),或者你關(guān)心操作系統(tǒng)的最新發(fā)展,那么,-CURRENT分支是最好的選擇。此外,由于-CURRENT分支性能不好、穩(wěn)定性不夠等這些缺點(diǎn),對(duì)于生產(chǎn)的服務(wù)器來說,通常運(yùn)行的應(yīng)該是FreeBSD-STABLE。

如同它的名字那樣,F(xiàn)reeBSD-STABLE的目的是“穩(wěn)定地運(yùn)行”。-CURRENT分支中的代碼,在經(jīng)過一段時(shí)間(通常是7到90天,但安全更新屬于特例,通常會(huì)在幾個(gè)小時(shí))的驗(yàn)證之后,符合版本條件(有些新特性只能用于FreeBSD 5.0)的代碼會(huì)被FreeBSD-STABLE吸收,這個(gè)操作稱作MFC(Merge From -CURRENT,不是Microsoft Foundation Classes)。

由于FreeBSD 5.0的第一個(gè)RELEASE至今仍然沒有發(fā)布,因此,目前還沒有5.0-STABLE。目前,F(xiàn)reeBSD-STABLE有兩個(gè)版本,F(xiàn)reeBSD 3-STABLE和FreeBSD 4-STABLE,分別對(duì)應(yīng)3.x和4.x的最新穩(wěn)定版代碼(對(duì)應(yīng)的cvs tag分別是RELENG_3和RELENG_4)。由于版本的更新?lián)Q代,其中3.x的-STABLE正在逐漸消亡。FreeBSD-STABLE每天平均會(huì)修改10個(gè)左右的文件。

每隔一段時(shí)間,F(xiàn)reeBSD的發(fā)行工程組(Release Engineering Team)會(huì)對(duì)FreeBSD-STABLE的源代碼樹進(jìn)行鎖定。這段時(shí)間(目前的規(guī)定是30天,之前還有30天準(zhǔn)備)內(nèi),所有的MFC操作都需要發(fā)行工程組的批準(zhǔn),因此,F(xiàn)reeBSD-STABLE在這個(gè)階段基本不會(huì)引入任何新的特性。

經(jīng)過這段時(shí)間之后,發(fā)行工程組會(huì)在最后鎖定ports樹,并build一份所有的package,之后,這份鎖定的-STABLE,可能經(jīng)過若干RC(Release Candidate),被命名為RELEASE,并制作光盤發(fā)行。

顧名思義,-RELEASE的設(shè)計(jì)目標(biāo)是“發(fā)行”。一個(gè)版本一旦RELEASE,那么他的功能就不會(huì)再增加了。此后的所有維護(hù)的目標(biāo)都只有一個(gè),那就是絕對(duì)穩(wěn)定。

如果你和-RELEASE分支同步,那么絕不會(huì)出現(xiàn)make無法通過的情況,而且,通常這也可以保證你的系統(tǒng)“絕對(duì)”穩(wěn)定,因?yàn)樗粫?huì)引入任何新功能。

目前,F(xiàn)reeBSD有很多RELEASE版本,它們的cvs tag如下。我個(gè)人建議使用最新的4.6.2-RELEASE。

對(duì)于多數(shù)人來說,-RELEASE是一個(gè)比較極端的選擇。無論何時(shí)出現(xiàn)版本升級(jí),如果你想跟進(jìn),那都必須修改supfile,如果你選擇不跟進(jìn),那么就可能造成ports工作異常。如果經(jīng)常更新,-RELEASE可以保證操作系統(tǒng)本身的安全性,但同其他分支一樣,如果ports出了問題,那么也得一塊make,而既然這樣,還不如使用-STABLE。

如果你符合下面的條件,那么RELEASE分支可能比-STABLE分支更適合你

你使用的軟件對(duì)于操作系統(tǒng)的變化非常敏感,比如,它只能FreeBSD 4.5,而無法在4.6上運(yùn)行;同時(shí),你不打算采用它的更新版本,或者它的作者拒絕更新

操作系統(tǒng)的更新對(duì)于你來說沒有任何意義,比如,你打算把FreeBSD當(dāng)作一個(gè)相對(duì)固定的嵌入式操作系統(tǒng)來使用,例如,作為防火墻的一部分

更新會(huì)對(duì)你造成困擾,操作系統(tǒng)的絕大多數(shù)新特性對(duì)于你來說除了增加煩惱之外,不能帶來任何其他東西。

一旦同步完源代碼,就應(yīng)該對(duì)整個(gè)系統(tǒng)進(jìn)行更新。如果你沒有每天察看安全公告的習(xí)慣,那就應(yīng)該關(guān)心一下cvsup到底更新了哪些代碼。nectar是目前FreeBSD的Security Officer。如果你發(fā)現(xiàn)他一下子更新了許多代碼,那么對(duì)你來說立即make world和kernel很可能是必需的。為了更新整個(gè)系統(tǒng),在/usr/src中執(zhí)行:

 

make world



以及

 

make kernel KERNCONF=內(nèi)核配置文件名



當(dāng)然,也可以連起來執(zhí)行:

 

make world kernel KERNCONF=內(nèi)核配置文件名



如果你的計(jì)算機(jī)運(yùn)行速度較慢,那么,對(duì)于基本系統(tǒng)的更新(相當(dāng)于不包括庫的一次world),可以用

 

make most



替代make world,但make world是一個(gè)不錯(cuò)的主意,因?yàn)樗軌虮WC對(duì)C運(yùn)行環(huán)境的改變應(yīng)用到所有的程序中,如果修正的不是動(dòng)態(tài)連接的C函數(shù)庫,那么make world可以保證代碼的一致性。

make kernel是一個(gè)需要重新啟動(dòng)的操作。如果你的make world修改了系統(tǒng)的關(guān)鍵服務(wù),那么最好也重新啟動(dòng)一下。我很少有耐心看完make world和kernel的執(zhí)行,根據(jù)系統(tǒng)的運(yùn)行速度不同,這需要一個(gè)小時(shí)到一天的時(shí)間,而且,不是所有的SSH客戶端都能夠長(zhǎng)時(shí)間正確的執(zhí)行,例如,SecureCRT的多個(gè)版本都有內(nèi)存泄漏問題。

為了解決這個(gè)問題,我用下面的命令來完成更新:

 

make world kernel KERNCONF=內(nèi)核配置文件名 clean > /var/log/world,out && reboot &



這個(gè)命令能夠記錄更新的全過程,如果在什么地方編譯失敗,你可以很快地找到原因。對(duì)于多數(shù)人來說,由于后面的&&,只需要察看uptime就能知道便以是否成功。

需要說明的是,F(xiàn)reeBSD的make world并不總能成功。有時(shí)需要修改一些環(huán)境變量才能成功完成make。為了保證make成功,在/usr/src中執(zhí)行任何make操作之前,建議你看一眼UPDATING中是否有特殊的要求(這種要求并不是在FreeBSD Release的時(shí)候才會(huì)出現(xiàn),很多時(shí)候他會(huì)在某個(gè)CURRENT中引入,然后隨著MFC進(jìn)入-STABLE分支),并且,在進(jìn)行大的版本升級(jí)之前(跨RELEASE,甚至主版本號(hào)),首先執(zhí)行下面的命令:

 

mergemaster -p



并在make world之后執(zhí)行

 

mergemaster -i



運(yùn)行mergemaster腳本需要一定的Unix配置知識(shí),不過,由于配置文件中包含很多幫助信息,因此,只要master.passwd、group這樣的文件不出大問題(如果cvsup更新了master.passwd,那么就需要留神,因?yàn)閙aster.passwd標(biāo)準(zhǔn)配置是root口令為空,這時(shí)需要用m來合并,而不是使用i安裝),mergemaster并不會(huì)引入什么新的問題。

前一條命令是更新make的配置(/etc/defaults/make.conf和/etc/make.conf)。對(duì)于多數(shù)人來說,除非進(jìn)行跨版本升級(jí),否則一般情況下是不需要這樣做的。后一條命令是同步全部配置,并安裝以前不存在的配置文件,而不進(jìn)行提示。

筆者曾經(jīng)遇到過FreeBSD因?yàn)橄到y(tǒng)日期不正確而無法make的情況,因此,再次特別提醒大家,如果你的系統(tǒng)日期不正確,最好是用date命令修改一下,或者干脆用ntpdate或ntpd來同步時(shí)間。
 

 
 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 欧美成人精品一区 | 欧美成人一级 | 一区二区久久 | 一级黄色毛片播放 | 羞羞的视频免费在线观看 | 久久新地址 | 日韩大片在线永久观看视频网站免费 | 欧美色另类| 一本一道久久久a久久久精品91 | 亚洲国产一区二区三区 | 欧美性激情视频 | 娇喘在线 | 欧美一级全黄 | 成人毛片视频在线观看 | 精品国产一区二区三区天美传媒 | 黄色av网站在线观看 | 香蕉久草视频 | 欧美视频在线一区二区三区 | 91av亚洲| sm高h视频 | 欧美一级久久 | 国产精品久久久久久婷婷天堂 | 国产精品18久久久久久久久 | 午夜视频在线观 | 久久久大片 | 在线成人免费网站 | 精品一区二区亚洲 | 黄片毛片一级 | 99精品视频久久精品视频 | 亚洲一区二区三区精品在线观看 | 蜜桃精品视频 | 亚洲午夜影院在线观看 | 久久久久久久一区二区三区 | 免费看污视频在线观看 | 他也色在线视频 | 国产精品一区在线免费观看 | 久久精品av | av免费在线观看不卡 | 日韩视频区| 日韩中字在线 | 欧美成人亚洲 |