FREEBSD軟件安裝

我們以安裝郵件軟件 pine 為例,由于 pine 位于 mail 分類下,所以我們選擇mail。如果您要安裝中文版本的 pine ,應(yīng)該選擇 Chinese 選項(xiàng)而非 mail。選擇了 mail 之后,將出現(xiàn) mail 分類下的所有軟件,我們選 pine-4.58 這一項(xiàng),如圖 10-7:
圖 10-7
選了pine 之后,就可以選 OK 回到前一個(gè)分類畫面,接著按照這種方式選了其它我們要安裝的軟件之后,就可以選「Install」來(lái)安裝了。選了 Install 之后,將出現(xiàn)所有我們已選取的軟件列表,如圖 10-8,如果要繼續(xù)安裝則選 OK 即可。
圖 10-8
方式二:使用手動(dòng)安裝
如果以手動(dòng)的方式安裝,我們必須先取回所要安裝的package。只要是 package ,它的擴(kuò)展名就是 .tgz。我們可以用 pkg_add 這個(gè)指令來(lái)安裝它。下面是一個(gè)簡(jiǎn)單的范例,使用 package 來(lái)安裝 lsof-4.66.1.tgz:
# ftp -a freebsd.csie.nctu.edu.tw Connected to freebsd.csie.nctu.edu.tw. 220---------- Welcome to Pure-FTPd ---------- 220-You are user number 139 of 200 allowed. 220-Local time is now 17:49. Server port: 21. 220-Only anonymous FTP is allowed here 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. 331 Any password will work 230 Any password will work Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/FreeBSD/ports/packages/sysutils/ 250 CWD command successful. ftp> get lsof-4.71.tgz local: lsof-4.71.tgz remote: lsof-4.71.tgz 227 Entering Passive Mode (140,113,17,209,189,16) 150-Accepted data connection 150 96.1 kbytes to download 100% |*********************************************************| 98372 136.87 KB/s 00:00 ETA 226-File successfully transferred 226 0.362 seconds (measured here), 265.35 Kbytes per second 98372 bytes received in 00:00 (136.70 KB/s) ftp> bye 221-Goodbye. You uploaded 0 and downloaded 97 kbytes. 221 Logout. # pkg_add lsof-4.71.tgz
要使用 package 安裝軟件,首先必須取得想要安裝的軟件。我們可以先 ftp 到各大學(xué) FTP 站臺(tái)去取得。packaeg 的副檔案是 .tgz,可以在各 FTP 站臺(tái)的 ports/packages 中取得。以交大資工的 FTP 站而言是放在 ftp://freebsd.csie.nctu.edu.tw/pub/ports/packages ;而中央資工的 FTP 是放在 ftp://freebsd.csie.ncu.edu.tw/FreeBSD/ports/packages 。當(dāng)進(jìn)入 ports 的目錄后,我們會(huì)發(fā)現(xiàn)還有一堆目錄,您可以依您的系統(tǒng)版本選擇要使用哪一個(gè)目錄,其中 packages 這個(gè)目錄包含了最新的 packages。如果您想要使用 packages-5.4-release 的 packages,我們就可以選擇進(jìn)入 packages-5.4-release 這個(gè)目錄。進(jìn)入這個(gè)目錄后,又有一堆目錄,這里的目錄結(jié)構(gòu)和你系統(tǒng)中 /usr/ports/ 下的目錄一樣,每個(gè)目錄都是軟件的分類,而 All 這個(gè)目錄是所有軟件。
如果您只知道想要安裝的軟件名稱,卻不知道版本及完整的檔名,例如您要下載 popa3d 這個(gè)軟件,但不知道是哪一版的,你可以先進(jìn)入 All 的目錄下,再以下列方式查詢:
ftp> ls popa3d* 227 Entering Passive Mode (140,113,209,200,159,54) 150 Opening ASCII mode data connection for /bin/ls. -r--r--r-- 1 FTP CSIE 19007 Nov 11 12:43 popa3d-0.6.4.1.tgz 226 Transfer complete. ftp> get popa3d-0.6.4.1.tgz
找到了想要下載的版本是 0.6.4.1,接著就以 get 指令去取回該軟件,最后下 exit 離開。
接著你就可以使用 pkg_add popa3d-0.6.4.1.tgz 來(lái)安裝該軟件。
10.2.2 管理 Package
如果我們后悔了,想要移除之前安裝過的軟件,可以下指令 pkg_delete popa3d-0.6.4.1 來(lái)移除 popa3d-0.6.4.1 這套軟件,所有我們安裝過的軟件都會(huì)記錄在 /var/db/pkg 的目錄中。
我們可以使用 pkg_info 這個(gè)指令來(lái)得到軟件的信息。例如在我們下載完一個(gè) package 后,你想要知道這個(gè)軟件的信息,以 popa3d-0.6.4.1.tgz 而言,如果我們想知道它的信息,你使用下列指令來(lái)取得:
# pkg_info popa3d-0.6.4.1.tgz
您也可以只打 pkg_info 來(lái)得知所有你安裝過的軟件有哪些。
10.3 使用 ports
如果你要使用 ports 安裝軟件,你必須先確認(rèn) /usr/ports 這個(gè)目錄是否有安裝。如果沒有的話,使用 /stand/sysinstall 來(lái)安裝 ports 的目錄:
- 以 root 執(zhí)行 /stand/sysinstall
- 選擇 Configure 后按 Enter
- 選擇 Distributions 后按 Enter
- 選擇 ports 后按空格鍵
- 選擇 Exit 后按 Enter
- 選擇你要從 CDROM 或 FTP 安裝等
- 跟著選單照做,最后離開 sysinstall
或者我們也可以到 http://www.freebsd.org/ports/ 去手動(dòng)抓回 port.tar.gz 這個(gè)檔案,將它放在 /usr/ 下。并以下列指令來(lái)安裝:
# cd /usr # tar zxvf port.tar.gz
現(xiàn)在可以進(jìn)入 /usr/ports 的目錄中,安裝軟件了。
通常每一個(gè)軟件都有一個(gè)獨(dú)立的目錄,而目錄中都存在著一些檔案,每個(gè)檔案都有其特定用途,我們簡(jiǎn)列如下:
Makefile | 安裝軟件的編譯設(shè)定,您可以修改這個(gè)檔案來(lái)設(shè)定我們?cè)诰幾g及安裝軟件時(shí)的參數(shù)。 |
README.html | 我們可以經(jīng)由瀏覽 README.html 來(lái)查看所有 ports 目錄下的軟件說(shuō)明。 |
distinfo | 說(shuō)明安裝所需要的檔案及其 MD5 的檢查數(shù)據(jù)。 |
pkg-comment | 簡(jiǎn)單的軟件描述。 |
pkg-descr | 較詳細(xì)的描述,我們通??梢栽诶锩嬲业皆撥浖W(wǎng)頁(yè)的位置,使我們能到該網(wǎng)頁(yè)得到更多信息。 |
pkg-plist | 列出軟件將安裝的清單,安裝后會(huì)放在硬盤中的什么地方。 |
如果您想安裝某一個(gè)軟件,卻不知道它的目錄位置,您可以使用 whereis 這個(gè)指令來(lái)找出它來(lái)。例如我們想安裝 qpopper ,可以使用 whereis qpopper 來(lái)找出它所在的目錄。 或者果我們只知道某個(gè)程序的關(guān)鍵詞,確不知道它放在哪個(gè)目錄,我們可以使用下列指令:
# cd /usr/ports # make search key='關(guān)鍵詞'
進(jìn)入該目錄后,最簡(jiǎn)單的安裝方式是直接打 make install,系統(tǒng)就會(huì)自動(dòng)去網(wǎng)絡(luò)上抓取需要的軟件回來(lái)安裝。安裝 ports 時(shí),make 時(shí)找檔案的順序是:先去 /usr/ports/distfiles 、再去找 /cdrom/ports/distfiles、最后是網(wǎng)絡(luò)中下載。如果您不使用網(wǎng)絡(luò)安裝的話,您可以自己去抓回軟件,并將它放在 /usr/ports/distfiles/ 下,這樣子在我們打 make install 時(shí),就不會(huì)去網(wǎng)絡(luò)上抓取檔案。如果您所需檔案存在光盤中,在安裝軟件之前,必須先將光驅(qū) mount 在 /cdrom 中。。但有的軟件并不會(huì)到光盤中去尋找檔案,所以建議您還是將光盤中 /ports/distfiles 目錄內(nèi)容復(fù)制到 /usr/ports/distfiles 目錄中,或者先連上網(wǎng)絡(luò)吧。
當(dāng)使用網(wǎng)絡(luò)取得檔案時(shí),預(yù)設(shè)抓取檔案的服務(wù)器通常在國(guó)外,因此,您可以修改 /etc/make.conf 來(lái)指定使用國(guó)內(nèi)的 FTP 站臺(tái),例如編輯 /etc/make.conf 并加入:
MASTER_SITE_BACKUP?= \ ftp://freebsd.csie.ncu.edu.tw/distfiles/${DIST_SUBDIR}/ \ ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/ MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} |
當(dāng)安裝完 ports 后,我們可以再下指令 make clean 來(lái)清除編譯過程產(chǎn)生的檔案,建議最好這么做,否則有的過程中產(chǎn)生大量檔案可是很驚人的。如果您安裝了一堆軟件之后,才想到之前沒有 make clean,沒關(guān)系,在安裝 ports 時(shí),編譯過程的檔案都存在于該軟件目錄下的 work 目錄中。我們可以使用下列指令來(lái)找出所有未 make clean 的軟件,并將暫存數(shù)據(jù)刪除:
# find /usr/ports -depth -name work -exec rm -rf {} \;
如果您使用網(wǎng)絡(luò)安裝,它會(huì)將所下載的原始碼存在 /usr/ports/distfiles 中,當(dāng)你下 make clean 后,并不會(huì)將它們清除。
當(dāng)你安裝完后,想要移除該軟件時(shí),只要在該軟件的 ports 目錄中打 make deinstall 即可。請(qǐng)注意,不要在 /usr/ports 的目錄中打 make deinstall,這樣可是會(huì)將 "所有" 軟件都移除喔。
還有一些較不常用的 make 方式,簡(jiǎn)述如下:
make fetch:抓回所需的原始檔。
make fetch-list:顯示安裝所需的檔案。
make checksum:抓回原始檔并以 MD5 檢查其正確性。
make extract:抓回并解開原始檔。
make configure:進(jìn)行組態(tài),但不繼續(xù)編譯。
make all install:抓回原始檔、編譯且安裝。
make reinstall:若先前發(fā)生意外中斷,以此命令繼續(xù)嘗試安裝。
make package:將做好的 ports 打包制作成 packages。
如果安裝完新的軟件之后,如果使用的 Shell 是 Csh 或 Tcsh,我們可能必須執(zhí)行指令 rehash 來(lái)重建 hash table,之后才能在所設(shè)定的指令路徑中找到剛安裝的程序,不然的話就必須輸入該程序的完整路徑或重新登入才能使用。
我們可以在 /var/db/pkg 的目錄中看到我們已安裝的軟件,每一個(gè)軟件有一個(gè)目錄,目錄中存放著軟件安裝的信息,包含了軟件說(shuō)明、安裝到哪些目錄中。有的軟件要安裝前,會(huì)要求先安裝某一套軟件,如果你事先沒有安裝它所要求的軟件,通常該軟件會(huì)自動(dòng)幫你安裝。所以我們會(huì)在 /var/db/pkg 下看到一些不是我們主動(dòng)安裝的軟件。既然軟件之間可能會(huì)相互依賴,我們要如何得知這些軟件彼此間的關(guān)系呢?pkg_tree 這套軟件可以讓我們檢視軟件間的關(guān)系。我們可以使用 port 來(lái)安裝這套軟件:
# cd /usr/ports/sysutils/pkg_tree # make install clean
之后我們就可以使用 pkg_tree | more 來(lái)看各個(gè)軟件之間的關(guān)系了 (別忘了要 rehash 喔)。
10.4 更新 port tree
當(dāng) FreeBSD release 時(shí),會(huì)事先測(cè)試過 ports 目錄中的所有軟件是否能正常安裝。因?yàn)椴煌浖g時(shí)常是相互依賴的,有的時(shí)候我們要安裝 A 軟件,系統(tǒng)會(huì)自動(dòng)抓取所需要的其它軟件。這些軟件對(duì)于彼此的版本可能會(huì)有相互依賴,所以在 release 之前,ports 會(huì)暫停更新各個(gè)軟件的版本,以確保 release 的版本能正常運(yùn)作。
但在 release 之后,ports 目錄中的軟件版本可能已有更新,有的軟件版本更新可能只是增加新的功能,而有的更新更涉及系統(tǒng)安全。如果您想使用 ports 安裝軟件最新的版本,在安裝軟件之前,我們可以先使用一些工具來(lái)更新整個(gè) port tree。
有時(shí)候更新了 port tree 之后,因?yàn)榘姹鞠嘁绬栴},有些軟件可能會(huì)因此而無(wú)法順利安裝,您只要在過幾天后重新做一次 port tree 的更新應(yīng)該就可以解決了。
更新 port tree 的方法很簡(jiǎn)單,我們可以使用 CVSup 來(lái)保持 ports 在最新狀態(tài)。CVSup 是一套用來(lái)維持軟件原始碼和開發(fā)團(tuán)隊(duì)同步的工具,在我們執(zhí)行了 CVSup 之后,它會(huì)經(jīng)由網(wǎng)絡(luò)向所設(shè)定的軟件服務(wù)器檢查并更新原始碼的版本。我們可以使用 CVSup 來(lái)更新 port tree,也可以用來(lái)更新 /usr/src 目錄下的 FreeBSD 原始碼。
首先,我們必須安裝 CVSup,因?yàn)槲覀儾皇褂脠D形接口,所以安裝 cvsup-without-gui:
# cd /usr/ports/net/cvsup-without-gui # make install clean
在系統(tǒng)中有一份以 CVSup 更新 port tree 的設(shè)定文件范例,您可以直接加以修改或著先復(fù)制一份后再修改。我們將該設(shè)定文件范例復(fù)制到 /root 之后再加以修改:
# cp /usr/share/examples/cvsup/ports-supfile /root/
接著請(qǐng)以文書編輯軟件打開 /root/ports-supfile 后,找到 host 的部份來(lái)設(shè)定所要使用的 CVSup 服務(wù)器。
# Defaults that apply to all the collections # # IMPORTANT: Change the next line to use one of the CVSup mirror sites # listed at http://www.freebsd.org/doc/handbook/mirrors.html. *default host=cvsup.tw.freebsd.org *default base=/usr *default prefix=/usr *default release=cvs tag=. *default delete use-rel-suffix # If your network link is a T1 or faster, comment out the following line. *default compress ## Ports Collection. # # The easiest way to get the ports tree is to use the "ports-all" # mega-collection. It includes all of the individual "ports-*" # collections, ports-all # These are the individual collections that make up "ports-all". If you # use these, be sure to comment out "ports-all" above. # # Be sure to ALWAYS cvsup the ports-base collection if you use any of the # other individual collections below. ports-base is a mandatory collection # for the ports collection, and your ports may not build correctly if it # is not kept up to date. #ports-base #ports-archivers #ports-astro #ports-audio #ports-benchmarks ………略………… |
上面的范例中,我們將 CVSup 服務(wù)器設(shè)為 cvsup.tw.freebsd.org,這一臺(tái)服務(wù)器是由交大資工所維護(hù),您可以依您所在位置使用其它 cvsup1 ~ cvsup13.tw.freebsd.org 的服務(wù)器。例如 cvsup3 位于中山大學(xué),cvsup13 是 giga 和信超媒體的服務(wù)器。最后一行的 ports-all 表示我們要更新 /usr/ports 目錄下的所有檔案。您也可以只更新其中的部份目錄,只要將 ports-all 以井字號(hào) "#" 標(biāo)示起來(lái),并將檔案中 ports-base 那一行的 # 移除,接著您就可以依您所要更新的目錄來(lái)要移除其它的 # 字號(hào)。例如,我們只要更新 /usr/ports/www 這個(gè)目錄,將 ports-all 以 # 標(biāo)示起來(lái)之后,我們還要移除 ports-base 及 ports-www 開頭的 #。
設(shè)定完畢之后,我們就可以開始進(jìn)行 ports 的更新了。
# cvsup -g -L 2 /root/ports-supfile
上述指令中,參數(shù) g 表示不使用圖形接口,而參數(shù) L 及其后所跟隨的數(shù)字 2 表示我們要看到更新過程的記錄的詳細(xì)程度,數(shù)字可以從 0 ~ 2,最后的檔名表示所要使用的設(shè)定檔。
在使用 ports 安裝軟件之前,先執(zhí)行 CVSup 是一個(gè)不錯(cuò)的習(xí)慣,您可以隨時(shí)取得軟件的最新版本,不過您的機(jī)器一定要連上因特網(wǎng)才能進(jìn)行更新。
10.5 使用 portupgrade 更新軟件
在使用 Port 安裝了一堆軟件后,如果軟件有新的版本出來(lái)怎么辦?FreeBSD 的 ports 管理工具中有一個(gè)好用的軟件 - portupgrade。
通常 ports 中的軟件都有相依性,例如安裝 Apache 會(huì)自動(dòng)安裝 libexpat、安裝防垃圾信軟件會(huì)自動(dòng)安裝一堆 Perl 模塊。而在更新軟件時(shí),我們必須要確定更新過后,相依的軟件都一并更新,才不會(huì)造成更新后有東西不能運(yùn)作的情形。不過這并不表示我們一定要常常更新軟件,建議您只有在必要時(shí)才使用 portupgrade 來(lái)更軟件,不要有事沒事就跑一次。因?yàn)檐浖⒉皇亲钚碌木妥詈?,沒有人能保證更新的軟件是否還維持您原本期望的行為。
portupgrade 在更新軟件時(shí),會(huì)保留您原本的設(shè)定檔。例如,在更新 Apache 時(shí),它會(huì)保留 httpd.conf 的設(shè)定。使用 portupgrade 是更新 ports 軟件比較安全的方式。
在您使用 cvsup 更新 port tree 后,我們可以使用下列指令查看目前安裝的軟件版本是否和 port tree 中的版本一樣:
# pkg_version -v ispell-3.2.06_12 = up-to-date with port jasper-1.701.0 = up-to-date with port jpeg-6b_3 = up-to-date with port kde-3.3.0 < needs updating (port has 3.3.1) kdeaccessibility-3.3.0 < needs updating (port has 3.3.1) ... 略 ...
上列輸出中需要更新的軟件會(huì)有「< needs updating」的字樣。您可以選擇想要更新的軟件,再使用 portupgrade 來(lái)更新。首先,我們必須使用 ports 來(lái)安裝 portupgrade:
# cd /usr/ports/sysutils/portupgrade # make install clean
如果您只想要升級(jí)某一個(gè)軟件本身,而非所有相依的軟件,只要使用 portupgrade pkgname 即可。如果您要升級(jí)所有和該軟件相依的其它軟件,則可以加上參數(shù) -r。如果您要更新包含相依軟件的相依軟件,則可以使用參數(shù) -R。另外,您可以使用參數(shù) -m 來(lái)要求編譯 (make) ports 時(shí)多傳入一些參數(shù),還可以使用參數(shù) -f 要求就算版本一樣也強(qiáng)制更新。
假設(shè)我們要更新的軟件是 perl-5.8,我們可以使用下列指令來(lái)更新:
# portupgrade -rf "perl-5.8.*" -m "ENABLE_SUIDPERL=yes"
|
10.6 傳統(tǒng)安裝方式
我們介紹了 FreeBSD 獨(dú)有的 package 及 port 安裝方式后,接下來(lái)我們還是要詳細(xì)說(shuō)明一下傳統(tǒng)上在 UNIX 機(jī)器上安裝軟件的方式。
有的時(shí)候,我們要想要裝的軟件可能不在 port 里,或者 port 中的軟件版本尚未更新,這時(shí)候我們就必須使用傳統(tǒng)的安裝方式來(lái)安裝軟件。基本上,傳統(tǒng)安裝方式就像本章開頭所說(shuō)的,大多必須要有下列步驟:
- 從該軟件網(wǎng)站或其它 FTP 站臺(tái)下載該軟件,有可能是 binary 檔或是原始碼。
- 解壓縮該檔案,通常是以 tar 或 gzip、bzip2 壓縮的。
- 讀一下該目錄中的說(shuō)明文件,可能是 readme 或是 doc/ 的文件,來(lái)了解如何安裝該軟件。
- 如果所下載的是原始碼,可能要先編輯一下 Makefile 或是執(zhí)行 configure,接著再編譯該軟件。
- 最后再測(cè)試與安裝。
我們以 MySQL 這個(gè)軟件為例。
下載及解壓縮
首先我們到 MySQL 網(wǎng)站上下載最新的原始碼。一般原始碼大多以指令 tar 包成一個(gè)檔案,再壓縮成 gzip 或是 bzip2 格式。所以您下載的檔案擴(kuò)展名大多為 .tar.gz、.tgz、或是 .tar.bz2。
擴(kuò)展名為 .tar.gz 或是 .tgz 的檔案為 tar + gzip 格式,MySQL 的原始碼就是這一種類型。我們可以使用下列指令來(lái)解壓縮:
# tar zxvf mysql-4.1.13.tar.gz
如果擴(kuò)展名為 .tar.bz2 的檔案,則是 tar + bzip2 的格式,遇到這種格式時(shí),我們可以使用下列指令解壓縮:
# tar jxvf mysql-4.1.13.tar.bz2
我們可以看到上述二種格式都可以使用 tar 來(lái)解壓縮,只是 gzip 格式必須使用參數(shù) z,而 bzip2 的格式必須使用參數(shù) j。指令 tar 的其它參數(shù)所代表的意義為:x 是解開的意思、v 是要觀看解開的過程、f 是指定要解壓縮的文件名稱。
解開之后,我們就可以進(jìn)入下一步開始安裝。
查看說(shuō)明檔
每個(gè)軟件在安裝上大同小異,但有的軟件除了一般安裝流程外,可能還有自己獨(dú)特步驟。所以在安裝之前,我們必須先看一下說(shuō)明檔,以了解如何進(jìn)行安裝。
大部份的開放原始碼軟件都會(huì)有 README 或是 INSTALL 這二個(gè)檔案,用以說(shuō)明安裝的步驟。有的軟件可能有其它檔案,但我們可以從檔名了解應(yīng)該要看哪一個(gè)說(shuō)明檔。以 MySQL 為例,在它的原始碼包裝中,有一個(gè)檔名為 INSTALL-SOURCE 的檔案,應(yīng)該就是我們要看的安裝說(shuō)明檔。我們使用文書編輯器打開該檔后,可以看到一些關(guān)于安裝的說(shuō)明。MySQL 的說(shuō)明檔寫的蠻詳細(xì)的,但我們可以將重點(diǎn)放在 Installation 的地方:
2.8.1 Source Installation Overview ---------------------------------- The basic commands you must execute to install a MySQL source distribution are: shell> groupadd mysql shell> useradd -g mysql mysql shell> gunzip < mysql-VERSION.tar.gz | tar -xvf - shell> cd mysql-VERSION shell> ./configure --prefix=/usr/local/mysql shell> make shell> make install shell> cp support-files/my-medium.cnf /etc/my.cnf shell> cd /usr/local/mysql shell> bin/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql var shell> chgrp -R mysql . shell> bin/mysqld_safe --user=mysql & |
我們可以看到它的安裝步驟寫的很詳細(xì),還有指令范例。簡(jiǎn)單來(lái)看,應(yīng)該就是要先增加一個(gè)使用者為 mysql,并增加 mysql 群組。接著再解壓縮原始碼、進(jìn)行編譯、安裝、并做一些安裝后的設(shè)定。
編譯
在 MySQL 的安裝步驟中,編譯前要先進(jìn)行 configure。事實(shí)上,大多數(shù)的開放原始碼軟件編譯流程都使用下列三個(gè)步驟:
# ./configure # make # make install
第一個(gè)指令是 configure,這個(gè)指令可以用來(lái)檢查您目前系統(tǒng)的設(shè)定,并依您的使用環(huán)境決定要不要加入某些功能。您也可以使用下列指令查看 configure 指令中可以使用哪些參數(shù):
# ./configure --help | more
原則上,除非有特殊要求,否則我們直接執(zhí)行 configure 即可。以 MySQL 為例,我們?cè)?configure 指令后面加上下列參數(shù):
# ./configure --prefix=/usr/local/mysql \ --with-low-memory \ --with-charset=big5
我們使用 --prefix 以指定要安裝的路徑,這是所有使用 configure 的軟件都會(huì)有的參數(shù)。另外,我們還指定編譯時(shí)不要使用太多內(nèi)存 (--with-low-memory),并設(shè)定 MySQL 支持中文字集 (--with-charset=big5)。
執(zhí)行完 configure 檢查環(huán)境并設(shè)定安裝的項(xiàng)目后,我們就可以使用 make 來(lái)進(jìn)行編譯。指令 make 會(huì)呼叫編譯器 gcc 來(lái)將原始碼轉(zhuǎn)換成執(zhí)行檔。
編譯完后,我們可以使用下列指令安裝:
# make install
您可以看到程序安裝的過程。安裝完成后,我們必須依不同的軟件要求進(jìn)行安裝后的設(shè)定。以 MySQL 為例,我們必須先使用 mysql_install_db 以初始化數(shù)據(jù)庫(kù),并將一些目錄的擁有者設(shè)定為 mysql。
最后就可以啟動(dòng) mysql 了。而如果我們要在開機(jī)時(shí)啟動(dòng) MySQL,必須將它的啟動(dòng)指令加入 /etc/rc.local 中,或是在 /usr/local/etc/rc.d 中加入一個(gè) mysql.sh 并將啟動(dòng)的指令寫在該檔案中,然后將 mysql.sh 設(shè)為可執(zhí)行。如此一來(lái),F(xiàn)reeBSD 在開機(jī)時(shí)就會(huì)自動(dòng)執(zhí)行它。
以上就是一般傳統(tǒng)軟件安裝的流程:configure、make、make install,其實(shí)使用上也不太難。
|
相關(guān)文章
Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié)
這篇文章主要介紹了Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結(jié),需要的朋友可以參考下2023-05-03- 一些朋友問小編FreeBSD如何添加硬盤?別擔(dān)心,今天小編就為大家分享FreeBSD添加硬盤的方法,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-06
- 今天小編為大家?guī)?lái)的是Freebsd PF 安裝使用詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-06
FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?
最近一些朋友問小編 FreeBSD下zfs: failed with error 6錯(cuò)誤如何解決?今天小編要為大家?guī)?lái)的是 FreeBSD下zfs: failed with error 6錯(cuò)誤的解決方法,有需要的朋友一起去看2017-04-06Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解
今天小編要為大家?guī)?lái)的是Unix文件系統(tǒng)和pwd命令實(shí)現(xiàn)詳解,希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-04-01- 今天小編將為大家?guī)?lái)的是Unix中的dot命令詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧2017-03-22
freebsd時(shí)間設(shè)置小節(jié)詳解
近日!一些朋友對(duì)于freebsd時(shí)間設(shè)置小節(jié)存在疑慮!下面小編將為大家?guī)?lái)的是freebsd時(shí)間設(shè)置小節(jié)詳解!希望對(duì)大家會(huì)有幫助!有需要的朋友一起去看看吧2017-03-19- 今天小編要為大家?guī)?lái)的是grub2引導(dǎo)freebsd詳解!希望對(duì)大家會(huì)有幫助,有需要的朋友一起去看看吧2017-03-19
- 下面小編為大家?guī)?lái)的是FreeBSD10安裝內(nèi)核源代碼方法講解!希望能夠幫助到大家!有需要的朋友一起去看看吧2017-03-19
FreeBSD下如何使GraphicsMagick支持中文字體?
最近一些朋友在問FreeBSD下如何使GraphicsMagick支持中文字體?今天小編為大家?guī)?lái)的是FreeBSD下使GraphicsMagick支持中文字體的方法!有需要的朋友一起去看看吧2017-03-15