Postgresql

在 Ubuntu 上安裝 apt-get 時建構必要的依賴項

  • June 1, 2013

我有一個 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 包維護者建構包的方式的所有依賴關係,其中可能包括許多建構選項,以便最廣泛的人可以使用它。

引用自:https://serverfault.com/questions/512536