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 aptAPT::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 aptAPT::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.