Ferramentas do usuário

Ferramentas do site


apt

Configurando o APT

O gerenciador de pacotes APT possui uma série de checagens. E realmente são interessantes para servidores e ambientes que necessitam funcionar constantemente e têm manutenção feita por especialistas, porém, considero que, para computadores pessoais e de escritório, sua configuração padrão não é boa.

Justificativas principais

Em servidores, a quantidade de pacotes instalados é muito pequena quando comparamos aos Desktops, além disso, em geral, são pacotes muito testados e com grau de importância muito alto.

Enquanto Desktops, normalmente, possuem mais de mil pacotes instalados, entre eles uma grande parte são de pouca importância e passam por poucos testes. Muitas vezes, uma atualização é interrompida por um conflito em um simples Widget no Desktop, que praticamente não tem relevância alguma para o uso do sistema.

Vale lembrar que, por vezes, ao chegar a este pacote conflitante, o sistema interrompe no meio a atualização e dependendo dos pacotes que foram atualizados antes e dos que ficaram faltando atualizar, o sistema torna-se inutilizável. Até mesmo danificando o modo gráfico ou o boot do sistema, o que para a maior parte dos usuários acaba forçando a reinstalação completa da distribuição.

Dependência circular, é bastante típico, principalmente nos repositórios do Ubuntu, que ao atualizar de uma versão para outra, um pacote x dependa do pacote y ser atualizado primeiro, porém, o pacote y também necessita que o pacote x já esteja atualizado.

Esse problema, geralmente, é resolvido indo ao /var/cache/apt/archives e executando um:

  # dpkg -i --force-all

Porém, para um usuário normal isso é algo muito complexo, e para os que sabem da solução, ainda é algo chato de resolver, pois não é raro isso acontecer com diversos pacotes.

Como utilizar a alteração

Lembre que esta alteração irá modificar a configuração de todo o apt-get, isso reflete na instalação, remoção e atualização de pacotes não apenas no uso direto do apt-get, mas também pelo Synaptic, Muon, Central de Programas e todas as interfaces gráficas que utilizem o apt-get. Esta alteração pode ser feita manualmente com as informações a seguir, ou instalando o seguinte pacote: big-apt-get-tweak 1.0.0 - Download.

O pacote informado pode ser instalado em qualquer versão do Debian, Ubuntu ou seus derivados, pois a única coisa que faz é adicionar o arquivo /etc/apt/apt.conf.d/18bigtweaks, que adiciona configurações ao apt-get, com as linhas que irei comentar a seguir.

  1. Acquire::http::timeout “10”;
  2. APT::Immediate-Configure “false”;
  3. DPkg::StopOnError “false”;
  4. T::Cache-Limit 2200000000;
  5. APT { Get { Fix-Broken “true”; }; };
  6. DPkg { Options {“–force-all”;}; };
  7. DPkg { Options {“–abort-after=9999999”;}; };
  8. DPkg::Post-Invoke {“dpkg –abort-after=9999999 –configure -a”;}


Explicando

  1. A primeira linha reduz o timeout para 10 segundos, quando se utiliza repositórios complementares, algumas vezes eles saem do ar e o “apt-get update” fica esperando por muito tempo, um servidor que não responder em 10 segundos é por que está com problemas e não vejo motivos para aguardar mais que isso.
  2. Segunda linha, desativa a configuração de configuração imediata, permite que o apt-get primeiro extraia todos os arquivos e depois faça as configurações.
  3. Terceira linha, normalmente quando o dpkg encontra problemas para instalar um pacote, o processo do apt-get é interrompido, com essa linha, o processo de atualização continua mesmo se ocorrerem erros.
  4. Quarta linha, um problema que ocorre algumas vezes ao ter muitos repositórios configurados, com esse novo valor, provavelmente esse problema nunca mais irá acontecer.
  5. Quinta linha, tentar corrigir automaticamente pacotes quebrados.
  6. Sexta linha, força o dpkg a ignorar erros. Pode parecer um exagero, mas essa configuração é válida apenas quando o dpkg é chamado pelo apt-get, ele já faz uma série de checagens antes da instalação ou atualização ser executada. Dessa forma, ignorar os erros apenas do dpkg me pareceu trazer mais soluções do que problemas.
  7. Sétima linha, junto com a terceira linha, evita de toda forma que a atualização seja interrompida, caso alguns pacotes entrem em conflito.
  8. Oitava linha, ao final da atualização é executado o comando dpkg –configure -a, que é uma solução genérica para a maior parte dos problemas que ocorrem no dpkg.


Experiências

Esta configuração foi divulgada em alguns fóruns há mais de um mês e até agora todos os relatos foram positivos.

Referências

apt.txt · Última modificação: 2013/09/13 11:45 por 158