Construindo as dependências necessárias quando apt-get instalando no Ubuntu

2

Eu tenho um servidor Ubuntu 12.04.2 e quero instalar o Postgres 9.2.4. Se eu quisesse construir todas as dependências, eu não poderia usar apt-get build-dep (pelo menos sem algumas modificações) porque somente 9.1 está disponível para apt-get install . Isso deixa-me em um "Eu me pergunto quais novas dependências foram adicionadas desde 9.1" tipo de picles. Então, eu decidi verificar as dependências do Postgres 9.1 de qualquer maneira , então eu fiz uma execução seca:

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

Isso me diz que há algumas dependências que não estão instaladas atualmente. Devido a isso, decidi verificar uma execução seca da instalação real do 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

Agora, minha pergunta se deve ao fato de que, se eu simplesmente apt-get install libreadline6-dev libghc-zlib-dev (de um tutorial que eu li), posso instalar o Postgres 9.2.4 muito bem. Parecia funcionar perfeitamente, e make check passou. Então, é build-dep normalmente uma boa idéia em casos como este, ou normalmente instala muito mais do que se precisa?

    
por orokusaki 01.06.2013 / 18:37

1 resposta

3

De acordo com os requisitos de instalação do PostgresSQL, ele só precisa do GNU make, GCC ou similar , tar , GNU Readline e zlib . Dependendo das suas opções de construção, existem várias outras dependências opcionais, como Perl e Python.

Se você não precisar de nenhum dos recursos opcionais, certamente poderá desativá-los; você simplesmente não poderá escolhê-los no momento da criação. build-dep está tentando resolver todas as dependências da maneira que o mantenedor do pacote do Ubuntu construiu o pacote, o que provavelmente inclui muitas das opções de construção para que o maior número de pessoas possa usá-lo.

    
por 01.06.2013 / 19:57