6 999
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
=== | ===Introduzione=== | ||
Scrivo questa breve guida per chi, come me, esegue più volte al giorno il comando: | Scrivo questa breve guida per chi, come me, esegue più volte al giorno il comando: | ||
<pre># apt-get update && apt-get dist-upgrade</pre> | <pre># apt-get update && apt-get dist-upgrade</pre> | ||
(o equivalente alias contenuto nel file .bashrc di root) alla ricerca di aggiornamenti. | (o equivalente alias contenuto nel file .bashrc di root) alla ricerca di aggiornamenti.<br/> | ||
Dopo aver seguito i successivi tre semplici passi, la notifica della presenza di aggiornamenti dei nostri pacchetti sarà visualizzabile direttamente sulla systray, restandoci per un tempo impostabile a piacimento. | |||
Servono fondamentalmente tre cose: | Servono fondamentalmente tre cose: | ||
* | * Uno script che effettua la risincronizzazione dei file contenenti gli indici dei pacchetti; | ||
* Uno script per notificare nella systray gli aggiornamenti eventualmente trovati; | * Uno script per notificare nella systray gli aggiornamenti eventualmente trovati; | ||
* Un | * Un job di [[Utilizzo del servizio di scheduling Cron|cron]] che lancia lo script di notifica; | ||
=== | ===Script per l'aggiornamento degli indici dei pacchetti=== | ||
Questo | Questo script può essere inserito in ''/etc/cron.hourly'' per essere lanciato ogni ora; il suo funzionamento è banale: | ||
creare, come utente root, un file contenente le seguenti righe: | creare, come utente root, un file contenente le seguenti righe: | ||
<pre>#!/bin/sh | <pre>#!/bin/sh | ||
apt-get update &>/dev/null</pre> | apt-get update &>/dev/null</pre> | ||
salvare il file in ''/etc/cron.hourly'' e renderlo eseguibile; se ad esempio lo abbiamo chiamato ''aggiorna'': | salvare il file in ''/etc/cron.hourly'' e renderlo eseguibile; se ad esempio lo abbiamo chiamato ''aggiorna'': | ||
<pre># chmod +x aggiorna</pre> | <pre># chmod +x aggiorna</pre> | ||
:'''Attenzione:''' A causa del namespace dei caratteri ridotto usato dal comando ''run-parts'' (che si occupa, in ''/etc/crontab'', di lanciare gli script), il nome che si può scegliere per gli script inseriti in ''/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly'' e ''/etc/cron.monthly'' può contenere solo caratteri che siano lettere maiuscole, lettere minuscole, numeri, trattini( - ) o underscore ( _ ), pena il fallimento del lancio degli script stessi. | :'''Attenzione:''' A causa del namespace dei caratteri ridotto usato dal comando ''run-parts'' (che si occupa, in ''/etc/crontab'', di lanciare gli script), il nome che si può scegliere per gli script inseriti in ''/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly'' e ''/etc/cron.monthly'' può contenere solo caratteri che siano lettere maiuscole, lettere minuscole, numeri, trattini( - ) o underscore ( _ ), pena il fallimento del lancio degli script stessi. | ||
Il compito di questo | Il compito di questo script è soltanto quello di aggiornare la lista degli indici dei pacchetti, senza aggiornare il sistema. L'output e gli eventuali errori del comando ''apt-get update'' vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repo, cosa in genere risolta in poco tempo. | ||
Questa è l'unica parte in cui i comandi vanno dati con i permessi di root; i successivi passi vanno eseguiti attraverso i normali privilegi utente. | Se si vuol far in modo che lo script venga eseguito ad intervalli diversi dall'ora, è possibile inserire un semplice file di testo, contenente un job di cron, nella directory ''/etc/cron.d'' oppure, in alternativa, inserire il job attraverso il comando: | ||
<pre># crontab -e</pre> | |||
In entrambi i casi il formato da utilizzare è quello di [[Utilizzo del servizio di scheduling Cron#Crontab_Command_settings|crontab]].<br/> | |||
Questa è l'unica parte della guida in cui i comandi vanno dati con i permessi di root; i successivi passi vanno eseguiti attraverso i normali privilegi utente. | |||
===Script di notifica nella systray=== | ===Script di notifica nella systray=== | ||
Riga 53: | Riga 54: | ||
che può essere inserito dopo aver dato il comando: | che può essere inserito dopo aver dato il comando: | ||
<pre>$ crontab -e</pre> | <pre>$ crontab -e</pre> | ||
Nell'esempio indicato, il job di cron verrà lanciato ogni ora e quando i minuti valgono 30 (1,30h 2,30h 3,30h e così via). L'intervallo di tempo è liberamente modificabile; ad esempio, se si vuol lanciare il job ogni 10 min: | |||
<pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre> | <pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre> | ||
contributi