Come ottenere un elenco di tutti gli aggiornamenti di sicurezza in sospeso?


13

Devo elencare (non contare o installare) tutti gli aggiornamenti di sicurezza in sospeso su un sistema Ubuntu 14.04. Ho letto il post Come creare un elenco di soli aggiornamenti di sicurezza con apt-get? e la sua risposta accettata ( apt-show-versions | grep upgradeable | grep security) mi dà davvero un elenco.

Tuttavia, quel comando elenca 62 aggiornamenti di sicurezza in sospeso. /usr/lib/update-notifier/apt-checkmi dice che ho 75 aggiornamenti di sicurezza in sospeso, ma non sembra avere modo di elencarli. Come posso conciliare questi due numeri? Uno dei due comandi sta facendo qualcosa di diverso da quello che voglio?

Risposte:


7

Se stai solo cercando di farlo rapidamente una volta, invece di creare un repository separato e creare script di automazione e tutto il resto. Ottimo se non dovresti apportare modifiche durante il controllo di un sistema o altro.

Questi due comandi sputeranno l'elenco. Inoltra a wc -l per vedere quanti sono dietro. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -oDir::Etc::SourceParts=/some/valid/dir/false -s

È ancora valido per le distribuzioni precedenti o se hai repository di aggiornamenti disattivati, ma la sicurezza è attiva:

sudo apt-get upgrade -s| grep ^Inst |grep Security 

perché scrivi " Ancora valido per le distribuzioni precedenti o se hai repository di aggiornamenti disattivato, ma la sicurezza su "? se la soluzione con piping non funziona, forse aggiungi l' opzione -V( -verbose-versions)?
myrdd,

@myrdd Perché il primo utilizza funzionalità che non erano disponibili nelle distro che erano fuori moda nel 2016. Potrebbe non essere più una cosa.
flickerfly

quindi quest'ultima soluzione dovrebbe sempre funzionare, no?
myrdd,

1
@myrdd Finché il formato dell'output non cambia in una versione più recente. Il primo è migliore perché non dipende dal formato di output.
flickerfly,

2

Questo ha funzionato per me:

sudo unattended-upgrade --dry-run -d 2> /dev/null | awk '/Checking/ { print $2 }'

2
Mostra tutti gli aggiornamenti disponibili, ma non si limita agli aggiornamenti di sicurezza se non sbaglio. Ancora utile.
delf

2
sudo apt-get -s --no-download dist-upgrade -V | grep "^Inst.*security.*$" | cut -d " " -f 2

Con qualche aiuto da questa domanda


2
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                            Command                            |                                                                               Purpose                                                                               |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| apt list --upgradable                                         | List all updates available                                                                                                                                          |
| apt list --upgradable | grep "\-security"                     | List all updates that are security.                                                                                                                                 |
| apt list --upgradable 2>/dev/null | grep "\-security" | wc -l | Count number of security updates available. and redirects the stderr like "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." to null |
+---------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+

0
sudo apt list --upgradable |grep "/$(lsb_release -cs)-security"

Questo elenca tutti gli aggiornamenti disponibili che arrivano tramite il repository di sicurezza.


1
apt è per uso interattivo. Riceverai un avviso quando utilizzato in uno script. Usa apt-getinvece.
Bernard,

0

deve esserci un modo per richiedere quanti pacchetti sono aggiornabili e quanti aggiornamenti di sicurezza in questo momento , ma se ti accontenti di chiederlo una volta al giorno puoi semplicemente leggere il file / var / lib / update-notifier / updates-available , che sembra essere aggiornato quotidianamente dallo script /etc/cron.daily/update-notifier-common che appartiene al pacchetto update-notifier-common

Esempio:

$ sudo cat /var/lib/update-notifier/updates-available

355 packages can be updated.
1 update is a security update.

Testato in:

  • Ubuntu 14.04 LTS
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS

Saluti,

/Angelo

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.