Come fare in CLI verificare la presenza di aggiornamenti ogni 4 settimane e installarli automaticamente senza accedere alle fonti del software?


10

Ho una serie di comandi personalizzati che eseguo sui miei computer dopo averli installati. Come faccio a controllare Ubuntu per gli aggiornamenti ogni 4 settimane e installarli automaticamente al momento del controllo?

Avrei bisogno di farlo tramite la riga di comando in modo da poterlo configurare per gli utenti abituali quando installo i loro computer.

Il primo comando farà in modo che il gestore aggiornamenti controlli gli aggiornamenti ogni 2 settimane perché non sempre arrivano così tanto e per salvare la larghezza di banda dei server Ubuntu.

Devo anche impostarlo in modo che gli utenti non debbano fare clic per installare gli aggiornamenti poiché è stancante ogni volta che aiuto un amico a configurare un computer.

Risposte:


10

Innanzitutto, abilita gli aggiornamenti automatici come questo:

sudo apt-get install unattended-upgrades

È quindi necessario modificarne la configurazione, digitare

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

( nanose lo desideri, sostituiscilo con il tuo editor di testo preferito)

Il file è simile al seguente:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

La //significa che questa riga è un commento e non saranno prese in considerazione dal programma, rimuovere i colpi per includere gli aggiornamenti rilascio stabile, oltre a fix di sicurezza. Inoltre, sostituisci maverickcon la versione di Ubuntu in esecuzione.

Per impostare l'intervallo in cui il sistema verifica la presenza di aggiornamenti, modificare il /etc/apt/apt.conf.d/10periodicfile con un editor di testo:

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

In questo esempio, il sistema viene aggiornato ogni due settimane.

Per una spiegazione più dettagliata, consultare Aggiornamenti automatici nella guida del server Ubuntu.


Nota che la risposta di papukaija sta parlando dell'intervallo in cui si apre la finestra di dialogo Update Manager sullo schermo, immagino che non sia quello che non vuoi, ma non ne sono sicuro. :)


Le finestre di dialogo non sono necessarie per aprirsi e non vanno in 1 riga. Se entro 2 settimane ho impostato le fonti del software da controllare, è possibile che prima o poi venga visualizzata la finestra di dialogo di aggiornamento? Necessario è che con 1 riga sia possibile impostare quell'utente non saprebbe nemmeno che il sistema viene aggiornato ogni 4 settimane e non ha bisogno di vedere alcun aggiornamento che richiede e automaticamente è appena installato. Quindi non ho bisogno di impostarlo manualmente con il mouse nelle fonti del software.
Canguro

Non sono sicuro di capirti. Puoi disabilitare le notifiche di aggiornamento andando su Sistema → Preferenze → Applicazioni di avvio e rimuovendo il segno di spunta su "Aggiorna notifica". È quello che volevi dire? Inoltre, ovviamente puoi impostarlo su "30" anziché su "14" giorni (o qualsiasi importo desiderato)
Stefano Palazzo

E ciò può essere fatto anche con una riga? Se sì, va bene anche in caso contrario, non è la cosa principale che volevo. La cosa principale è superare andando alle impostazioni delle fonti software per modificare il controllo degli aggiornamenti e cosa fare. Voglio controllare ogni 28 giorni e installare gli aggiornamenti senza chiedere nulla al terminale in modo che sia più veloce.
Canguro,

Un comando di riga nella mia risposta: apt-get update && apt-get upgrade -y
luri

@luri non è di questo che si tratta
Stefano Palazzo

2

Se intendi aggiornare tutto "aggiornabile", ovvero aggiornare TUTTI i tuoi pacchetti, suppongo che potresti cron (all'interno del cron root) che ogni 28 giorni apt-get update && apt-get upgrade -yvenga eseguito.

Alcune persone hanno problemi con i lavori secondari a causa di un PATHambiente restrittivo . In caso di problemi, è possibile definire PATHil proprio all'inizio del crontab -efile (come suggerito in CronHowto )

Inoltre, per verificare che tutto vada bene, registrerei i risultati, in questo modo:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh potrebbe essere semplice come questo:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

Questo non funziona per me. Quando ottengo i miei registri cron, mi aptitude -y safe-upgradelamento della necessità di un tty di controllo e quindi di un sacco di errori di percorso. Forse dovrei fare una domanda ...
djeikyb,

L'hai impostato nel cron cron?
Luri,

Sì. Stava fallendo a causa di alcuni problemi relativi al percorso, quindi ho creato uno script in / root / bin, con #! / Bin / bash e il percorso completo di apt-get. Funziona meglio, ma non si aggiorna ancora.
djeikyb,

Pubblica gli errori nel registro .... o qualunque cosa non riesca
luri,

Ho fatto una domanda separata: askubuntu.com/q/23795/8515
djeikyb

1

Puoi cambiare l'intervallo tra il momento in cui viene eseguito update-manager aprendo gconf-editor (ad esempio con Alt + F2 e digitando gconf-editor). Quindi individuare /apps/update-notifier.

L'intervallo è definito in chiave regular_auto_launch_intervaldove il valore è il numero di giorni. Penso che questo metodo non influisca sul programma di aggiornamento automatico non grafico (aggiornamenti automatici).

Si noti che Ubuntu potrebbe non installare automaticamente gli aggiornamenti di sicurezza a causa di un bug .


4
Questa è la versione da riga di comando di questa risposta: gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(dove 7 è l'intervallo in giorni)
Stefano Palazzo

Ho appena verificato che fosse già 7. Ma nelle fonti software è impostato 2 settimane. Forse è altrove?
Canguro

0

Ho messo gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1e la sua apertura ogni giorno mostrando che non ho installato aggiornamenti. Si apre se non ci sono nuovi aggiornamenti? Quindi fare l'aggiornamento automatico ogni 4 settimane non farebbe apparire questo pop-up? Quindi, come fare con la CLI per installare automaticamente gli aggiornamenti ogni controllo ogni 4 settimane? È quello che voglio. Non andando a fonti di software e farlo con il mouse. E così facendo è possibile che non possa essere inserito più di 2 settimane.

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.