Come vedi quali pacchetti sono disponibili per l'aggiornamento?


74

Utente di FreeBSD che si unisce ai tuoi ranghi. Mi è stato chiesto di occuparmi di un server Ubuntu con 10.04 LTS.

Vedo /usr/lib/update-notifier/update-motd-updates-availableche ci sono un certo numero di aggiornamenti sul server, tuttavia non vedo un modo per dire quale verrà aggiornato.

Qualcuno sarebbe in grado di indicarmi la giusta direzione in modo che io possa vedere quali pacchetti verranno aggiornati quando corro apt-get upgrade?

AGGIORNARE:

Al momento non posso rispondere alla mia domanda, quindi per ora buttalo qui:

Insieme al apt-get upgrade --dry-runsuggerito di seguito, /usr/lib/update-notifier/apt-check -pelencherà tutti i pacchetti che hanno aggiornamenti disponibili.


Benvenuto nei ranghi, usa e abusa del sito se hai bisogno di ulteriore aiuto;) Se trovi una risposta che soddisfa la tua domanda, contrassegnala con la casella di controllo verde accanto ad essa.
Bruno Pereira,

1
Ora dovresti essere in grado di rispondere alla tua domanda poiché disponi di un rappresentante sufficiente per rimuovere le nuove restrizioni utente .
jokerdino

sembra che sia richiesto 100rep o un'attesa di 8 ore per rispondere alla tua domanda.
Jan Geep

Nel 2016, la risposta data da @doru è perfetta. askubuntu.com/a/788049/560610
jeremysawesome il

Risposte:


63

È possibile installare aptitudese non è già installato. È un ottimo strumento per gestire i pacchetti in una configurazione senza testa.

inserisci qui la descrizione dell'immagine

Altrimenti, se vuoi solo vedere cosa succederà quando esegui qualcosa, usa l' --dry-runargomento e in realtà non farà nulla, ti dirà semplicemente cosa farebbe :

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

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

Aggiungi l'opzione al comando in questo modo

apt upgrade --dry-run

5
Ho sfigurato la tua risposta, spero che non ti dispiaccia.
Bruno Pereira,

2
È interessante notare apt-get upgrade --dry-runche non richiede sudo, il che lo rende perfetto per una visualizzazione automatica degli aggiornamenti dei pacchetti richiesti.
pastore

ancora più interessante è che sul mio Ubuntu 14.04 LTS "apt-get -s update" non accetta "-s" ... né "--dry-run", "--no-act" ... perché sarebbe?
mBardos,

@mBardos Hai sostituito il apt-getnel tuo percorso con uno script "helper"? Controllare which apt-getper assicurarsi che sia/usr/bin/apt-get
Oli

martonb @ martonb-ubu: ~ / work / qt $ che apt-get / usr / bin / apt-get Questo funziona per te su Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: l'opzione della riga di comando 's' [da -s] non è nota.
mBardos,

68

A partire da ora (Ubuntu 16.04) è possibile utilizzare apt listcon la --upgradablebandiera;

sudo apt update
apt list --upgradable

e otterrai un elenco con tutti i pacchetti aggiornabili.


1
Eccellente! Questo è esattamente quello che volevo vedere :)
jeremysawesome il

aptè un comando sconosciuto in 12.04
confiq

1
@confiq "APT 1.0 è stato rilasciato il 1 ° aprile 2014" , quindi è possibile non essere aggiornato sul proprio sistema. Prova a vedere quale versione di aptte ha installato in esecuzione sudo apt-cache policy apt.
Doru,

questo spiega ...
confiq

10

Un'altra alternativa sarebbe usare aptitudecon un termine di ricerca :

aptitude search '~U'

(Nota la 'U' maiuscola)

Ciò significa: "cerca tutti i pacchetti installati e che possono essere aggiornati". Riferimento: manuale dell'utente aptitude

Per impostazione predefinita, aptitude searchmostra per ogni pacchetto il suo nome, descrizione e alcuni flag, ma puoi anche adattare l'output alle tue esigenze. Ad esempio, per elencare solo i nomi dei pacchetti, il comando sarebbe:

aptitude search -F '%p' --disable-columns '~U'

( --disable-columnsevita di riempire gli spazi bianchi alla fine delle linee)


8

Il comando seguente mostra l'elenco dei pacchetti installati con un aggiornamento disponibile nei repository.

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

1
È un bel po 'di magia da riga di comando!
Teemu Leisti,

1
Bello, ma le risposte di @ sierrasdetandil e @doru 'fanno esattamente lo stesso in un modo meravigliosamente conciso ...
Giuseppe,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.