私は を使用して仮想 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 は正しくインストールされています。
よろしくお願いいたします。