Come posso controllare solo gli aggiornamenti di sicurezza dalla riga di comando?


16

Esiste un modo per verificare rapidamente la disponibilità di aggiornamenti di sicurezza dalla riga di comando?

Sul mio sistema 12.04 in esecuzione apt-get updaterecupera 20 MB di dati sui pacchetti disponibili ogni volta che lo eseguo, colpendo molti repository lungo la strada. Quindi posso utilizzare uno dei metodi descritti qui per eseguire effettivamente l'aggiornamento.

La mia domanda riguarda solo il rilevamento della disponibilità degli aggiornamenti di sicurezza (ovvero, non eseguire l'effettivo aggiornamento usando apt-get / aptitude / etc): c'è un rapido controllo che può essere fatto dalla riga di comando che fornisce una risposta sì-no alla domanda "ci sono aggiornamenti di sicurezza disponibili?". Vorrei eseguirlo prima di eseguire l' apt-get updateaggiornamento lungo + effettivo.

Suppongo di non aver bisogno di scaricare 20 MB di dati per conoscere la risposta ogni giorno.



Vuoi dire che apt-get updaterecupera 20 MB di metadati del pacchetto?
Jeremy Kerr,

@JeremyKerr: sì, lo fa se ti trovi sul server principale (archivio / us.archive) perché gli elenchi dei pacchetti vengono aggiornati ogni mezz'ora ... ci sono uno o due thread lunghi su AU da internazionale / bassa velocità utenti che ne sono rimasti molto delusi.
Ish,

@izx: interessante, ho appena eseguito un test apt-get updateusando un mirror australiano (sono in .au); il download totale è stato di 1,3 MB.
Jeremy Kerr,

Risposte:


11

La mia domanda riguarda solo il rilevamento della disponibilità di aggiornamenti di sicurezza

Sì, è possibile con l'avvertenza che il normale apt-get updateeseguirà un aggiornamento completo alla successiva esecuzione (20 MB significa che lo sta facendo comunque).

  • sudo sh -c 'grep precise-security /etc/apt/sources.list > /etc/apt/secsrc.list

  • E se quindi esegui quanto segue, vedrai se sono disponibili aggiornamenti di sicurezza ( output di esempio ):

    sudo sh -c 'apt-get -o Dir :: Etc :: sourcelist = "secsrc.list" \
    -o Dir :: Etc :: sourceparts = "-" aggiorna && \
    apt-get --assume-no upgrade '
    
  • Ciò indica apt-getdi utilizzare temporaneamente l'elenco di fonti di sola sicurezza speciale, quindi viene eseguito upgrade, rispondendo automaticamente a no.

  • Se ce ne sono, esegui correttamente apt-get update(che eseguirà un aggiornamento completo), quindi esegui l' aggiornamento.

  • Potresti rendere quanto sopra uno script bash con un semplice codice grep / exit code alla fine se non hai voglia di analizzare l'output apt-get :)


questo è esattamente quello che stavo cercando, molte grazie! :) una domanda veloce: il mio file /etc/apt/secsrc.list non fa riferimento al repository dei partner (solo per "principale riservato", "universo" e " multiverso '), riceverò comunque la notifica degli aggiornamenti di sicurezza per i pacchetti in quel repository?
laramichaels,

@laramichaels, il repository dei partner contiene solo quindici pacchetti , e questi sono fondamentalmente binari proprietari racchiusi in un .deb. Per questi non vengono rilasciati aggiornamenti incrementali di "sicurezza" e immagino che anche gli aggiornamenti regolari siano poco frequenti (pensate ad Adobe Reader). Aggiungerei semplicemente il repository ( deb http://archive.canonical.com/ubuntu precise partner) effettivo secsrc.listin base alle dimensioni ridotte (5 kb) del file di aggiornamento del partner.
Ish,

@laramichaels, ho anche aggiunto una risposta più dettagliata alla tua precedente domanda sull'aspetto degli aggiornamenti di sicurezza dei partner. La risposta accettata è stata IMO errata, quindi per favore dai un'occhiata quando hai un momento libero e accetta invece la mia se pensi che sia meglio.
Ish,

1
A cosa serve questo bit? -o Dir::Etc::sourceparts="-"
ChocoDeveloper

2

Questo potrebbe non essere esattamente quello che la domanda sta ponendo, ma se hai già eseguito apt update , puoi vedere quali aggiornamenti di sicurezza sono disponibili usando:

sudo apt list --upgradable | grep -e "-security"

che ti darà qualcosa del tipo:

libssl1.0.0/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
openssl/xenial-updates,xenial-security 1.0.2g-1ubuntu4.9 i386 [upgradable from: 1.0.2g-1ubuntu4.8]
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.