У меня есть сервер Ubuntu 12.04.2, и я хочу установить Postgres 9.2.4. Если бы я хотел построить все зависимости, я бы не смог использовать apt-get build-dep
(по крайней мере, без некоторых изысков), потому что только 9.1 доступна для apt-get install
. Это оставляет меня в недоумении: «Интересно, какие новые зависимости были добавлены после 9.1». Итак, я решил проверить В любом случае зависимости Postgres 9.1, поэтому я сделал пробный прогон:
me@my-server:~$ sudo apt-get build-dep postgresql-9.1 --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
bison comerr-dev debhelper dh-apparmor docbook docbook-dsssl docbook-xsl flex gettext html2text intltool-debian krb5-multidev libbison-dev libcroco3 libedit-dev libexpat1-dev libfl-dev libgettextpo0
libgssrpc4 libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkrb5-dev libldap2-dev libncurses5-dev libosp5 libossp-uuid-dev libossp-uuid16 libostyle1c2 libpam0g-dev libperl-dev libperl5.14 libpython3.2
libssl-dev libunistring0 libxml2-dev libxslt1-dev libxslt1.1 m4 openjade opensp po-debconf python-dev python2.7-dev python3 python3-dev python3-minimal python3.2 python3.2-dev python3.2-minimal
sgml-data tcl8.5 tcl8.5-dev xsltproc
0 upgraded, 54 newly installed, 0 to remove and 0 not upgraded.
... rest omitted
Это говорит мне о том, что существует довольно много зависимостей, которые в настоящее время не установлены. Из-за этого я решил проверить сухой запуск фактической установки Postgres 9.1:
me@my-server:~$ sudo apt-get install postgresql-9.1 --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libpq5 postgresql-client-9.1 postgresql-client-common postgresql-common ssl-cert
Suggested packages:
oidentd ident-server locales-all postgresql-doc-9.1 openssl-blacklist
The following NEW packages will be installed:
libpq5 postgresql-9.1 postgresql-client-9.1 postgresql-client-common postgresql-common ssl-cert
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.
... rest omitted
Мой вопрос связан с тем, что если я просто apt-get install libreadline6-dev libghc-zlib-dev
(из учебника, который я прочитал), я могу установить Postgres 9.2.4 нормально. Казалось, все работает отлично, и make check
прошло. Итак, это build-dep
обычно это хорошая идея в таких случаях, или обычно устанавливается намного больше, чем действительно нужно?
Согласно PostgresSQL установить требования, ему просто нужен GNU make, GCC или аналогичный, tar
, GNU Readline и zlib
. Однако, в зависимости от ваших параметров сборки, существует множество других необязательных зависимостей, таких как Perl и Python.
Если вам не нужны какие-либо дополнительные функции, вы можете их отключить; вы просто не сможете выбрать их во время сборки. build-dep
пытается решить все зависимости от способа, которым сопровождающий пакет Ubuntu построил пакет, который, вероятно, включает в себя многие параметры сборки, так что наибольшее количество людей может его использовать.