FreeBSD jail に PostgreSQL 9.3 をインストールするにはどうすればいいですか?

FreeBSD jail に PostgreSQL 9.3 をインストールするにはどうすればいいですか?

私は を使用して仮想 NIC を設定しpf、 を使用して FreeBSD 用の jail を設定しました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。そして最後のエラーは、インストーラがポート ファイル ツリーに書き込めないようです。私の知る限り、ポート ファイルはホスト システムから読み取り専用で共有されます。

私の jail の何が問題なのですか? 私の jail に PostgreSQL 9.3 をインストールするにはどうすればいいですか?

答え1

読み取り専用ファイルシステムを持つ可能性のある刑務所でportsを構築したい場合は、ポート環境適切に。私は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

私の jail のスケルトンのスキーマは少し異なりますが、これは私の作業です。PostgreSQL9.3 は正しくインストールされています。

よろしくお願いいたします。

関連情報