我有一个Ubuntu 12.04.2服务器,我想安装Postgres 9.2.4。 如果我想构build所有的依赖关系,我不能使用apt-get build-dep (至less没有一些finagling),因为只有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 。 尽pipe取决于构build选项,但还有许多其他可选的依赖项,例如Perl和Python。
如果您不需要任何可选function,您肯定可以将其closures; 你只是不能在构build时select它们。 build-dep正试图解决所有依赖Ubuntu包维护者构build包的方式,这可能包括许多构build选项,以便最广泛的人可以使用它。