如何在 FreeBSD 監獄中安裝 PostgreSQL 9.3?

如何在 FreeBSD 監獄中安裝 PostgreSQL 9.3?

我使用配置了虛擬網路卡pf,並使用配置了 FreeBSD 的監獄qjail create pgsql-jail 192.168.0.3

當我嘗試使用連接埠收集安裝 PostgreSQL 9.3 時,它首先顯示奇怪的訊息。

pgsql-jail /usr/ports/databases/postgresql93-server >make install
===> Building/installing dialog4ports as it is required for the config dialog
===>  Cleaning for dialog4ports-0.1.5_1
===> Skipping 'config' as NO_DIALOG is defined
====> You must select one and only one option from the KRB5 single
*** [check-config] Error code 1

Stop in /basejail/usr/ports/ports-mgmt/dialog4ports.
*** [install] Error code 1

Stop in /basejail/usr/ports/ports-mgmt/dialog4ports.
===> Options unchanged
=> postgresql-9.3.0.tar.bz2 doesn't seem to exist in /var/ports/distfiles/postgresql.
=> Attempting to fetch ftp://ftp.se.postgresql.org/pub/databases/relational/postgresql/source/v9.3.0/postgresql-9.3.0.tar.bz2
postgresql-9.3.0.tar.bz2                        1% of   16 MB   71 kBps

無論如何,安裝仍在繼續,所以我等待。我為所有選項對話框選擇了所有預設選項。在該過程結束時,我看到它最終失敗並顯示此訊息。

====> Compressing man pages
===>  Building package for pkgconf-0.9.3
Creating package /basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz
Registering depends:.
Registering conflicts: pkg-config-*.
Creating bzip'd tar ball in '/basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz'
tar: Failed to open '/basejail/usr/ports/devel/pkgconf/pkgconf-0.9.3.tbz'
pkg_create: make_dist: tar command failed with code 256
*** [do-package] Error code 1

Stop in /basejail/usr/ports/devel/pkgconf.
*** [build-depends] Error code 1

Stop in /basejail/usr/ports/textproc/libxml2.
*** [install] Error code 1

Stop in /basejail/usr/ports/textproc/libxml2.
*** [lib-depends] Error code 1

Stop in /basejail/usr/ports/databases/postgresql93-server.
*** [install] Error code 1

Stop in /basejail/usr/ports/databases/postgresql93-server.

我不知道為什麼會失敗。一開始的錯誤似乎是我有問題dialog4ports。最後的錯誤似乎安裝程式無法寫入 ports 檔案樹。 AFAIK,連接埠檔案是從主機系統共用的唯讀檔案。

我的監獄出了什麼問題?如何在我的監獄中安裝 PostgreSQL 9.3?

答案1

如果你想在可能有唯讀檔案系統的監獄中建立端口,你最好設定你的港口環境適當地。我用make.conf這個。

/usr/ports如果我的設定是唯讀的,我會使用這些設定:

WRKDIRPREFIX=/usr/workdir-ports
DISTDIR=/usr/distfiles
PACKAGES=/usr/packages

關於上述警告:

您已經設定NO_DIALOG了端口,例如在 中make.conf,但端口需要一個配置項。它無法運行configure帶有NO_DIALOG選項集的階段。

你可能想要使用包,如果您根本不想被選項打擾。

答案2

我有同樣的問題。我找到了一個解決方法。試試這個: - 手動安裝dialog4ports-0.1.5_1

cd /usr/ports/ports-mgmt/dialog4ports
make install

- 然後嘗試安裝postgresql93

cd /usr/ports/databases/postgresql93-server/
make install

- 出錯時建立連結來解決 pkgconfig 的問題

ln -s /basejail/usr/ports/devel/pkgconf/work/stage/usr/local/ /dati/ports/usr/ports/devel/pkgconf/work/stage/basejail/usr/local

我對監獄骨架的構想有點不同,但這份工作是我的。 PostgreSQL9.3安裝正確!

問候。

相關內容