6 999
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 9: | Riga 9: | ||
* Uno script che effettua la risincronizzazione dei file contenenti gli indici dei pacchetti; | * 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 job di [[Utilizzo del servizio di scheduling Cron| | * Un job di [[Utilizzo del servizio di scheduling Cron|Cron]] che lancia lo script di notifica; | ||
== Script per l'aggiornamento degli indici dei pacchetti == | == Script per l'aggiornamento degli indici dei pacchetti == | ||
Riga 23: | Riga 23: | ||
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 <code>''apt-get update''</code> vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repository, cosa in genere risolta in poco tempo. | 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 <code>''apt-get update''</code> vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repository, cosa in genere risolta in poco tempo. | ||
Se si vuol far in modo che lo script venga eseguito ad intervalli diversi dall'ora, è possibile inserire | Se si vuol far in modo che lo script venga eseguito ad intervalli diversi dall'ora, è possibile inserire la seguente riga: | ||
<pre> | |||
*/20 * * * * /usr/bin/apt-get update &>/dev/null | |||
</pre> | |||
attraverso il comando: | |||
<pre># crontab -e</pre> | <pre># crontab -e</pre> | ||
Il formato da utilizzare è quello di [[Utilizzo del servizio di scheduling Cron#Crontab_Command_settings|crontab]].<br/> | |||
Con la precedente riga si indica a <code>Cron</code> di lanciare il job ogni ora quando i minuti sono 20 o multipli di 20 (ad esempio: 15.20, 15.40, 16.00, 16.20 etc.) | |||
È possibile istruire <code>Cron</code> per lanciare il job anche all'avvio del sistema. In questo caso c'è da aggiungere una seconda riga: | |||
<pre> | |||
@reboot /usr/bin/apt-get update &>/dev/null | |||
</pre> | |||
Questa modifica si dimostrerà molto utile, come si vedrà più avanti, nel caso si decidesse di volere la notifica degli aggiornamenti anche all'avvio di una sessione di KDE. | |||
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. | 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. | ||
Riga 50: | Riga 62: | ||
<pre>$ chmod +x ~/scripts/notifica</pre> | <pre>$ chmod +x ~/scripts/notifica</pre> | ||
== Job di | == Job di Cron per lanciare lo script di notifica == | ||
Il job di | Il job di <code>Cron</code> per lanciare lo script precedente deve essere specificato nel formato di <code>crontab</code>: | ||
<pre>30 * * * * ~/scripts/notifica >/dev/null 2>&1</pre> | <pre>30 * * * * ~/scripts/notifica >/dev/null 2>&1</pre> | ||
che può essere inserito dopo aver | che può essere inserito dopo aver eseguito il comando: | ||
<pre>$ crontab -e</pre> | <pre>$ crontab -e</pre> | ||
Nell'esempio indicato, il job di | Nell'esempio indicato, il job di <code>Cron</code> verrà lanciato ogni ora e quando i minuti valgono 30 (01.30, 02.30, 03.30 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> | ||
== Notifica all'avvio di una sessione KDE == | |||
Questo passaggio non è fondamentale ma potrebbe rivelarsi utile per gli utenti che volessero ricevere la notifica di aggiornamenti all'avvio della loro sessione di KDE.<br/> | |||
La prima cosa da fare è accertarsi, come spiegato nel primo paragrafo, che <code>Cron</code> esegua l'aggiornamento della lista dei pacchetti all'avvio del sistema; quindi eseguire il comando: | |||
<pre> | |||
$ ln -s /percorso/dello/script/script_di_notifica /home/utente/.kde/Autostart/nome_link | |||
</pre> | |||
che creerà, nella cartella <code>Autostart</code>, un link simbolico <code>nome_link</code> allo script di notifica. In questo modo lo script verrà lanciato all'avvio di KDE.<br/> | |||
In particolare, per un utente <code>pippo</code> e con lo script chiamato <code>notifica</code> contenuto in <code>/home/pippo/script/notifica</code>, il comando diventa: | |||
<pre> | |||
$ ln -s /home/pippo/script/notifica /home/pippo/.kde/Autostart/notifica | |||
</pre> | |||
o, più semplicemente: | |||
<pre> | |||
$ ln -s ~/script/notifica ~/.kde/Autostart/notifica | |||
</pre> | |||
== Conclusioni == | == Conclusioni == | ||
Riga 69: | Riga 97: | ||
== Documentazione == | == Documentazione == | ||
*[http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog] | *[http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog] | ||
*[http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&sektion= | *[http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&apropos=0&sektion=0&manpath=Debian+squeeze&format=html&locale=en man crontab] | ||
*[http://manpages.debian.net/cgi-bin/man.cgi?query=cron&apropos=0&sektion=0&manpath=Debian+5.0+lenny&format=html&locale=en man cron] | |||
---- | ---- | ||
: [[Utente:S3v|S3v]] | : [[Utente:S3v|S3v]] | ||
[[Categoria:Desktop Environment]] [[Categoria:Kde]] | [[Categoria:Desktop Environment]] [[Categoria:Kde]] |
contributi