Ⅰ 什么是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/