主頁(yè) > 知識(shí)庫(kù) > 談?wù)凢reeBSD軟件安裝方法

談?wù)凢reeBSD軟件安裝方法

熱門(mén)標(biāo)簽:地圖標(biāo)注與注記總結(jié) 赤峰防封電銷(xiāo)卡 北海智能電銷(xiāo)機(jī)器人公司 信陽(yáng)外呼系統(tǒng)廠家 人工電銷(xiāo)和ai機(jī)器人的區(qū)別 地圖標(biāo)注山峰最低高度 駐馬店電話自動(dòng)外呼系統(tǒng)怎么樣 地圖標(biāo)注多個(gè)城市 南京自動(dòng)外呼系統(tǒng)有哪些

安裝了 FreeBSD 后,您一定還會(huì)需要安裝其它非 FreeBSD 內(nèi)附的軟件。在 FreeBSD 上安裝軟件有許多種方法,我們將一一為各位介紹。

本章包含了下列軟件安裝必備的課題:

    * 各種安裝方式的優(yōu)缺點(diǎn)。
    * 如何使用 package。
    * 如何使用 port。
    * 如何使用傳統(tǒng)安裝方法自行編譯軟件。

10.1 概論

傳統(tǒng)上,要在一個(gè) UNIX 系統(tǒng)上安裝其它軟件時(shí),有幾個(gè)步驟:

    * 下載該軟件,有可能是 binary 檔或是原始碼。
    * 解壓縮該檔案,通常是以 tar 或 gzip 壓縮的。
    * 讀一下該目錄中的說(shuō)明文件,可能是 readme 或是 doc/ 的文件,來(lái)了解如何安裝該軟件。
    * 如果所下載的是原始碼,可能要先編輯一下 Makefile 或是執(zhí)行 configure,接著再編譯該軟件。
    * 最后再測(cè)試與安裝。

當(dāng)然,我們可以在 FreeBSD 上使用傳統(tǒng)的方式來(lái)安裝軟件,但是還有更簡(jiǎn)單的選擇。FreeBSD提供了 package 和 ports 這二種簡(jiǎn)單的安裝軟件方式。

所謂的 pakcage 是別人幫你將程序編譯成 binary 文件,并定義了該安裝在什么地方。我們只要下載一個(gè)壓縮檔,并使用 pkg_add 這個(gè)指令就可以快速的將軟件安裝在 FreeBSD 上。這是安裝軟件最簡(jiǎn)單的步驟,所安裝的東西也是最標(biāo)準(zhǔn)的,和自己依需求修改并編譯原始碼比較起來(lái)較缺乏彈性。

而 port 就是使用原始碼來(lái)安裝軟件。我們只要進(jìn)入 /usr/ports/ 里想要安裝的軟件目錄中,打指令 make install 就可以完成安裝了。FreeBSD 己經(jīng)幫我們定義了安裝該軟件所須的步驟、所要求的其它套件。不管是 package 或是 ports,當(dāng)安裝的軟件需要依靠其它軟件才能繼續(xù)安裝時(shí),它們會(huì)自動(dòng)幫你安裝該軟件。所有安裝好的軟件都將記錄在 /var/db/pkg 中,日后如果我們想要移除軟件時(shí),可以用一個(gè)簡(jiǎn)單的指令 pkg_delete 加上軟件名稱(chēng)就可以了。

即然 port 這么好用,為什么 FreeBSD 要同時(shí)有 package 和 ports 呢?我們來(lái)比較一下 ports 和 package 的優(yōu)點(diǎn):

package 的優(yōu)點(diǎn):

    * 一個(gè)己經(jīng)編譯過(guò)的壓縮檔通常比包含原始碼的檔案還要小。
    * 使用 pakcage 并不需要再做任何的編譯動(dòng)作,如果你的計(jì)算機(jī)速度很慢,在安裝像 KDE、GNOME 等大型軟件時(shí),不用編譯可以省下很多時(shí)間。
    * 使用 package 來(lái)安裝軟件時(shí),你不必事先了解在 FreeBSD 上編譯時(shí)所使用的軟件及其過(guò)程。

ports 的優(yōu)點(diǎn):

    * package 為了要在多數(shù)的計(jì)算機(jī)執(zhí)行,考慮兼容性問(wèn)題,通常編譯的比較保守。而使用 ports 你可以依自己的系統(tǒng)修改,例如選擇使用 Pentium III 或是 Athlon 的處理器。
    * 在編譯 package 時(shí),就已經(jīng)限制了該軟件的功能,無(wú)法再依自己需求擴(kuò)充。例如 Apache 這套軟件就有許多的功能可以在編譯時(shí)掛進(jìn)來(lái),使用 ports 來(lái)安裝時(shí),你可以依自己的需求來(lái)加以修改。
    * 我們可以經(jīng)由更新 Port Tree 來(lái)使用較新的軟件,而 package 通常只和系統(tǒng)一起 release。
    * 有些軟件不允許使用 binary 文件的方式散播,只能下載原始碼。
    * 有了原始碼,你可以自己修改并加以應(yīng)用。
    * 有的人喜歡擁有原始碼,他們可以讀它、從中學(xué)習(xí)。

接著我們就針對(duì) package 及 ports 來(lái)說(shuō)明它們的使用方式。   

10.2 使用 package

10.2.1 安裝 Package

安裝package 有二種方式,第一種是使用 sysinstall (也就是我們安裝 FreeBSD 時(shí)所看到的畫(huà)面) 來(lái)安裝,另一種是使用手動(dòng)安裝。使用 sysinstall 安裝時(shí),我們必需選擇安裝的來(lái)源,最常使用的來(lái)源是網(wǎng)絡(luò)及光盤(pán)片。但是由于光盤(pán)片容量有限,所以在 FreeBSD 安裝光盤(pán)中所含的 package 軟件數(shù)量并不多,因此我通常都選擇使用網(wǎng)絡(luò)安裝。而使用手動(dòng)安裝必須自行抓回所需的檔案,并以指令安裝。以下我們就分別針對(duì)這二種方式來(lái)說(shuō)明:

方式一:使用 sysinstall

假設(shè)我們要安裝在 FreeBSD 上收信的軟件 pine,首先我們要執(zhí)行 sysinstall 以進(jìn)入安裝時(shí)的畫(huà)面:

# sysinstall

圖 10-1

接著選取 Configure選項(xiàng),進(jìn)入圖 10-2 的畫(huà)面:

圖 10-2

我們選 Packages 選項(xiàng)來(lái)安裝 package:

圖 10-3

在圖 10-3 中,我們必須選擇安裝來(lái)源,在這里我們選擇 FTP ,從 FTP 中我們可以找到較多的軟件。選擇了 FTP 之后,將出現(xiàn)圖 10-4 的畫(huà)面,讓我們選擇要使用哪一個(gè) FTP 站臺(tái):

圖 10-4

我們選擇「URL」來(lái)自訂要使用的 FTP 站臺(tái)。接著便會(huì)出現(xiàn)一個(gè)要求我們輸入站臺(tái)地址的窗口,如圖 10-5 所示,假設(shè)我們要使用交大資工的站臺(tái),則輸入 freebsd.csie.nctu.edu.tw/pub/releases/i386/:

圖 10-5

輸入站臺(tái)后,會(huì)問(wèn)您是否要使用目前的網(wǎng)絡(luò)設(shè)定。如果我們己經(jīng)連上網(wǎng)絡(luò),則選 YES,否則請(qǐng)選 NO 來(lái)設(shè)定網(wǎng)絡(luò)。接著會(huì)出現(xiàn)一個(gè)軟件分類(lèi)選單,這一份分類(lèi)選單將各個(gè)軟件分門(mén)別類(lèi)放在不同的選項(xiàng)下,其中 All 是所有軟件的所在,如圖 10-6。

圖 10-6

我們以安裝郵件軟件 pine 為例,由于 pine 位于 mail 分類(lèi)下,所以我們選擇mail。如果您要安裝中文版本的 pine ,應(yīng)該選擇 Chinese 選項(xiàng)而非 mail。選擇了 mail 之后,將出現(xiàn) mail 分類(lèi)下的所有軟件,我們選 pine-4.58 這一項(xiàng),如圖 10-7:

圖 10-7

選了pine 之后,就可以選 OK 回到前一個(gè)分類(lèi)畫(huà)面,接著按照這種方式選了其它我們要安裝的軟件之后,就可以選「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è)目錄都是軟件的分類(lèi),而 All 這個(gè)目錄是所有軟件。

如果您只知道想要安裝的軟件名稱(chēng),卻不知道版本及完整的檔名,例如您要下載 popa3d 這個(gè)軟件,但不知道是哪一版的,你可以先進(jìn)入 All 的目錄下,再以下列方式查詢(xún):

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 離開(kāi)。

接著你就可以使用 pkg_add popa3d-0.6.4.1.tgz 來(lái)安裝該軟件。

10.2.2 管理 Package

如果我們后悔了,想要移除之前安裝過(guò)的軟件,可以下指令 pkg_delete popa3d-0.6.4.1 來(lái)移除 popa3d-0.6.4.1 這套軟件,所有我們安裝過(guò)的軟件都會(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)得知所有你安裝過(guò)的軟件有哪些。

10.3 使用 ports

如果你要使用 ports 安裝軟件,你必須先確認(rèn) /usr/ports 這個(gè)目錄是否有安裝。如果沒(méi)有的話,使用 /stand/sysinstall 來(lái)安裝 ports 的目錄:

   1. 以 root 執(zhí)行 /stand/sysinstall
   2. 選擇 Configure 后按 Enter
   3. 選擇 Distributions 后按 Enter
   4. 選擇 ports 后按空格鍵
   5. 選擇 Exit 后按 Enter
   6. 選擇你要從 CDROM 或 FTP 安裝等
   7. 跟著選單照做,最后離開(kāi) 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ì)放在硬盤(pán)中的什么地方。

如果您想安裝某一個(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ò)上抓取檔案。如果您所需檔案存在光盤(pán)中,在安裝軟件之前,必須先將光驅(qū) mount 在 /cdrom 中。。但有的軟件并不會(huì)到光盤(pán)中去尋找檔案,所以建議您還是將光盤(pán)中 /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)清除編譯過(guò)程產(chǎn)生的檔案,建議最好這么做,否則有的過(guò)程中產(chǎn)生大量檔案可是很驚人的。如果您安裝了一堆軟件之后,才想到之前沒(méi)有 make clean,沒(méi)關(guān)系,在安裝 ports 時(shí),編譯過(guò)程的檔案都存在于該軟件目錄下的 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:抓回并解開(kāi)原始檔。
    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ì)要求先安裝某一套軟件,如果你事先沒(méi)有安裝它所要求的軟件,通常該軟件會(huì)自動(dòng)幫你安裝。所以我們會(huì)在 /var/db/pkg 下看到一些不是我們主動(dòng)安裝的軟件。既然軟件之間可能會(huì)相互依賴(lài),我們要如何得知這些軟件彼此間的關(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è)試過(guò) ports 目錄中的所有軟件是否能正常安裝。因?yàn)椴煌浖g時(shí)常是相互依賴(lài)的,有的時(shí)候我們要安裝 A 軟件,系統(tǒng)會(huì)自動(dòng)抓取所需要的其它軟件。這些軟件對(duì)于彼此的版本可能會(huì)有相互依賴(lài),所以在 release 之前,ports 會(huì)暫停更新各個(gè)軟件的版本,以確保 release 的版本能正常運(yùn)作。

但在 release 之后,ports 目錄中的軟件版本可能已有更新,有的軟件版本更新可能只是增加新的功能,而有的更新更涉及系統(tǒng)安全。如果您想使用 ports 安裝軟件最新的版本,在安裝軟件之前,我們可以先使用一些工具來(lái)更新整個(gè) port tree。

有時(shí)候更新了 port tree 之后,因?yàn)榘姹鞠嘁绬?wèn)題,有些軟件可能會(huì)因此而無(wú)法順利安裝,您只要在過(guò)幾天后重新做一次 port tree 的更新應(yīng)該就可以解決了。

更新 port tree 的方法很簡(jiǎn)單,我們可以使用 CVSup 來(lái)保持 ports 在最新?tīng)顟B(tài)。CVSup 是一套用來(lái)維持軟件原始碼和開(kā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)以文書(shū)編輯軟件打開(kāi) /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 開(kāi)頭的 #。

設(shè)定完畢之后,我們就可以開(kāi)始進(jìn)行 ports 的更新了。

# cvsup -g -L 2 /root/ports-supfile

上述指令中,參數(shù) g 表示不使用圖形接口,而參數(shù) L 及其后所跟隨的數(shù)字 2 表示我們要看到更新過(guò)程的記錄的詳細(xì)程度,數(shù)字可以從 0 ~ 2,最后的檔名表示所要使用的設(shè)定檔。

在使用 ports 安裝軟件之前,先執(zhí)行 CVSup 是一個(gè)不錯(cuò)的習(xí)慣,您可以隨時(shí)取得軟件的最新版本,不過(guò)您的機(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í),我們必須要確定更新過(guò)后,相依的軟件都一并更新,才不會(huì)造成更新后有東西不能運(yùn)作的情形。不過(guò)這并不表示我們一定要常常更新軟件,建議您只有在必要時(shí)才使用 portupgrade 來(lái)更軟件,不要有事沒(méi)事就跑一次。因?yàn)檐浖⒉皇亲钚碌木妥詈?,沒(méi)有人能保證更新的軟件是否還維持您原本期望的行為。

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"
 

上一頁(yè)12 下一頁(yè) 閱讀全文

標(biāo)簽:達(dá)州 烏蘭察布 梧州 廣元 張家界 信陽(yáng) 德陽(yáng) 晉中

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《談?wù)凢reeBSD軟件安裝方法》,本文關(guān)鍵詞  談?wù)?FreeBSD,軟件,安裝,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《談?wù)凢reeBSD軟件安裝方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于談?wù)凢reeBSD軟件安裝方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章