亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > FreeBSD > 正文

FreeBSD開發環境解決方案

2024-07-26 00:29:00
字體:
來源:轉載
供稿:網友

以前曾經看過很多開發人員提到FreeBSD用于開發是非常優秀的系統,但是之前提到的主要都是freebsd在單機的開發環境下所具有的優勢,但是最近我發現其實FreeBSD在開發方面所具備的優勢并不僅只于此。在一個開發團隊中使用FreeBSD是可以形成一個完整的解決方案的。在單機方面的開發環境上,我不想多說了,linux其實也具備很多好的特點的,我想說得更多是linux所不具備的特點。當然這個方案使用linux來完成并不是不可能的,但是使用linux來完成其中的很多部分是有一些困難的,從便利性上來講不如FreeBSD,從我這個懶人的角度來講,如果有兩個方法來解決問題,一個既簡單又快速(還很清晰),另一個相對比較復雜,耗時長。那我沒有理由非要選用后一種 :mrgreen: 。說這話的原因是,我不想跟我們國家普遍存在的某些偏執的人引起任何的爭論。只是想說這里其實有一種簡單易行的方法。更主要的原因是,這種方法在我已知的情況下還沒有人在開發環境的建立中使用。

    其實這個方法所使用的技術都是已經被廣泛采用的,甚至可以說有些古老的東西。只是通過FreeBSD這個系統能夠把它們都串連在一起??梢孕纬梢惶淄暾拈_發環境,還包括辦公環境。我這個想法的核心是由一臺FreeBSD中心服務器來完成的。這個中心服務器上安裝CVS server,Samba server和NFS server就可以了,其中Samber server可以提供方便的空間共享,之所以除了NFS還要再單裝Samba,是因為Samba在非*nix的環境上也可以使用。同時還可以安裝CUPS來驅動一臺打印機,通過Samba共享,讓整個工作環境都可以共享打印服務。用FreeBSD做中央文件服務器和CVS服務器的好處是不會受到廣大的Windows病毒的影響?,F在還有一點缺憾的是在FreeBSD上還沒有好的殺毒軟件可用,雖然有個老美的殺毒軟件,但是因為是付費的,付給老美一方面有點貴貴,另一方面也比較麻煩,希望我們國家的殺毒軟件廠商也能考慮做一個能在FreeBSD上運行的版本,就算收點錢也可以。這樣的好處就在于可以在crontab里運行殺毒軟件定期的掃描文件服務目錄中的文件是不是感染了病毒。其實這對于FreeBSD沒什么意義,因為FreeBSD也不會受病毒的影響,但是使用這個文件服務的windows的機器就危險了,這也算是我的一個期望吧,也許不太現實。在FreeBSD上安裝 CVS,Samba我都不太想多說了,文章很多了,我和老黃都曾經寫過如何在 FreeBSD上安裝CVS server的文。Samba很簡單了用ports裝就完了。以后有時間了我會把每個服務的安裝文檔整合進來形成一個完整的東西的?,F在我們重點講一下在FreeBSD上使用NFS的情況。其實這個是我最想說地,因為通過NFS和FreeBSD本身的軟件系統相結合能夠產生一個很意想不到
地效果。

在FreeBSD上如何使用NFS server其實在FreeBSD上使用NFS server非常簡單。打開NFS server的服務是個很簡單的事情,只需要運行/stand/sysinstall,選擇Configure,在這個菜單中選擇Networking,里面有一個NFS Server的選項,把它勾上以后會進入編輯器編輯一個文件/etc/exports你直接寫你要export出去的目錄就可以了。需要注意的一點是FreeBSD的NFS有個可能算是不太好的特點,export出去的目錄必須是mountpoint,也就是分區的掛點。例如你運行mount的時候你能看到你現在都mount了那些分區,mount到的那個目錄就是相應的掛點。這點上Solaris就可以指定目錄,所以我覺得FreeBSD這么弄有點不太爽,也許這樣設計比較簡單吧。
在我所要描述的方法中我們需要的是將/usr這個掛點export出去。這里不得不提到一個問題,很多從linux轉過來的兄弟都有個我們不太推薦的習慣,就是把整塊硬盤就分成一個"/",在linux下其實也不推薦這么用的,如果在FreeBSD上這樣分的話,問題就更多了,比如用NFS的話,你就得把"/"都export出來,還不郁悶死了。下面我舉個例子在/etc/exports里面應該怎么寫:
/usr    -alldirs -maPRoot=root  192.168.0.10
按照上面一行寫的意思就是將整個/usr這個分區都export出來供192.168.0.10 這個地址所使用,如果不寫ip地址就是export給所有人用的,這么干比較危險,如果不是在一個100%可靠的網絡里面最好別這么干。-alldirs的意思就是/usr中的每個目錄都可以作為NFS的掛點掛到遠程,這點比較重要,我后面會提到的,-maproot=root的意思就是給予對方root權限來操作目錄。這里說句題外話,Solaris在這點有個不如FreeBSD的地方,Solaris里面export給的目標是不能夠寫ip地址的,必須寫對方機器的機器名,而且這個機器名必須是DNS服務器或者/etc/hosts里面存在的機器,否則不能共享,用起來有點繁瑣,不過可能是出于安全方面的考慮,呵呵。如果修改完了這個文件退出即可,如果是ee的話按ESC退出,如果是vi的話:wq退出。如果對其進行修改之后需要重啟NFS server可以使用下列命令來完成
kill -s HUP `cat /var/run/mountd.pid`
我之前說了這么一大堆東西到底做什么用呢?下面我來解釋一下這臺中央服務器裝NFS有什么用。在整個開發小組都是用FreeBSD的情況下,這樣做非常具有意義,主要是在裝機上,大家都知道無論是windows還是FreeBSD還是linux,重新裝一臺機器都是一件極度痛苦的事情。因為要首先要對系統進行升級,之后還有很多常用軟件需要安裝。雖然FreeBSD上面有ports系統,但是恐怕大家都有感覺,我們常規裝一臺FreeBSD的機器,需要在裝好了之后升級源代碼,然后重新編譯內核,編譯系統,慢點的機器make world一次等到花兒都謝了。還有一個問題就是,很多人其實不太喜歡在工作的機器上裝ports和src的,因為這些東西很占地方,一套src差不多200多MB,一套ports也要300多MB。如果編譯完了不make clean的話src會增加到350M左右,ports就更多了。但是如果make clean的話,再升級系統 或者應用軟件的時候你又郁悶了,因為make這個工具有個特點,如果代碼部分發生改變的時候,它只會編譯發生改變的代碼,而沒發生改變的代碼 就不會編譯,所以你要是上次編譯完了make clean了,再編譯就會從頭開始,如果不做make clean,再編譯一次的速度就很快了。有些人會問為什么不用FreeBSD提供的binary級的升級以及使用ports的package?原因是這樣的,對于系統的binary升級補丁,一方面提供的頻率比較低,而且我 不知道怎么下載安裝。而且有的時候更新少的時候我不是太想升級。對于ports呢,我本人其實不太愿意用package,因為官方生成的package更新的速度很慢,這點很郁悶。自己生成package呢,總有各種各樣的問題,
雖然現在ports可以make package-recusive 但是,我弄了幾次都沒弄出一套完成的package出來。還是直接用ports來make install最方便,但是如果這些都在每臺機器上重新編譯的話,無疑是很痛苦的,如果是一臺快機器的話,還可以,可能一天就能完了,如果是一臺慢的機器弄不好3、4天…………實在是太煩人了。這個問題怎么解決才好呢?我們怎么才能在1個小時之內裝出一個我們能夠方便使用的,帶有我們所需的應用軟件的全新的機器呢?windows、linux恐怕都不太可能,我分析一下為什么這么說。從windows來講,我想各位裝的時候首先也都會升級系統,windows雖然有service pack可用,還有從windows update上下載單獨的binary補丁,其實也是比較慢的。裝一次windows 2000的sp4也很慢,再去windows update升級零散的補丁少說也得快1個小時。再加上裝亂七八糟 的軟件,恐怕也得裝個N小時。而linux呢,升級只升級內核,速度很快,裝軟件有弄好的rpm,也很快但是還是有幾個問題,通常的linux本身裝起來很慢,這個大家不能否認。裝一下Red hat現在是個非常慢的事,沒個幾個小時裝不完,而我裝一套FreeBSD的基本系統不超過15分鐘,這一點就沒法比了。而且linux升級只升級內核的話,只能修正內核的問題,如果是附帶的應用有問題,例如BIND,ftp,apache之類的東西,還需要單獨找補丁包升級,也要累死。而且如果需要定制應用的話,rpm也得重新編譯才行,用binary就要放棄定制的靈活性。所以要是裝一套合用的linux也是要很長時間的。我所說的這些大家恐怕都有體會。但是FreeBSD上是可以解決這個問題的,這個恐怕是源于FreeBSD非常合理的系統設計,ports和src的系統都是非常靈活而且方便的系統,這給我們快速安裝創造了條件,只要結合了NFS就可以實現。

    我現在從安裝一臺全新的FreeBSD來講解一下怎么來實現快速安裝。我們之前的那臺服務器現在就派上用場了。那臺中央服務器上可以安裝src和ports,我們用NFS server把它的/usr export出來,而在新裝的這臺機器上選擇不安裝src和ports,在系統安裝完畢之后,需要在/usr中建立src和ports的目錄,然后我們通過下列命令來把中央服務器上的src和ports掛到我們的機器上,我們假設中央服務器ip地址為192.168.0.1,而新裝的機器的ip地址為192.168.0.10,我們已經在中央服務器上向這個地址export了它的/usr(方法參考前面提到的) [code:1:c3cd3c93be]mount_nfs 192.168.0.1:/usr/src /usr/srcmount_nfs 192.168.0.1:/usr/ports /usr/ports[/code:1:c3cd3c93be]這樣一來,我們新裝的機器上就有了src和ports了。中央服務器在安裝的時候也會make kernel和make world的,如果客戶機的硬件和希望的配置跟中央服務器不太一樣,只要在上面再寫個新的內核配置文件,再用這個配置文件編譯一個適合客戶機的內核就可以了,而make world對于那臺機器都是一樣的,所以我們在客戶機上直接make installworld就完了。把漫長的make world過程都給省了。裝應用軟件也是一樣,只要有一臺機器曾經用這套ports make install裝過這個軟件,并且沒有make clean的話,其他的機器就可以跑到這個目錄里面make reinstall一下就行了。我解釋一下為什么要make reinstall,而不是make install,這是因為ports有個特點,它會在這個應用裝過以后保留下一個install_done的標記,你在每個裝完的應用目錄里面的work目錄中能看到這個名為.install_done.xxxxxx的文件,后面的xxxxxx是這個應用的名字。如果你換了臺機器使用這個ports的話,直接make install的時候會發現并沒有執行任何的安裝就結束了,就是因為make檢測到了這個文件,就不會再執行一次安裝了。沒關系,ports還為我們準備了解決的辦法,這就是make reinstall,簡單吧。這里還有個問題,我覺得ports解決的很好,因為通常很多軟件涉及到很多依賴軟件,如果這臺客戶機已經安裝了一些依賴軟件,我在安裝一個依賴這些軟件的新軟件的時候,這些已經安裝的依賴軟件是不是也會重新來一遍呢?這不會很慢么?其實不會的,這涉及到多個系統共享一個ports時候多個系統安裝差異的問題,不過這個考慮其實是多余的了,因為FreeBSD在安裝上一個應用軟件之后會在/var/db/pkg中保留一個這個軟件的安裝記錄,所以你在安裝一個依賴了很多軟件的新軟件的時候,它會檢測你裝了什么,沒裝什么,已經裝過了的就不會再安裝一次了。通過這樣的方法,我們重新安裝一個新的開發環境就變得異常的快速,而且可以靈活的定制。為什么會說靈活定制呢?你這裝得不也是binary么?是這樣的,以gnome2為例子,gnome2實際上是由一系列的小軟件組成的,這個大家應該都清楚,如果我想定制其中一個小軟件只要修改那個軟件的編譯參數重新編譯一遍就可以了,其他的部分依然不會受到影響。編譯單個的小軟件無論對于什么機器來講都是很快的所以對于安裝速度的影響,就很小了。這種方法無論對于批量裝機,還是單獨定制都是個很爽的辦法。但是這個方法我為什么要放在這樣一個標題下講,是因為這個方法需要一臺單獨的機器來做中央服務器,這對于大多數的個人用戶是不現實,也沒有意義的。但是卻對于有多個人的開發團隊來講,一臺機器是個小問題,能夠快速的安裝出來一臺開發環境能夠大幅度的提高效率,具有的意義就非同一般了。而且這個方法也只需要這臺中央服務器定期更新它的src和ports,定期編譯,客戶機就可以跟著一起升級了,省得大家重復勞動了。提出這個方案是源于我們這個團隊的開發環境都是使用的FreeBSD,因為我們是進行J2EE項目開發的,在FreeBSD上開發的時候我們需要編譯jdk、Xfree、gnome2、eclipse等等軟件,這都是裝起來很慢的軟件,每臺機器都單獨安裝的話,大家都得累死。使用這個方法的話,實在是爽的不得了。差不多一個小時左右,一臺合用的機器就完成了。補充一個需要注意就是大家如果在共享一個ports的時候使用portupgrade時候需要小心,一定要加上-wW參數,否則把共享的ports內容給清光了,會有人很郁悶的……

最后我需要感謝黃冬教給我這個方法。其實這個方法是他們以前經常使用的方法,只不過不是用在開發環境的建立上,是他在門戶網站的時候他們用來批量安裝web服務器的方法,所以對于所有門戶網站的管理員來講這也是一個非常有用的辦法。因為據我所知,國內幾個用FreeBSD的門戶網站,都是有大批量的FreeBSD服務器集群來進行服務的,裝機就成為一個工作量很大的工作,如果采用這種方法,大家裝機的時候也能夠輕松不少了。而我個人的感覺其實在團隊開發環境的建立上,使用這個方法其實比服務器的批量裝機還更有意義,因為服務器通常裝的那些軟件還都比較小,而裝一臺開發用的機器要裝得大軟件就多的很了,所以我個人認為這對于開發環境來講具有的意義更大。我把這個方法貢獻出來,已經很熟悉這個方法的朋友不要罵我,我只是覺得雖然這個方法用的已經很普遍而且其實非常的簡單,但是以前并沒有人把它寫出來給大家共享一下,另外因為其在使用上有一些小小的技巧需要注意,所以小弟我給大家獻丑了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大片在线免费观看| 91久久久久久久久| 国产精品成人免费视频| 欧美日韩国产色| 国产mv久久久| 亚洲一区二区日本| 中文字幕少妇一区二区三区| 91久久久久久久久| 欧美风情在线观看| 亚洲第一区在线| 91av在线免费观看| 亚洲精品国产精品自产a区红杏吧| 精品久久久久久久久久| 国产精品入口日韩视频大尺度| 久久久久99精品久久久久| 日韩精品高清在线| 91精品在线影院| 美日韩精品视频免费看| 97婷婷涩涩精品一区| 国产精品青青在线观看爽香蕉| 亚洲毛茸茸少妇高潮呻吟| 欧美午夜片在线免费观看| 久久久久久久久久亚洲| 久久香蕉精品香蕉| 久久色免费在线视频| 国产精品久久久亚洲| 中文字幕无线精品亚洲乱码一区| 97免费中文视频在线观看| 伊人一区二区三区久久精品| 欧美色播在线播放| 欧美成人免费全部观看天天性色| 亚洲第一国产精品| 2019av中文字幕| 亚洲aaa激情| 欧美另类高清videos| 午夜精品美女自拍福到在线| 欧美电影免费观看电视剧大全| 两个人的视频www国产精品| 日韩免费看的电影电视剧大全| 亚洲视频777| 91精品美女在线| 91禁国产网站| 亚洲国产精品网站| 日韩欧美在线视频日韩欧美在线视频| 欧美一级免费看| 国产91成人在在线播放| 欧美又大又粗又长| 97久久久久久| 日韩精品视频三区| 亚洲国产精品小视频| 中文字幕日韩精品有码视频| 成人xvideos免费视频| 日韩在线观看免费| 亚洲女人天堂色在线7777| 2019中文字幕全在线观看| 国产精品国产三级国产aⅴ9色| 国产视频亚洲精品| 亚洲精品一区av在线播放| 久久精品中文字幕| 97国产精品久久| 亚洲精品免费av| 欧美成人免费播放| 色多多国产成人永久免费网站| 色偷偷偷综合中文字幕;dd| 亚洲第一区在线观看| 欧美性理论片在线观看片免费| 精品免费在线视频| 亚洲第一级黄色片| 亚洲福利在线播放| 日韩av中文字幕在线| 国产精品va在线播放| 91久久国产综合久久91精品网站| 国产精品极品美女在线观看免费| 北条麻妃一区二区三区中文字幕| 日韩精品在线免费| 国产精品免费看久久久香蕉| 亚洲自拍另类欧美丝袜| 亚洲人成电影网站| 成人黄色av播放免费| 亚洲国产欧美一区二区三区同亚洲| 最近中文字幕日韩精品| 欧美精品一区二区三区国产精品| 亚洲综合在线做性| 国产精品爱啪在线线免费观看| 日韩视频免费在线| 国语自产偷拍精品视频偷| 久久久久久久久久久免费精品| 亚洲在线免费视频| 亚洲专区中文字幕| 成人黄在线观看| 伊人青青综合网站| 大伊人狠狠躁夜夜躁av一区| 国产精品自拍网| 国产精品高潮呻吟视频| 欧美亚洲激情在线| 国产成人精品亚洲精品| 欧美激情精品久久久久久变态| 欧美网站在线观看| 欧美国产日韩xxxxx| 77777亚洲午夜久久多人| 亚洲级视频在线观看免费1级| 亚洲精品久久久久久久久久久| 国产精品网址在线| 一区二区三区 在线观看视| 国产精品一香蕉国产线看观看| 日韩一区二区三区xxxx| 中文字幕一区日韩电影| 青青久久av北条麻妃海外网| 91免费看国产| 日av在线播放中文不卡| 国产aⅴ夜夜欢一区二区三区| 国产小视频国产精品| 国产成人精品在线| 黑人巨大精品欧美一区二区三区| 国产精品久久久久9999| 尤物九九久久国产精品的分类| 91产国在线观看动作片喷水| 琪琪第一精品导航| 麻豆乱码国产一区二区三区| 欧美最猛性xxxxx(亚洲精品)| 国产精品自产拍在线观看中文| 国产精品极品尤物在线观看| 青草青草久热精品视频在线网站| 精品福利在线视频| 亚洲欧美精品一区二区| 亚洲一级黄色av| 欧美日韩午夜剧场| 亚洲成人激情在线| 亚洲国产欧美日韩精品| 上原亚衣av一区二区三区| 51色欧美片视频在线观看| 日韩精品一区二区视频| yellow中文字幕久久| 国产精品网站视频| 日韩精品中文字幕有码专区| 97精品视频在线观看| 日韩av在线免费播放| 91国内免费在线视频| 久久精品国产亚洲一区二区| 国产一区二区三区在线看| 在线免费看av不卡| 欧美午夜激情视频| 欧美香蕉大胸在线视频观看| 亚洲色图13p| 伊人青青综合网站| 亚洲午夜精品久久久久久性色| 亚洲午夜精品视频| 亚洲国产欧美日韩精品| 欧美怡春院一区二区三区| 日韩欧美a级成人黄色| 国产欧美日韩综合精品| 国产精品久久综合av爱欲tv| 一级做a爰片久久毛片美女图片| 美女视频黄免费的亚洲男人天堂| 欧美老女人www| 91色p视频在线| 在线观看亚洲区| 国产精品一香蕉国产线看观看| 国产日韩在线免费| 韩国19禁主播vip福利视频| 日韩精品在线免费| 精品亚洲男同gayvideo网站| 777午夜精品福利在线观看| 欧美一级大片在线免费观看|