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
gostaria de remover as opções de um arquivo de configuração para /etc/apt/apt.conf.d/
que os comandos pudessem ser executados sem especificar essas opções e ainda assim seriam honrados. ou seja, gostaria de remover:
--option Acquire::Check-Valid-Until=false
deapt-get update
DEBIAN_FRONTEND=noninteractive
e--yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold"
deapt-get upgrade
eapt-get dist-upgrade
--yes --force-yes
deapt-get autoremove
e embora eu tenha olhado para opáginas de manual, não consegui descobrir como fazer isso corretamente.
eu apreciaria uma explicação detalhada de como isso pode ser alcançado.
caso seja necessário, aqui estão algumas informações sobre 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
Responder1
Você pode adicionar as --option
partes sem =
o arquivo:
Acquire::Check-Valid-Until "false";
Dpkg::Options:: "--force-confdef";
Dpkg::Options:: "--force-confold";
Quanto a --yes
e --force-yes
, oapt-get
página de manualdiz:
-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 você deve substituir por linhas definindo um ou mais de APT::Get::allow-downgrades
, APT::Get::allow-remove-essential
, APT::Get::allow-change-held-packages
como verdadeiro.
DEBIAN_FRONTEND=noninteractive
é uma configuração do debconf e deve ser definida em debconf.conf
. Opágina de manualtem exemplos.
Eu sugiro fortemente 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 do dist-upgrade
- o dist-upgrade
sozinho é suficiente.