Как установить PostgreSQL 9.3 в джейл FreeBSD?

Как установить PostgreSQL 9.3 в джейл FreeBSD?

Я настроил виртуальные сетевые карты с помощью 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. И ошибки в конце, похоже, установщик не может записать в дерево файлов портов. AFAIK, файлы портов доступны только для чтения из хост-системы.

Что не так с моей джейлой? Как установить PostgreSQL 9.3 в мою джейл?

решение1

Если вы хотите создать порты в jail, которые могут иметь файловые системы только для чтения, вам лучше настроить свойпорты окружающая средаправильно. Я использую 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 установлен правильно!

С уважением.

Связанный контент