apt opções dentro de arquivos de configuração

1

Estou executando apt-get da seguinte forma:

rm -rf /var/lib/apt/lists/*'
apt-get clean
apt-get --option Acquire::Check-Valid-Until=false update
DEBIAN_FRONTEND=noninteractive apt-get --yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" upgrade
DEBIAN_FRONTEND=noninteractive apt-get --yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" dist-upgrade
apt-get autoremove --yes --force-yes
apt-get clean

Eu gostaria de remover as opções para um arquivo de configuração em /etc/apt/apt.conf.d/ , para que os comandos possam ser executados sem especificar essas opções e eles ainda serão honrados. ou seja, gostaria de remover:

  1. --option Acquire::Check-Valid-Until=false de apt-get update
  2. DEBIAN_FRONTEND=noninteractive e --yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" de apt-get upgrade e apt-get dist-upgrade
  3. --yes --force-yes de apt-get autoremove

e, embora eu tenha olhado para as páginas de manual , não consegui descobrir como fazer isso corretamente.

Eu gostaria de receber uma explicação detalhada de como isso pode ser alcançado.

caso seja necessário, aqui estão algumas informações sobre o meu sistema:

$ cat /etc/*release* | grep -i dist
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

$ dpkg -l | grep -i apt | head -n 1
ii  apt  1.2.15ubuntu0.2  amd64  commandline package manager
    
por MrRoth 31.12.2016 / 10:46

1 resposta

1

Você pode adicionar as --option parts sem = ao arquivo:

Acquire::Check-Valid-Until "false";
Dpkg::Options:: "--force-confdef";
Dpkg::Options:: "--force-confold";

Quanto a --yes e --force-yes , a apt-get manpage diz:

-y, --yes, --assume-yes
   Automatic yes to prompts; assume "yes" as answer to all prompts and
   run non-interactively. If an undesirable situation, such as
   changing a held package, trying to install a unauthenticated
   package or removing an essential package occurs then apt-get will
   abort. Configuration Item: APT::Get::Assume-Yes.

--force-yes
   Force yes; this is a dangerous option that will cause apt to
   continue without prompting if it is doing something potentially
   harmful. It should not be used except in very special situations.
   Using force-yes can potentially destroy your system! Configuration
   Item: APT::Get::force-yes. This is deprecated and replaced by
   --allow-downgrades, --allow-remove-essential,
   --allow-change-held-packages in 1.1.

Então:

APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";

A segunda linha que você deve substituir por linhas que definem um ou mais APT::Get::allow-downgrades , APT::Get::allow-remove-essential , APT::Get::allow-change-held-packages para true.

DEBIAN_FRONTEND=noninteractive é uma configuração do debconf e deve ser definida em debconf.conf . A página do manual tem exemplos.

Sugiro que você escreva um script em vez de defini-lo em arquivos de configuração. Além disso, não faz sentido executar um upgrade antes que o dist-upgrade - o dist-upgrade seja suficiente.

    
por muru 31.12.2016 / 11:15