Ⅰ 什麼是FreeBSDFreeBSD
FreeBSD是操作系統
FreeBSD 是一個在個人電腦上執行的操作系統,這些個人電腦包含 386, 486 跟
Pentium (SX 跟 DX 皆可)。 其他跟 Intel 相容的 CPU 如 AMD 跟 Cyrix 也被支援。
FreeBSD 提供你許多昂貴工作站才有的先進功能,這些特色包括:
(Freelab註: FREEBSD現在不應認為是個人PC上一種OS,而應看作是X86平台上的一種
UNIX,其主要定位並不是面向個人PC。FreeBSD以其良好的高負荷穩定性,被眾
多ISP,ICP選作各種Server的OS,而且Intel高端CPU Pentium Pro,至強更適合其發揮性能)
具有動態優先權的多任務(Preemptive multitasking) 以確保平順的執行程式以及
公平地讓應用程式以及使用者共享資源。
多使用者(Multiuser) 代表者許多人可以同時使用一個 FreeBSD 系統。 系統的
硬體周邊(如印表機及磁帶機)也可以讓所有的 使用者適當地分享。
完整的 TCP/IP 網路功能 包含 SLIP, PPP, NFS 跟 NIS。這表示 FreeBSD 可以
容易地跟其他操作系統透過網路合作, 或是充當企業上的伺服器,例如提供遠端
文件共享(NFS) 及電子郵件 (e-mail) 等服務,或是讓你的企業連上國際網路
(internet) 並提供 WWW, FTP, 路由(routing), 及防火牆(firewall, security)
等必備服務。
記憶體保護(Memory protection) 能確保一個使用者不能幹擾其他人。而一個
應用程式也不能影響其他的程式。
FreeBSD 是一個完全 32 位元 的操作系統。
標準的 X 視窗系統 (X Window, X11R6) 提供良好的 圖形使用者介面(GUI) 以便
在一般的 VGA 顯示卡以及螢幕上使用, 並且提供完整的原始程式碼。
能直接執行在其他操作系統 (如 SCO, BSDI, NetBSD, Linux 跟 386BSD) 上編譯的
(Binary) 程式。
數以千計 可以直接執行(ready-to-run) 的應用程式,可以在 FreeBSD ports 及
packages 中找到。 免去你上網路到處找軟體的苦境。
數以千計其他網路上 容易移植(easy-to-port) 的應用程式。 FreeBSD 跟其他商業
版的 UNIX 系統在原始程式上是相容的 (source code compatible),頂多隻需稍微
的修改。
需要時才置換的虛擬記憶體(Demand paged virtual memory 以及合並的虛擬記憶體
及文件緩沖區之快取功能(merged VM/buffer cache) 提供令人滿意又有效率的應用
程式執行速度,尤其是執行那些大型的 應用軟體時仍能讓使用者輕松的控制而不至
於停擺。
動態共享函示庫(Shared libraries) (有點像 MS-Windows 上的 DLL) 提供有效的
利用硬碟空間及記憶體。
完全相容的 C, C++ 跟 Fortran 開發工具及環境。 許多額外的程式語言也收集在
ports 跟 packages。
整個 FreeBSD 系統的 原始程式碼(Source code) 讓你能隨心所欲的控制及修改
你的系統,讓你避開讓操作系統公司操控的命運。
大量又詳盡的 線上文件 (包含其他 BSD 的文件).
還有其他更多的 !
FreeBSD 是基於 University of California at Berkeley 的 Computer Systems
Research Group (CSRG) 小組所發展的 BSD 4.4-lite 而來的, 並且繼續 BSD 系統的
發展。 由於先前 CSRG 將 4.4-lite 發展的很好, FreeBSD 專案繼續投資無數的時間
致力於使 FreeBSD 達到更高的水準, 以及更好的效率,以符合實際應用上的需求。
正當許多商業版的操作系統 正掙扎的使 PC 上的操作系統具有新功能、高效能及實際
應用性的時候, FreeBSD 已經 具有這些條件了!!
FreeBSD 的應用超乎你的想像,從軟體開發到工廠的自動化, 從貨物管理到衛星的遠端
遙控,如果那些商業版軟體能做的事, FreeBSD 也能做到,甚至更多。 FreeBSD 也能
有效地使用那些由研究中心 或大學所研發的高水準應用程式,這些應用程式通常只需要
花很少的錢 (甚至免費!) 就可以取得。 當然商業版的應用程式也可以買到,而且也有
越來越多的商業版應用程式可以使用。
因為 FreeBSD 的原始程式是公開的,您可以自行修改以符合您的任何需求,而這是那些
商業版操作系統所做不到的。 以下提供一些人們使用 FreeBSD 的例子(當然還有更多的
應用):
國際網路服務: FreeBSD 內建強勁的網路功能使它成為國際網路服務(如下例)的
理想平台:
文件伺服器(FTP servers)
Web伺服器(World Wide Web servers)
地鼠資訊伺服器(Gopher servers)
電子郵件伺服器(Electronic Mail servers)
網路新聞伺服器(USENET News)
電子布告欄伺服器(Bulletin Board Systems)
還有其他更多元化的功能 ....
您可以容易地先用便宜的 386 PC 來執行 FreeBSD, 然後等您的公司規模變大了
以後再升級您的機器。
學術上的應用: 如果你是資訊領域的學生, 再也沒有比使用 FreeBSD 能學到更多
操作系統、電腦組織、 及網路的方法了。 一些免費的 CAD,數學運算器,及圖形
處理工具 對那些在電腦應用上有興趣的人,能學到更多。
研究: 有了完整的原始程式碼,FreeBSD 是研究操作系統及電腦科學的極佳環境。
免費的 FreeBSD 也使得在遠端的合作小組 不必擔心版權及系統開放性的問題,而能
自在的交流。
網路: 你如果需要 router、Name Server (DNS)或 安全的防火牆(Firewall),
FreeBSD 可以輕易的將你沒有用到的 386 或 486 PC 變身成為絕佳的伺服器,甚至
具有過濾封包(packet-filter) 的功能。
X 視窗工作站: FreeBSD 是便宜 X 終端機的良策, 無論是使用免費的 XFree86
或是商業版的 X-Inside,都可以在 FreeBSD 上執行。 FreeBSD 不但可以充當遠端
X 程式終端機, 也可以執行本地的 X 程式。 如果有一台中央伺服器的話,
FreeBSD 甚至可以經由網路開機(不需本地硬碟), 而變成更便宜且易於管理的
工作站。
開發軟體: FreeBSD 擁有完整的程式開發工具,如 GNU C/C++ 編譯器及除錯器,
當然還有其他的程式語言。
Ⅱ FreeBSD鐨勮蔣浠剁$悊
1銆丗reeBSD搴旂敤緋葷粺鐨勭粍鎴
FreeBSD搴旂敤緋葷粺鐢盕reeBSD鎿嶄綔緋葷粺鍜岀Щ妞嶏紙ports錛夊埌FreeBSD鐨勫悇縐嶅簲鐢ㄨ蔣浠剁粍鎴
FreeBSD鎿嶄綔緋葷粺鏈韜錛屾槸鐢卞唴鏍稿拰鍩烘湰緋葷粺緇勬垚錛屽熀鏈緋葷粺鐢辯郴緇熷伐鍏楓佺郴緇熷簱鍜屾枃妗g粍鎴愶紝鏈灝忓寲瀹夎呴夐」瀹夎呯殑鏄鍐呮牳銆佺郴緇熷伐鍏峰拰緋葷粺搴擄紝緋葷粺宸ュ叿鎻愪緵浜嗗畬鏁寸殑緋葷粺綆$悊鍜岀紪璇戠▼搴忕▼搴忋傝屾枃妗e拰浠g爜浠ュ強ports緋葷粺鏄鍙閫夊畨瑁呯殑銆傚傛灉瀹屾暣瀹夎呬簡FreeBSD錛岀畝鍗曠殑璇村氨鏄瀹夎呬簡鍐呮牳銆佺郴緇熺$悊宸ュ叿銆佺郴緇熷簱銆佺紪璇戠▼搴忋佺郴緇熸簮浠g爜銆乸orts浠ュ強man銆乮nfo銆丗reeBSD handbook絳夋枃妗c
涓轟簡鎵╁ぇFreeBSD鐨勫簲鐢錛孎reeBSD縐繪嶏紙port錛変簡澶ч噺鐨勮嚜鐢辮蔣浠躲佸紑婧愯蔣浠躲傚苟鏋勫緩浜唒orts緋葷粺錛屾妸榪欎簺縐繪嶇殑杞浠舵眹闆嗗埌涓璧鳳紝浠庣Щ妞嶅簲鐢ㄧ▼搴忔湰韜鏉ヨ達紝澶ч兘鏄鍩轟簬婧愪唬鐮佽繘琛屼慨鏀瑰拰璋冩暣錛屼互渚垮緩絝嬬殑紼嬪簭鍙浠ヨ繍琛屽湪FreeBSD緋葷粺鐜澧冧笅錛屾墍浠ports涓瀛樻斁鐨勯兘鏄浠g爜淇鏀逛互鍙婄紪璇戞帶鍒訛紝浠ュ強FreeBSD鐨勭▼搴忕$悊絳栫暐銆
2銆乸orts鐨勭粍鎴
涓涓杞浠剁殑ports錛屽ぇ鑷寸敱浠ヤ笅鍑犱釜閮ㄥ垎緇勬垚錛
pkg-descr 搴旂敤杞浠剁殑綆鍗曟弿榪
pkg-plist 杞浠跺畨瑁呯殑鏂囦歡鍒楄〃
distinfo 杞浠舵簮浠g爜鐨勫悕縐幫紝鐗堟湰浠ュ強鏍¢獙淇℃伅
Makefile 鎺у埗杞浠剁紪璇戠殑makefile
files鐩褰 閲岄潰鍖呭惈瀵規簮浠g爜榪涜屼慨鏀圭殑鍚勭嶈ˉ涓
鍒╃敤port榪涜岃蔣浠跺畨瑁呴潪甯哥畝鍗曪紝榪欏緱鐩婁笌ports緋葷粺鐨勭簿蹇冭捐★紝澶ч噺綣佺悙鐨勬搷浣滈兘瀹氫箟鍦 /usr/ports/mk 鐩褰曚笅鐨勬枃浠跺綋涓錛岃稿備竴浜涘彉閲忓畾涔夛紝緙栬瘧閫夐」瀹氫箟錛屾枃浠朵笅杞藉湴鍧瀹氫箟錛岀紪璇戝伐鍏峰畾涔夛紝浠ュ強涓浜涙搷浣滅殑瀹氫箟絳夌瓑銆傚叿浣撹蔣浠剁殑port涓鐨凪akefile鏂囦歡錛岄兘浼氱戶鎵跨郴緇熸彁渚涚殑榪欎簺瀹氫箟錛岃屼笖鍙浠ユ牴鎹闇瑕佽繘琛岃皟鏁淬
鍏蜂綋杞浠秔ort鐨凪akefile榪樻彁渚涗簡杞浠惰繍琛屼緷璧栵紝寤虹珛渚濊禆錛屼互鍙婂規簮浠g爜緙栬瘧榪囩▼涓涓浜涘叿浣撶殑瀹氫箟銆
3銆佸埄鐢╬orts榪涜岃蔣浠跺畨瑁呯殑榪囩▼銆
綆鍗曟潵璇達紝鍙浠ョ敤涓嬮潰鐨勬寚浠ゆ潵瀹屾垚瀹夎
[Copy to clipboard] [ - ]CODE:make install clean
鍏蜂綋鐨勮繃紼嬫槸錛
鏍規嵁distinfo鏂囦歡涓鐨勮蔣浠舵簮浠g爜鏂囦歡鍚嶏紝媯嫻 /usr/ports/distfiles 鐩褰曚笅錛屾槸鍚︽湁杞浠剁殑婧愪唬鐮
濡傛灉娌℃湁錛岃皟鐢 make fetch 浠嶮akefile鏂囦歡涓瀹氫箟鐨勪笅杞藉湴鍧榪涜屼笅杞
涓嬭澆瀹屾垚浠ュ悗錛岃皟鐢 make checksum ,鍒╃敤 distinfo 鏂囦歡涓鐨勬簮浠g爜鏂囦歡鐨勬牎楠屼俊鎮錛屾牎楠屾簮浠g爜鍖呯殑瀹屾暣鎬с
濡傛灉鏍¢獙姝g『錛岃皟鐢 make extract錛屽規簮浠g爜榪涜岃В鍘嬶紝鍏蜂綋鐨勮礬寰勬槸:
[Copy to clipboard] [ - ]CODE:杞浠秔ort褰撳墠璺寰/work/婧愪唬鐮佹枃浠跺悕鍘繪帀鍚庨潰鐨.gz.bz2/
瑙e帇婧愪唬鐮佸悗錛岃皟鐢 make patch ,鎼滅儲 files 鐩褰曚笅鐨勮ˉ涓佹枃浠朵負婧愪唬鐮佹墦琛ヤ竵錛
鎵撳畬琛ヤ竵錛屾牴鎹 Makefile鏂囦歡涓瀹氫箟鐨勮蔣浠惰繍琛屼緷璧栧叧緋伙紝鏌ユ壘緋葷粺涓鏄鍚﹀畨瑁呭瑰簲鐨勮蔣浠訛紝濡傛灉娌℃湁瀹夎咃紝浼氳漿鍏ョ浉搴旂殑杞浠剁殑ports涓榪涜宮ake install clean 銆傚亣璁懼綋鍓嶅簲鐢ㄧ▼搴忕殑鎵鏈夎繍琛屼緷璧栭兘宸茬粡瀹夎咃紝ports緋葷粺浼氳繘鍏ユ簮浠g爜鐩褰曪紝榪愯岄噷闈㈢殑configure鏂囦歡錛岀敓鎴愭簮浠g爜鐩褰曚笅鐨刴akefile鏂囦歡錛岀劧鍚庤繘琛屾簮浠g爜鐨刴ake榪囩▼錛屽規簮浠g爜榪涜岀紪璇戙佽繛鎺ャ
褰撴墍鏈夌殑make榪囩▼緇撴潫浠ュ悗銆傝繍琛宲orts緋葷粺鐨 make install榪涜屽畨瑁呫
瀹夎呭畬鎴愪互鍚庯紝鍒╃敤pkg-descr,pkg-plist鐨勫唴瀹瑰湪 /var/db/pkg 鐩褰曚笅瀵硅繖涓杞浠惰繘琛屾敞鍐屻傛爣璁拌繖涓杞浠跺凡緇忓畨瑁咃紝騫惰︾粏娉ㄥ唽浜嗗畨瑁呮枃浠跺垪琛ㄣ
濡傛灉杞浠舵敞鍐屾垚鍔燂紝ports緋葷粺鍒╃敤make clean鍛戒護錛屾竻闄よ蔣浠秔ort褰撳墠鐩褰曚笅work瀛愮洰褰曚俊鎮銆傚傛灉鍦ㄧ紪璇戝畨瑁呰繃紼嬩腑瀵規湁渚濊禆鍏崇郴鐨勮蔣浠惰繘琛岃繃緙栬瘧瀹夎咃紝浼氬洖婧娓呯悊榪囩▼銆
4銆乸ackages杞浠跺畨瑁呭拰綆$悊
packages錛屼篃鍙浠ョО浣滅紪璇戝皝瑁呭ソ鐨勫簲鐢ㄨ蔣浠剁殑浜岃繘鍒跺寘錛屾槸FreeBSD鎻愪緵鐨勫熀浜巔orts緋葷粺寤虹珛鐨勪簩榪涘埗杞浠跺寘錛岃繖涓杞浠跺寘瀹為檯涓婃槸FreeBSD鍒╃敤紜浠惰祫婧愶紝鍒╃敤 ports 緋葷粺鐨 make package 鍛戒護寤虹珛鐨勩傝繖浜沺ackage瀛樻斁鍦 ftp.freebsd.org 鏈嶅姟鍣ㄤ笂錛屽彲浠ヨ繙紼嬬洿鎺ヤ笅杞藉畨瑁咃紝涔熷彲浠ヤ笅杞藉悗榪涜屽畨瑁呫
浠freebsd 7.0 release涓轟緥錛屽畠鐨勪簩榪涘埗杞浠跺寘緗戠粶鍦板潃鏄錛
ftp://ftp.freebsd.org/pub/FreeBS ... ckages-7.0-release/
鍦ㄨ繖涓緗戠粶鐩褰曚笅錛屾湁涓や釜鏂囦歡澶硅佺敤鍒幫紝涓涓鏄 All 錛屼竴涓鏄 Latest錛屾敞鎰忕涓涓瀛楁瘝閮芥槸澶у啓銆
All鐩褰曚笅鐨勬枃浠訛紝鏄鍒╃敤ports寤虹珛鐨勪簩榪涘埗杞浠跺寘錛屼緥濡 mysql51-server-5.1.22.tbz錛岃蔣浠跺寘鍚嶇О鏉ヨ嚜瀹冪殑ports鍚嶏紝鐗堟湰鍙鋒槸ports鏍規嵁杞浠跺寘婧愪唬鐮佺増鏈榪涜岀殑瀹氫箟銆
Latest鐩褰曚笅鐨勬枃浠訛紝鍏跺疄鏄疉ll鐩褰曚笅杞浠朵簩榪涘埗鍖呯殑杞榪炴帴錛屽苟涓旂渷鍘諱簡鐗堟湰鍙鳳紝榪欎釜鐩褰曟槸 FreeBSD緋葷粺緗戠粶鍦ㄧ嚎榪滅▼瀹夎呮墍瑕佽塊棶鐨勭洰褰曪紝瀵逛簬 mysql51-server-5.1.22.tbz 鐨勮蔣榪炴帴鍚嶆槸 mysql51-server.tbz銆傝繖鏍峰湪榪滅▼瀹夎呮椂灝辯渷鍘諱簡杈撳叆鐗堟湰鍙風殑楹葷儲銆
榪欎袱涓鐩褰曠殑寤虹珛鍜岀淮鎶や篃鏄鐢眕orts緋葷粺鑷鍔ㄥ畬鎴愮殑錛屾棤闇騫查勩
FreeBSD鎿嶄綔緋葷粺鎻愪緵鐨勭郴緇熺$悊宸ュ叿涓錛屾彁渚涗簡瀵筽ackages鐨勭淮鎶ゅ伐鍏
杞浠跺畨瑁
榪滅▼杞浠跺畨瑁: pkg_add -r 杞浠跺寘鍚嶇О 渚嬪傦細pkg_add -r mysql51-server錛宲kg_add -r xorg錛宲kg_add -r kde
緋葷粺浼氳嚜鍔ㄥ湪涓婇潰鎵璇寸殑ftp鏈嶅姟鍣↙atest鐩褰曚笅鏌ユ壘 mysql51-server.tbz錛寈org.tbz錛宬de.tbz錛屼絾鏈変竴鐐歸渶瑕佹敞鎰忥紝FreeBSD鐨刦tp鏈嶅姟鍣ㄥ苟涓嶄繚璇乸orts涓婂圭撼鐨勬墍鏈夌殑縐繪嶈繃鏉ョ殑杞浠墮兘鏈変簩榪涘埗鍖咃紝灝ゅ叾鏄痵table鍒嗘敮,鏈変簺鏄鍥犱負杞浠秔orts鏈韜鏈夐棶棰樻棤娉曞緩絝嬶紝涔熸湁涓浜涜蔣浠秔orts姝e湪淇璁錛岃繕鏈変竴浜涘彧鍏佽告簮浠g爜鍖呭彂甯冿紝鍗忚涓嶅厑璁歌繘琛屾墦鍖呫
鏈鍦拌蔣浠跺畨瑁: pkg_add 杞浠跺寘鏂囦歡鍚 錛岀敤榪欑嶆柟寮忓畨瑁呰蔣浠跺寘錛岄渶瑕佷粠All鐩褰曚笅杞斤紝闃叉㈣蔣浠跺畨瑁呮椂鎼滅儲鐗瑰畾鐗堟湰鐨勬湁渚濊禆鍏崇郴鐨勮蔣浠跺寘銆
涓涓寤鴻錛鍒╃敤pkg_add -r -K 榪欎釜鍛戒護錛屽畠鐨勪綔鐢ㄦ槸錛岃繙紼嬩笅杞斤紝瀹夎咃紝騫朵笖鎶婁笅杞界殑浜岃繘鍒跺寘淇濆瓨鍦 PKGDIR 瀹氫箟鐨勭洰褰曚笂銆侾KGDIR 榛樿ょ殑瀹氫箟鏄 /usr/ports/packages/