1 760
contributi
m (→Concusione) |
mNessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
==Introduzione== | |||
Spesso ci è capitato di installare dei pacchetti contenenti dei bug, conosciuti anche prima del nostro download. | |||
Prima di installare un pacchetto, infatti, sarebbe opportuno fare una visitina sul sito http://bugs.debian.org, dove vengono tracciati i bug segnalati. Questo motore di gestione dei bug è molto potente e funzionale..ma se non volessimo perdere tempo ogni volta? | |||
apt-listbugs è la risposta! | |||
apt-listbugs, infatti, ci permette di essere informati sui bug presenti nel nostro sistema e presenti nei pacchetti che stiamo per installare...vediamo come utilizzarlo e configurarlo al meglio per le nostre esigenze! | |||
==Installazione== | |||
Per installare apt-listbugs, è sufficiente un | |||
<pre> | <pre> | ||
# apt-get install | # apt-get install apt-listbugs | ||
</pre> | </pre> | ||
==Configurazione== | |||
Apt-listbugs è già configurato per interagire con dpkg e apt in quanto aggiunge uno script nella directory '''/etc/apt/apt.conf.d/''', che contiene gli script da eseguire al termine del download dei pacchetti. Raccomando di non modificare il contenuto di questa directory, a meno di non sapere esattamente cosa fare pena l'impossibilità di installare pacchetti e/o il cattivo funzionamento di dpkg e apt-get). | |||
Nella directory '''/etc/apt/''' verrà aggiunta una nuova folder: "listbugs" che conterrà dei file di supporto per il normale funzionamento del programma (ad esempio il file ignore_bugs, contenente la lista dei bug ignorati durante l'installazione dei pacchetti). | |||
== | ==Utilizzo== | ||
L'utilizzo base del programma è semplicissimo: | |||
ogni volta che installeremo o aggiorneremo dei pacchetti, apt-listbugs interrogherà i server Debian per sapere se ci sono dei bug aperti per le applicazioni installate; raccolte le informazioni ci avvertirà in caso di bug (altrimenti lascerà continuare normalmente il processo di installazione). | |||
In caso di presenza di bug, mostrerà a video la lista di quelli presenti (sia aperti che chiusi); ecco un esempio: | |||
<pre> | <pre> | ||
Retrieving bug reports... Done | |||
critical bugs of login (1:4.0.3-30.7 -> 1:4.0.3-30.8) <done> | |||
#290803 - login: /var/log/btmp is created with insecure permissions | |||
critical bugs of postfix (2.1.4-5 -> 2.1.5-5) <done> | |||
#288728 - postfix gives up with warning: no MX host for xxxx.com has a valid A record | |||
grave bugs of mysql-server (4.0.23-1 -> 4.0.23-3) <open> | |||
#291378 - mysql-server: Security fixes pending in experimental version | |||
grave bugs of postfix (2.1.4-5 -> 2.1.5-5) <open> | |||
#285111 - postfix: newaliases not working due to some library problem | |||
#291031 - postfix: Upgrade from Postfix 2.1.4-5 to 2.1.5-4 fails #3 | |||
#292086 - stock installed master.cf file causes postfix to fail to start | |||
Summary: | |||
mysql-server(1 bug), login(1 bug), postfix(4 bugs) | |||
Are you sure you want to install/upgrade the above packages? [Y/n/?/...] | |||
</pre> | </pre> | ||
Come potete vedere, visualizza una lista di bug presenti, divisi per categoria (prima quelli 'Critical', poi quelli 'Grave') e poi per pacchetto. Inoltre i bug sono contraddistinti da 2 tag: '''<done>''' e '''<open>''':<br/> | |||
'''<done>''' rappresenta un bug corretto<br/> | |||
'''<open>''' rappresenta un bug ancora aperto<br/> | |||
Ecco una tabella riassuntiva delle categorie in cui sono divisi i bug: | |||
; critical : si riferisce a problemi che bloccano il pacchetto o l'intero sistema; oppure causano la perdita di dati importanti; oppure introducono dei problemi di sicurezza sui sistemi nei quali installi il pacchetto.<br/> | |||
; grave : rende il pacchetto in questione inusabile o quasi; oppure causa la perdita di dati; oppure introduce dei problemi di sicurezza legati agli utenti del pacchetto.<br/> | |||
; serious : indica una seria violazione della policy Debian (vale a dire di tutto quello che è identificato come "must" o "required") o che comunque secondo il manutentore del pacchetto rende lo stesso inappropriato per il rilascio.<br/> | |||
; important : un bug che abbia un effetto pesante sull'usabilità del pacchetto, senza però renderlo inusabile per tutti.<br/> | |||
; normal : il valore predefinito, utilizzabile per i bug normali.<br/> | |||
; minor : un bug che non inficia l'usabilità del pacchetto e che è facile da correggere.<br/> | |||
; wishlist : per ogni richiesta di cambiamento del programma non legata a bug.<br/> | |||
(fonte: http://www.debian.org/Bugs/Developer#severities) | |||
Apt-listbugs ci mostra prevalentemente quelli appartenenti alle prime due categorie. | |||
Tornando ad apt-listbugs, in caso di bug rilevati, viene chiesto cosa fare. | |||
Le opzioni disponibili sono:<br/> | |||
; y : Continua l'installazione ignorando i bug trovati;<br/> | |||
; n : Interrompe immediatamente l'installazione;<br/> | |||
; <num> : Inserendo il numero del bug (quello preceduto da #) al posto di è possibile ottenere maggioni informazioni riguardo il bug;<br/> | |||
; r : Mostra la lista dei bug (comodo dopo la visualizzazione dei dettagli, ad esempio);<br/> | |||
; p : Esegui il pinning di tutti i pacchetti segnalati nel bug report (cioè lo 'blocca' e non lo installa); questa opzione richiede l'uscita da '''apt-get''' e una riesecuzione del comando di installazione/aggiornamento precedentemente lanciato;<br/> | |||
; p <pkg> : Esegue il pinning del pacchetto indicato;<br/> | |||
; i : Ignora il bug corrispondente a (per evitare il pinning di pacchetti il cui bug è segnato come "done";<br/> | |||
; ? : Mostra un piccolo help con le opzioni utilizzabili;<br/> | |||
; w : Mostra il report bug in html (mai usato...). | |||
Il funzionamento, quindi, è molto semplice! | |||
Basta leggere con attenzione la lista dei bug riscontrati ed agire di conseguenza! | |||
Ricordo che, nel caso di pinning di anche un solo pacchetto, è necessario ricominciare il processo di aggiornamento/installazione... | |||
In caso di pinning di uno o più pacchetti, è necessario (al prossimo aggiornamento) rimuoverlo da '''/etc/apt/preferences''': | |||
Nel file '''/etc/apt/preferences''', ad esempio, trovo questo blocco relativo a postfix (prima l'ho pinnato, visto che il bug comprometteva gravemente il funzionamento): | |||
<pre> | <pre> | ||
Explanation: Pinned by apt-listbugs at Mon Jan 31 22:17:38 CET 2005 | |||
# | Explanation: #288728: postfix gives up with warning: no MX host for xxxx.com has a valid | ||
A record | |||
Explanation: #285111: postfix: newaliases not working due to some library problem | |||
Explanation: #291031: postfix: Upgrade from Postfix 2.1.4-5 to 2.1.5-4 fails #3 | |||
Explanation: #292086: stock installed master.cf file causes postfix to fail to start | |||
Package: postfix | |||
Pin: version 2.1.4-5 | |||
Pin-Priority: 1000 | |||
</pre> | </pre> | ||
al prossimo aggiornamento, per controllare se sono presenti nuove versioni di postfix, dovrò rimuovere queste indicazioni, altrimenti il pacchetto in questione verrà assunto sempre come 'aggiornato'. | |||
( | Se non sono mai state fatte modifiche al file '''/etc/apt/preferences''' (soprattutto per quanto riguarda pinning per l'utilizzo di più release insieme) lo si può tranquillamente eliminare prima di ogni aggiornamento. | ||
L'utilizzo di apt-listbugs in modo manuale (richiamandolo direttamente da shell) è inutile, ma può servire (seguito dal parametro -h oppure consultando il manuale (man apt-listbugs)) per modificare il comportamento del programma (i parametri possono essere modificati nel file '''/etc/apt/apt.conf.d/10apt-listbugs''', anche se raccomando l'utilizzo delle opzioni di default, che fino ad ora si sono rivelate le migliori. | |||
==Conclusione== | |||
apt-listbugs è senza dubbio uno strumento utilissimo, in quanto previene l'installazione di pacchetti che possono rendere inusabile o instabile la nostra Debian Box. | |||
Ovviamente non viene a sostituire le normali visite al sito http://bugs.debian.org, dove sono elencati tutti i bug di tutti i pacchetti presenti in Debian (che invito a controllare prima di chiedere aiuto per un comportamento strano di una applicazione). | |||
---- [[User:MaXeR|MaXeR]] | ---- [[User:MaXeR|MaXeR]] | ||
[[Categoria:Apt]] |
contributi