apt-get lista update / upgrade sem mudar nada

15

Eu gostaria de ver quais pacotes estão disponíveis para atualização / atualização sem realmente alterar nenhum arquivo porque existem alguns pacotes que eu não gostaria de atualizar. Seria então possível atualizar o apt-get com exceções.

    
por John Magnolia 13.08.2011 / 14:32

3 respostas

31

Na página do manual do apt-get,

   -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur
       but do not actually change the system. Configuration Item:
       APT::Get::Simulate.

       Simulation run as user will deactivate locking (Debug::NoLocking)
       automatic. Also a notice will be displayed indicating that this
       is only a simulation, if the option APT::Get::Show-User-Simulation-Note
       is set (Default: true). Neither NoLocking nor the notice will be
       triggered if run as root (root should know what he is doing without
       further warnings by apt-get).

       Simulate prints out a series of lines each one representing a
       dpkg operation, Configure (Conf), Remove (Remv), Unpack (Inst).
       Square brackets indicate broken packages and empty set of square
       brackets meaning breaks that are of no consequence (rare).

Portanto, certifique-se de ter apt-get -s upgrade .

Se você quiser atualizar alguns pacotes, apenas apt-get install <package name> e ele será atualizado se já estiver instalado. No entanto, também terá que atualizar todas as dependências e, dependendo do que for, pode entrar em cascata em muitas atualizações.

Se eu estiver atrasado nas atualizações de pacotes, farei um apt-get install em alguns dos grandes (talvez php, apache2 etc.) para que eu possa mantê-los contidos e verificar quaisquer problemas e, em seguida, apt-get upgrade depois que eu terminar.

    
por 13.08.2011 / 14:41
7

Para listar os pacotes a serem atualizados com suas versões:

$ sudo apt-get -u -V upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
   mysql-client-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
   mysql-server-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
   mysql-server-core-5.5 (5.5.29-0ubuntu0.12.04.2 => 5.5.32-0ubuntu0.12.04.1)
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Depois, você pode escolher o que atualizar:

$ sudo apt-get --only-upgrade install mysql-client-5.5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
firefox-globalmenu
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libterm-readkey-perl
The following NEW packages will be installed:
libterm-readkey-perl
The following packages will be upgraded:
mysql-client-5.5
1 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 8,123 kB of archives.
After this operation, 139 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libterm-readkey-perl i386 2.30-4build3 [28.4 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main mysql-client-5.5 i386 5.5.32-0ubuntu0.12.04.1 [8,094 kB]
...

Se houver dependências antigas removidas, você poderá executar apt-get autoremove e, como você pode ver, todas as novas dependências serão solicitadas para instalação. O sinalizador --only-upgrade não é necessário, mas bom se você quiser garantir que você não instale acidentalmente um novo pacote em vez de atualizar um já existente, ou seja, você tem um desses momentos e acidentalmente digita o pacote errado:

$ sudo apt-get --only-upgrade install mysql-proxy
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Skipping mysql-proxy, it is not installed and only upgrades are requested.
The following package was automatically installed and is no longer required:
firefox-globalmenu
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
    
por 30.08.2013 / 16:07
0

Isso ajuda você a emitir apt-get -s upgrade , que faz apenas uma simulação? E então você pode atualizar cada pacote desejado com apt-get install <thepackage> .

Se você quiser isso interativo com uma GUI CLI agradável, use aptitude . Se ainda não estiver instalado, instale-o com apt-get install aptitude .

    
por 13.08.2011 / 14:42