Freebsd

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

  • May 30, 2016

在 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 參數。

可能是什麼問題呢?

問題是在監獄裡的儲存庫目錄是空的,不像主機上的 /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
}

引用自:https://serverfault.com/questions/672710