FreeBSD pkg 升級不適用於有 -j 參數的監獄

FreeBSD pkg 升級不適用於有 -j 參數的監獄

在 FreeBSD 8.4 系統上,我使用 EZjail 運行 jais,並使用 PKGNG (pkg) 來維護我的連接埠。

pkg 在主機上運作良好,但拒絕更新監獄中的軟體。

pkg -j 5 version -v給出所需的輸出,例如

ImageMagick-6.7.3.4                <   needs updating (index has 6.9.0.4,1)
ORBit2-2.14.19                     <   needs updating (index has 2.14.19_1)

但是當我運行pkg -j 5 upgradepkg -j 5 upgrade [portname]收到以下訊息時:

No active remote repositories configured.

我也在該監獄內安裝了 pkg,問題完全相同(當然在監獄內運作時不使用 -j 參數。

可能是什麼問題呢?

答案1

問題是,在監獄內,儲存庫目錄是空的,與主機上的 /etc/pkg/ 目錄不同。主機上的這個目錄中有一個名為 FreeBSD.conf 的文件,它定義了儲存庫。

這個檔案是在主機上自動產生的,而不是在監獄中產生的。 (儘管 pkg 也安裝在監獄內。顯然,「pkg -j」會在監獄內尋找此文件。

我剛剛將此文件複製到監獄中的 /etc/pkg/ 目錄中,現在它可以工作了。

僅供參考,此 FreeBSD.conf 檔案的內容:

# $FreeBSD$
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

相關內容