GNU/Linux >> Linux Esercitazione >  >> Linux

apt-get update/upgrade list senza modificare nulla

Soluzione 1:

Dalla pagina man di 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).

Quindi assicurati solo di apt-get -s upgrade .

Se vuoi aggiornare alcuni pacchetti, basta apt-get install <package name> e lo aggiornerà se è già installato. Dovrà tuttavia aggiornare anche tutte le dipendenze e, a seconda di cosa sono, ciò può generare molti aggiornamenti.

Se sono in ritardo con gli aggiornamenti dei pacchetti, farò un apt-get install su alcuni di quelli grandi (forse php, apache2, ecc.) così posso tenerli contenuti e controllare eventuali problemi, e poi apt-get upgrade dopo che ho finito.

Soluzione 2:

Uso apt list --upgradable .
La prossima alternativa è apt-get --simulate upgrade . (basato su @EightBitTony)
Ecco i risultati di diverse opzioni (spero che aiuti qualcuno):

[email protected]:~$ apt list --upgradable
    Listing... Done
    kubernetes-cni/kubernetes-xenial 0.7.5-00 amd64 [upgradable from: 0.6.0-00]
    N: There are 3 additional versions. Please use the '-a' switch to see them.
[email protected]:~$ apt-get --simulate upgrade
    NOTE: This is only a simulation!
          apt-get needs root privileges for real execution.
          Keep also in mind that locking is deactivated,
          so don't depend on the relevance to the real current situation!
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
      kubernetes-cni
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Inst kubernetes-cni [0.6.0-00] (0.7.5-00 kubernetes-xenial:kubernetes-xenial [amd64])
    Conf kubernetes-cni (0.7.5-00 kubernetes-xenial:kubernetes-xenial [amd64])
[email protected]:~$ apt-get -u upgrade --assume-no
    E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
    E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
[email protected]:~$ sudo apt-get -u upgrade --assume-no
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
      kubernetes-cni
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 6,473 kB of archives.
    After this operation, 4,278 kB of additional disk space will be used.
    Do you want to continue? [Y/n] N
    Abort.
[email protected]:~$ sudo apt-get -u -V upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages will be upgraded:
       kubernetes-cni (0.6.0-00 => 0.7.5-00)
    1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 6,473 kB of archives.
    After this operation, 4,278 kB of additional disk space will be used.
    Do you want to continue? [Y/n] n
    Abort.

Soluzione 3:

Per elencare i pacchetti da aggiornare con le loro versioni:

$ 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.

Quindi, puoi scegliere cosa aggiornare:

$ 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 ci sono vecchie dipendenze che sono state rimosse, puoi quindi eseguire apt-get autoremove e, come puoi vedere, verrà richiesto di installare eventuali nuove dipendenze. Il --only-upgrade flag non è necessario, ma utile se vuoi assicurarti di non installare accidentalmente un nuovo pacchetto invece di aggiornarne uno esistente, ad esempio hai uno di quei momenti e digiti accidentalmente il pacchetto sbagliato:

$ 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.

Linux
  1. Aggiorna o aggiorna Ubuntu offline, senza Internet

  2. Perché esiste anche la separazione tra aggiornamento e aggiornamento?

  3. Elenco di cartelle senza barra finale /

  4. Arch Linux - comando equivalente apt-get update?

  5. apt-get update non riesce? (Kali Linux con scatola virtuale)

aggiornamento ala - Come aggiornare i pacchetti

Come aggiornare Kali Linux

aggiornamento apt vs aggiornamento apt

Come eseguire a secco o simulare i comandi Linux senza modificare nulla nel sistema

Come escludere i pacchetti dall'aggiornamento di Apt-Get

Come aggiornare Devuan 3.1 a 4.0 Chimaera