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

首頁(yè) > 系統(tǒng) > FreeBSD > 正文

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

2020-10-23 22:27:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎ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 加上軟件名稱就可以了。

即然 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è)軟件分類選單,這一份分類選單將各個(gè)軟件分門(mén)別類放在不同的選項(xiàng)下,其中 All 是所有軟件的所在,如圖 10-6。

圖 10-6

我們以安裝郵件軟件 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è)分類畫(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è)目錄都是軟件的分類,而 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 離開(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ì)相互依賴,我們要如何得知這些軟件彼此間的關(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í)常是相互依賴的,有的時(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)榘姹鞠嘁绬?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"
 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
一级黄色大毛片| 九九精品视频在线| 欧美午夜电影一区二区三区| 国产精品进线69影院| 日韩中文字幕在线一区| 不卡av在线网站| 国产精品久久久久久久久久齐齐| 波多野结衣日韩| 成人免费av在线| 久热精品在线视频| 7777kkk亚洲综合欧美网站| 国产成人视屏| 99国产精品久久久久久久成人| 成人在线视频亚洲| 欧美丰满少妇人妻精品| 免费看精品久久片| 最新真实国产在线视频| 亚洲欧美综合自拍| 久久91精品国产91久久跳| 欧美夫妻性生活xx| 中文文字幕文字幕高清| 日本桃色视频| 国产欧美日韩一区二区三区在线| 免费看美女隐私的视频| 欧美日韩在线观看一区二区三区| 久久永久免费视频| 亚洲欧美日韩精品久久久久| 国产一区二区在线免费视频| 日本猛少妇色xxxxx免费网站| 91九色蝌蚪视频| 国产成人拍精品视频午夜网站| 富二代精品短视频| 中文字幕777| 97久久香蕉国产线看观看| 久久久久久久国产| 国产成人高清激情视频在线观看| 国产精品丝袜久久久久久高清| 老**午夜毛片一区二区三区| 亚洲一区日韩在线| 国产美女在线免费观看| 天海翼一区二区| 中文字幕亚洲激情| 亚洲午夜天堂| 偷拍25位美女撒尿视频在线观看| 97dyy97影院理论片在线| 欧美激情久久久久久| 91综合久久爱com| 欧美一三区三区四区免费在线看| 中文字幕乱码无码人妻系列蜜桃| 亚洲高清av| 在线看片免费人成视久网| 五月天亚洲婷婷| 久久手机免费观看| 91蜜桃免费观看视频| 97精品人妻一区二区三区蜜桃| 一区二区在线免费| 免费在线看黄色| 国产一区二区三区视频免费| 日韩在线观看视频一区二区三区| 欧美特大特白屁股xxxx| 91av在线免费视频| 97**国产露脸精品国产| 亚洲国产精品成人一区二区在线| 欧美不卡一二三| 欧美激情一区二区三区在线视频观看| 欧美日韩综合精品| 欧美日韩中文字幕在线观看| 免费a级在线播放| 亚洲成人777777| 色综合97天天综合网| 五月久久久综合一区二区小说| 在线观看中文字幕| 中文字幕亚洲乱码熟女1区2区| 韩国一区二区视频| 国产欧美精品日韩区二区麻豆天美| 欧美理论影院| 久久久无码精品亚洲日韩按摩| 亚州国产精品视频| 少妇高潮爽到全身痉挛抽搐| zzzwww在线看片免费| 亚洲天堂在线视频观看| 在线免费观看日韩视频| 不用播放器成人网| 亚洲人高潮女人毛茸茸| 天天操天天舔天天干| 亚洲欧美日韩另类精品一区二区三区| 九色蝌蚪在线观看| 依依成人精品视频| 最近免费中文字幕大全免费版视频| 日韩一区欧美| 狠狠色丁香九九婷婷综合五月| 韩国三级与黑人| 亚洲国产中文在线二区三区免| 欧美色图在线观看| eeuss鲁片一区二区三区在线观看| 在线观看免费视频一区二区三区| 麻豆视频传媒入口| 精品一区二区在线观看视频| 欧美国产亚洲一区| 亚洲精品自在久久| 久久夜色精品国产欧美乱极品| √天堂中文官网8在线| 免费在线黄网站| 在线人成动漫视频在线观看| aaaaa级片| 国产男女猛烈无遮挡在线喷水| 成人mm视频在线观看| 中文字幕2区| 亚洲a一级视频| 精品国产乱码久久久久久免费| 福利片在线一区二区| 日本高清无吗v一区| 久久一区二区视频| 国产chinese精品一区二区| 欧美艳星kaydenkross| 性欧美18+| 无需播放器的av| 综合激情在线| 国产黄色一区二区| 国产在线精品自拍| 欧美成人一区二区在线观看| 久久99国产精品免费| 欧美日韩国产123| 欧美一区二区精品在线| 热久久久久久| 黄色欧美成人| 日韩精品一页| www.av91| 中文字幕成人一区| 91av视频免费观看| 黄色片免费观看| 亚洲综合在线播放| 玖玖爱视频在线| 色呦呦视频在线观看| 亚洲图片在线| 国产免费黄视频| 国产精品久久久久av电视剧| 综合自拍亚洲综合图不卡区| 欧洲大片精品免费永久看nba| 精品国产乱码91久久久久久网站| 三级精品视频久久久久| av综合网站| 91国偷自产一区二区三区成为亚洲经典| 国产综合av一区二区三区| 亚洲精品成人在线播放| 一区二区三区在线高清| 岛国在线免费| 国产精品亚洲不卡a| 风间由美中文字幕在线看视频国产欧美| 久久亚洲天堂网| 国产网红女主播精品视频| hs网站在线观看| 麻豆视频免费在线播放| 精品综合久久久| 久热国产精品| 日韩欧美视频一区二区三区四区| 日本一区免费| 日韩精品一区二区三区视频| 2014亚洲片线观看视频免费| 欧美日韩亚洲91| 中文乱码免费一区二区三区下载| 国产91av在线| 欧美成人一区二区| 欧美激情在线免费| 国语精品视频| www.在线欧美| 欧美极品第一页| 久久91在线| 欧美一级片免费在线| 丝袜综合欧美| 久久无码人妻一区二区三区| 菠萝菠萝蜜在线观看| 精品电影一区二区三区| 欧美久久一区二区三区| 精品久久免费看| 国产一区二区三区久久精品| 精品久久国产精品| 国产精品1024| 澳门av一区二区三区| 伊人久久亚洲热| 日韩亚洲电影在线| 亚州成人在线电影| 亚洲欧美视频在线观看视频| 欧美黑人xxxxx性受| 九九热爱视频精品视频高清| 亚洲第一精品福利| 欧美日韩人妻精品一区二区三区| 亚洲精品鲁一鲁一区二区三区| 成人亚洲精品777777ww| 美女脱光衣服与内衣内裤一区二区三区四区| 亚洲精品一区二区口爆| 色婷婷成人网| 国产国产国产国产国产国产| www.日本久久| 久久精品日产第一区二区三区乱码| 亚洲区综合中文字幕日日| 美女脱光内衣内裤视频久久影院| 丝袜亚洲另类欧美| 日韩经典中文字幕一区| 久久69精品久久久久久国产越南| 91精品人妻一区二区三区果冻| 精品国偷自产国产一区| 一区二区日韩av| 久久久久国产精品免费免费搜索| 亚洲视频免费在线观看| 国模一区二区三区白浆| 黄色网址免费在线观看| 日韩精品中文字幕在线一区| 午夜视频在线免费播放| 黄色一级片免费在线观看| 日韩国产欧美精品在线| 91tv亚洲精品香蕉国产一区7ujn| 好男人看片在线观看免费观看国语| 美女看a上一区| 一级一片免费视频| 午夜毛片在线观看| 精品无人区无码乱码毛片国产| 国产精品视频精品视频| 老熟妇仑乱视频一区二区| 中文字幕国产传媒| 最新版天堂资源中文官网| 精品国产一二三四区| 欧美系列精品| 久久久久久人妻一区二区三区| 91精品国产高清久久久久久久久| 欧美亚洲一区二区三区四区| 亚洲第一区在线| 人妻少妇被粗大爽9797pw| 国产精品高清网站| 日韩护士脚交太爽了| 一本大道东京热无码aⅴ| 久久久久久三级| 日韩福利一区二区| 搡老女人一区二区三区视频tv| 色97色成人| 久久国产日韩欧美| 婷婷久久久久久| 精品国产视频一区二区三区| 成人污污www网站免费丝瓜| 91免费网站视频| 久久男人av资源站| 国产精品美女久久久久久不卡| 国产精品你懂的在线欣赏| 国内揄拍国内精品少妇国语| 国产精彩视频在线观看| 国产欧美欧美| 精品人妻在线视频| 成人网免费看| 久久国产尿小便嘘嘘| 欧美性受极品xxxx喷水| 97精品国产91久久久久久| 亚洲午夜精品久久| 四虎在线视频免费观看| 亚洲一区三区视频在线观看| 日韩高清av| 四虎影视精品永久在线观看| 色先锋av资源在线| 麻豆九一精品爱看视频在线观看免费| 亚洲一区免费观看| 亚洲综合色站| 黑森林av导航| 黄色三级电影网站| www.一区二区三区.com| 日本一区二区三区久久| 有色视频在线观看| 日韩av资源网| 噜噜噜久久亚洲精品国产品小说| 91精品国产高清久久久久久91| 成人在线免费观看视视频| 精品视频导航| 99色这里只有精品| 国产精品乱码久久久久久| 久久91亚洲| 97精品视频在线播放| 亚洲欧美韩国综合色| 日本天堂在线播放| 日本xxxx裸体xxxx| 成人av资源| 欧美伊人亚洲伊人色综合动图| 爱情岛论坛成人| 制服丝袜av在线| 中文字幕日本人妻久久久免费| 亚洲国产aⅴ精品一区二区| 日韩在线一区二区三区四区| 性做久久久久久久免费看| 每日在线更新av| 黑吊大战白xxxxxx| 91国偷自产一区二区三区观看| 亚洲国产日韩一级| 精品一区二区三区毛片| 51妺嘿嘿午夜福利| 成人高清视频免费观看| 欧美成人精品不卡视频在线观看| www.麻豆av.com| 色资源网站在线观看| 亚洲国产成人不卡| 成人精品久久久| 久久精品一区二区三区不卡| 国产精品久久综合av爱欲tv| 天天操天天舔天天射| 成人av在线亚洲| 亚洲天堂在线播放| avtt天堂资源网站| 国产小视频免费在线网址| 狠狠入ady亚洲精品经典电影| 中文字幕亚洲欧美日韩| 97一区二区国产好的精华液| 久热中文字幕在线观看| 精品中文字幕在线播放| 中文字幕精品—区二区| 亚洲国产成人精品久久久国产成人一区| 亚洲看片一区| 国内精品写真在线观看| 日韩欧美视频一区| 中文字幕在线看视频国产欧美| 免费观看成年在线视频网站| 欧美亚洲一区三区| 日韩精品在线免费视频| 亚洲久久在线观看| 青柠在线影院观看日本| 朝桐光av在线一区二区三区| 91午夜交换视频| 麻豆精品新av中文字幕| 日韩精品成人| 色吧影院999| 国产精品偷乱一区二区三区| 精彩视频一区二区三区| 国产99久久精品一区二区 夜夜躁日日躁|