Quais opções do apt para uma atualização automática segura

3

Relacionado à minha pergunta anterior , que opções do apt devem ser usadas ao atualizar um pacote para que:

  • se outros pacotes forem removidos como resultado da atualização, o apt parará sem tocar em nada
  • se novos pacotes forem instalados como resultado da atualização e não causarem conflito ou remoção, o apt os instalará
  • se outros pacotes forem atualizados, prefiro parar

Agradecemos antecipadamente por qualquer ajuda

    
por bronto 08.01.2014 / 13:17

1 resposta

4

Eu fiz algumas pesquisas nas páginas man, em particular em man apt.conf e man apt-get , e encontrei o seguinte. Por favor, comente se você acha que eu esqueci alguma coisa.

  • use a opção --only-upgrade ou defina o item de configuração apt APT::Get::Only-Upgrade como true
  • apt item de configuração APT::Get::force-yes definido como falso
  • use a opção --no-remove ou defina o item de configuração apt APT::Get::Remove como falso

Não tenho certeza de que --trivial-only / APT::Get::Trivial-Only ajude aqui. É necessário investigar melhor.

Com aptitude , as partes relevantes parecem ser:

  • usando o comando safe-upgrade com a opção --no-new-installs
  • defina Aptitude::Delete-Unused como false, para que os pacotes não utilizados não sejam removidos automaticamente (posso discordar do aptitude em relação ao que não é usado ...)
  • adicionar -R / --without-recommends pode ajudar, precisa de mais investigação

Atualizar Eu fiz alguns testes em um sistema antigo:

# grep ^Ubuntu /etc/motd
Ubuntu 10.04.4 LTS

apt-get parece mais cauteloso, e o resultado não difere entre os apt-get upgrade e apt-get -o APT::Get::Only-Upgrade=true --no-remove -o APT::Get::force-yes=false upgrade normais.

aptitude parece mais agressivo e as "opções seguras" parecem fazer o seu trabalho. Atualização padrão (na verdade, é executado safe-upgrade )

# aptitude -s -y upgrade
W: The "upgrade" command is deprecated; use "safe-upgrade" instead.
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze   
Lettura informazioni sullo stato... Fatto
Reading extended state information   
Initializing package states... Fatto
Resolving dependencies...
The following NEW packages will be installed:
  linux-image-2.6.32-55-generic-pae{a}
The following packages will be upgraded:
  linux-generic-pae linux-image-generic-pae linux-image-server linux-libc-dev linux-server
5 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/32.8MB of archives. After unpacking 98.2MB will be used.
Would download/install/remove packages.

Agora com opções "seguras":

# aptitude -s -y --no-new-installs -R -o Aptitude::Delete-Unused=false safe-upgrade 
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze   
Lettura informazioni sullo stato... Fatto
Reading extended state information   
Initializing package states... Fatto
Resolving dependencies...
The following packages have been kept back:
  linux-generic-pae linux-image-generic-pae
The following packages will be upgraded:
  linux-image-server linux-libc-dev linux-server
3 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0B/878kB of archives. After unpacking 0B will be used.
Would download/install/remove packages.

Muito mais parecido com o que eu queria.

Infelizmente, nenhum dos dois conjuntos parece impedir que novos pacotes sejam instalados ou que outros pacotes sejam atualizados quando usados com o comando install em vez de upgrade / safe-upgrade , então estou de volta à estaca zero Não consigo fazer com que apt-get / aptitude pare quando faria uma operação potencialmente insanamente paranóica. De certa forma, tenho uma rede de segurança melhor, mas não sou impedido de cair.

    
por 08.01.2014 / 16:31