Nenhum APT recomenda com fantoche

8

Eu uso fantoche para gerenciar um monte de servidores Debian no trabalho, parte se isso inclui a instalação de pacotes. Um pacote que eu instalo em vários sistemas é o nmap, que é usado para verificar se as regras do firewall estão configuradas corretamente. No Debian 7.0, se você tiver o APT :: Install-Recommends ativado, você terá um monte de lixo junto com o nmap (veja abaixo).

Eu não quero toda a porcaria que instala o nmap com o recommends enabled incluído. Uma solução seria atualizar minha configuração do apt com APT::Install-Recommends "0"; . Mas eu não quero que isso seja o padrão. A maioria do tempo eu quero recomenda incluído. Os pacotes recomendados são muito bons, e eu não estou recebendo toneladas de coisas que não preciso. Mas há alguns pacotes que estão trazendo coisas que eu não quero / preciso.

  package { 'nmap':
    ensure => installed,
    require => Class['apt'],
  }

Existe algum método para controlar se as recomendações são instaladas via fantoche ao usar o provedor de pacotes 'apt'? Eu não quero mexer com o provedor de aptitude já que apt e aptitude não são totalmente compatíveis uns com os outros.

Com recomendações

root@fw-01:~# apt-get install nmap
Reading package lists... Done
Building dependency tree       
Reading state information... Done
... 
The following NEW packages will be installed:
  fonts-droid fonts-liberation ghostscript gnuplot gnuplot-nox groff gsfonts
  imagemagick imagemagick-common libblas3 libblas3gf libcroco3 libcupsimage2
  libdjvulibre-text libdjvulibre21 libexiv2-12 libgfortran3 libgs9
  libgs9-common libijs-0.35 libilmbase6 libjbig2dec0 liblcms1 liblcms2-2
  liblensfun-data litesting firewall blensfun0 liblinear-tools liblinear1 liblqr-1-0
  libmagickcore5 libmagickcore5-extra libmagickwand5 libnetpbm10 libopenexr6
  libpaper-utils libpaper1 librsvg2-2 librsvg2-common libsvm-tools libwmf0.2-7
  netpbm nmap poppler-data psutils ufraw-batch
0 upgraded, 45 newly installed, 0 to remove and 0 not upgraded.
Need to get 32.0 MB of archives.
After this operation, 93.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? 

Sem recomendações

root@fw-01:~# apt-get --no-install-recommends install nmap
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libblas3 libblas3gf libgfortran3 liblinear1
Suggested packages:
  liblinear-dev
Recommended packages:
  liblinear-tools
The following NEW packages will be installed:
  libblas3 libblas3gf libgfortran3 liblinear1 nmap
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,405 kB of archives.
After this operation, 17.4 MB of additional disk space will be used.
Do you want to continue [Y/n]?
    
por Zoredache 06.06.2013 / 00:22

2 respostas

9

Isso agora é possível através da configuração "install_options" no tipo "pacote" Puppet: link

Por exemplo:

package { 'nmap':
  ensure          => installed,
  install_options => ['--no-install-recommends'],
}

O acima assegura que a opção "--no-install-recommends" é passada para o apt-get, que pula os pacotes recomendados apenas para esta instalação: link

    
por 25.06.2014 / 18:00
3

Encontrei as soluções a seguir até agora, mas elas não são ideais.

Aguarde até que o patch adicionado recentemente seja lançado e atualizado.

  • PRO: este é o caminho certo
  • CON: Tenho que esperar ou corrigir localmente minha configuração.

Basta usar um exec para instalar em vez de pacote e usar um exec.

  • PRO: simples de fazer se você não se preocupar com a verificação de erros.
  • CON: É necessária uma linha de comando bastante complexa para instalar, não atualizar automaticamente e lidar com erros de instalação.

Atualize globalmente minha configuração apt, e gaste o tempo para encontrar todas as coisas que faltam e ajustar meus manifestos para também instalar pacotes que eu queria que fossem instalados apenas sendo recomendado.

  • PRO: meus manifestos são mais específicos e refletem mais precisamente o estado de um sistema
  • CON: Corrigir meus manifestos / configurações para refletir essa nova realidade exigirá um tempo / esforço não trivial.

Defina a variável de ambiente APT_CONFIG antes de executar o fantoche.

  • PRO: fácil de configurar, se você estiver usando o fantoche iniciado pelo cron
  • PRO: não altera o comportamento de nenhum uso manual do apt
  • CON: fácil esquecer de configurá-lo ao executar manualmente o APT para fins de teste.
  • CON: você precisa corrigir todos os manifestos, como se você atualizasse a configuração global.
por 06.06.2013 / 01:39