佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > FreeBSD軟件安裝卸載工具--Ports和Packages詳解

FreeBSD軟件安裝卸載工具--Ports和Packages詳解

熱門標簽:檢查注冊表項 美團 免費建站 集時通訊 呼叫外包 蘋果 呼叫中心解決方案 IT外包

1、如何只抓取 tarball?
2、如何僅做到解開 tarball的步驟?
3、如何僅做到解開 tarball 并補上官方提供的 patch?
4、如何安裝一個新的 port?
5、如何安裝一個新的 port,并將打包(package)起來?
6、如何打包一個 port,并將其所有相依的 ports 也打包起來?
7、如何對一個已經(jīng)安裝的 port 打包?
8、如何清理 ports 編輯期間所產生的暫存資料?
9、如何清理 ports 編輯期間所產生的暫存資料,以及其相對應的 tarball?
10、如何在安裝 ports 前查詢所需依賴/相關的套件?
11、如何移除已安裝的 ports?
12、如何一并移除所相依的 ports?
13、如何重新安裝已安裝過的 ports?
14、如何以關鍵字搜尋 ports?
15、如何升級已安裝的 ports?
16、如何查詢目前系統(tǒng)安裝了哪些套件?
17、如何查詢目前系統(tǒng)有沒有安裝這個關鍵字的套件?
18、如何查詢某個檔案是屬於哪些套件?
19、如何查詢某個套件安裝了哪些檔案?
20、如何安裝舊版的 ports?
21、如何更新 ports Mk?
22、如何解決安裝 ports 時出現(xiàn) sed -i 的錯誤?
23、如何列出所有可以升級的 ports?
24、如何得知 ports system 對某個 ports 所提供的編譯叁數(shù)?
25、如何手動加入編譯 ports 的叁數(shù)?
26、如何指定 ports 的安裝路徑?
27、安裝 ports 出現(xiàn) FORCE_PKG_REGISTER 的錯誤訊息
28、安裝 ports 出現(xiàn) Shared object libintl.so.X not found 的錯誤訊息
29、如何安裝 packages?
30、如何強制安裝 packages?
31、如何查詢 packages 與其他 packages 之間的相依性?
32、如何遠端安裝 packages?
33、如何更新 INDEX 對照表?
34、如何更新 INDEX HTML?
35、如何針對某些 ports 不做 CVSup?
36、如何使用 CVSup 同步 ports collections?
37、安裝 ports 出現(xiàn) port is outdated 的錯誤訊息
39、安裝 ports 出現(xiàn) OpenSSL vulnerabilities 的錯誤訊息
40、如何在 FreeBSD 上模擬 Linux 的環(huán)境?
41、如何在 FreeBSD 上安裝 Linux rpm?
42、安裝 ports 時,原本應該出現(xiàn)的清單選項不見了
43、如何檢查是否有安裝重覆的 ports/packages? `make deinstall' 與 `pkg_delete' 有什麼不同?
44、安裝 ports 出現(xiàn) local modification time does not match remote 的
錯誤訊息


1、如何只抓取 tarball?

如果只希望抓取 tarball 下來的話,僅需下 make fetch 即可。
如果是要抓取單一的 port,以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make fetch


預設會將 joe 的 tarball 下載至 /usr/ports/distfiles/ 目錄下。
如果是希望抓取安裝此 ports 所有須要的其他 ports 的 tarball,以

systuils/portupgrade 為例的話,則:
代碼:
cd /usr/ports/systuils/portupgrade/
make fetch-recursive


預設會將此 ports 的 tarball 與所有須要的其他 ports 的 tarball,下載至 /usr/ports/distfiles/ 目錄下。

如果是希望抓取全部所有 ports 的 tarball ,則:

代碼:
cd /usr/ports/
make fetch


則會所將全部所有 ports 的 tarball 下載至 /usr/ports/distfiles/ 目錄下。
如果是希望抓取全部 ftp 下所有 ports 的 tarball ,則:

代碼:
cd /usr/ports/ftp/
make fetch


則會所將全部 ftp 下所有 ports 的 tarball 下載至 /usr/ports/distfiles/
目錄下。

2、如何僅做到解開 tarball的步驟?

有時候習慣自己 patch/修正 原始碼的時候,很常用到這個功能。
以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make extract


會將 tarball解開至 /usr/ports/editors/joe/work/ 目錄下。


3、如何僅做到解開 tarball 并補上官方提供的 patch?

此方法與 2 有一些類似,不同於是先補上官方提供的 patch ,再行 patch 自己
的修正。以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make patch


會將 tarball解開至 /usr/ports/editors/joe/work/ 目錄下,并已經(jīng) patch 上
官方提供的 patch。

4、如何安裝一個新的 port?

如果系統(tǒng)上未安裝此軟體,則可以選擇安裝一個新的 port。
以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make install


如此會在系統(tǒng)上安裝一個新的 joe 軟體。如果需要在安裝完成後,一并清除編輯
時期所留下來的暫存目錄,則可叁考 FAQ 8 的方法,一起使用,如:

代碼:
cd /usr/ports/editors/joe/
#make clean


如果想要一次清掉所有 ports 產生的暫存資料,則只要回到 ports 的根目錄執(zhí)
行即可:

代碼:
cd /usr/ports/
#make clean


5、如何安裝一個新的 port,并將打包(package)起來?

將安裝完成的軟體打包起來,有許多便利性:包括在叢集系統(tǒng)中,可供其它機器
使用,或將未來此軟體出問題可重新利用此 package 重新快速安裝。
以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
#make package


如此會在系統(tǒng)上安裝一個新的 joe 軟體,并將此軟體打包(package)起來。

package 預設會在 /usr/ports/editors/joe/ 目錄下,如果希望集中管理的話,
建議做如下的步驟:

代碼:
mkdir -p /usr/ports/packages/All/


以後打包的 packages 都會存放在此目錄下,并且系統(tǒng)會自動做分類,以方便管
理。如果需要在安裝完成後,一并清除編輯 時期所留下來的暫存目錄,則可叁
考 FAQ 8 的方法,一起使用,如:

代碼:
cd /usr/ports/editors/joe/
make package clean



6、如何打包一個 port,并將其所有相依的 ports 也打包起來?

因為 FAQ 5 只有對最終的 port 才進行打包,中間依賴的 ports 并沒有一起打
包,這會出現(xiàn)一個常遇到 的問題,就是如果編輯一個 port 需要依賴其它的
ports,那麼必須將其它 ports 也一起打包,否則安裝 packages 會有相 依賴其
它 ports 的 packages 的問題。
以 sysutils/portupgrade 為例的話,則:

代碼:
cd /usr/ports/sysutils/portupgrade/
make DEPENDS_TARGET=package package


如此會在對所有 portupgrade 所相依賴的 ports 一并打包,也包括自己本身。

7、如何對一個已經(jīng)安裝的 port 打包?

如果安裝好一個套軟,事前并未打包,事後想打包的話,則:
以 editors/joe 為例的話

代碼:
cd /var/db/pkg/
pkg_create -b joe-{版本號}


會將已安裝的 port 打包起來,放在 /var/db/pkg/ 目錄下。

8、如何清理 ports 編輯期間所產生的暫存資料?

在編輯 port 的時候,會有編輯期間所需要的工作目錄(work),因此通常安裝好
一個套件後,會清除此暫存目錄,以節(jié)省系 統(tǒng)磁碟空間。
以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make clean


如果是希望清除所有 ports 的暫存目錄,則:

代碼:
cd /usr/ports/
make clean


如果是希望清除全部 ftp 下所有的暫存目錄,則:

代碼:
cd /usr/ports/ftp/
make clean



9、如何清理 ports 編輯期間所產生的暫存資料,以及其相對應的 tarball?


在 FAQ 8 中,僅只是清除編輯期間所需要的工作目錄(work),并沒有將編譯
ports 時一并下載的 tarball 刪除(相對應之 tarball 預設會存放
在 /usr/ports/distfiles/),如果欲把 tarball 一并刪除,
以 editors/joe 為例的話,則:

代碼:
cd /usr/ports/editors/joe/
make distclean


make distclean 的步驟包含了 make clean 的功能,也就是說除了會刪除
tarball 外,還會一并M除編輯期間所需要的工作目錄。

如果是希望清除所有 ports 的暫存目錄,及 tarball ,則:

代碼:
cd /usr/ports/
make distclean


如果是希望清除全部 ftp 下所有的暫存目錄,及 tarball,則:

代碼:
cd /usr/ports/ftp/
make distclean



10、如何在安裝 ports 前查詢所需依賴/相關的套件?

在安裝 ports 前,可以查詢所需依賴/相關的套件。
以 mail/p5-Mail-SpamAssassin 為例的話,則:

代碼:
cd /usr/ports/mail/p5-Mail-SpamAssassin/
make all-depends-list #顯示所有相關的套件
make pretty-print-build-depends-list #顯示編譯期間所需要的套件
make pretty-print-run-depends-list #顯示此套件要執(zhí)行時所需要的套件



11、如何移除已安裝的 ports?

以 editors/joe 為例的話,則:
代碼:
cd /usr/ports/editors/joe/
make deinstall


或是使用 pkg_delete

代碼:
cd /var/db/pkg/
pkg_delete joe-{version}


有時候套件之間的相依性會導致無法直接移除,如果要強制移除的話,則:

代碼:
cd /var/db/pkg/
pkg_delete -f joe-{version}


但很有可能會導致其它的套件執(zhí)行起來出現(xiàn)問題。

至於二者的差別,請叁考FAQ 43

上一頁12 3 下一頁 閱讀全文

標簽:泰州 營口 眉山 韶關 宿遷 信陽 邢臺 安康

巨人網(wǎng)絡通訊聲明:本文標題《FreeBSD軟件安裝卸載工具--Ports和Packages詳解》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    怀来县| 安达市| 天等县| 缙云县| 辽宁省| 淄博市| 句容市| 东乌| 兴义市| 凤山县| 鹰潭市| 唐海县| 龙门县| 康平县| 沅江市| 永昌县| 建德市| 孟津县| 贵州省| 肃宁县| 闵行区| 桑植县| 正阳县| 两当县| 会泽县| 武胜县| 北流市| 南阳市| 昌乐县| 泉州市| 兴城市| 东乌| 兴义市| 宁津县| 固安县| 湖南省| 保亭| 泰顺县| 上高县| 晋宁县| 固阳县|