|
|
Riga 1: |
Riga 1: |
| ==Introduzione==
| | Spesso abbiamo la necessit� di installare la nuova versione di un pacchetto di cui proprio non possiamo fare a meno, che non � disponibile per il rilascio di Debian che abbiamo installato. |
|
| |
|
| Spesso ci � capitato di installare dei pacchetti contenenti dei bug, conosciuti anche prima del nostro download.
| | Il caso pi� frequente � probabilmente quello di un' installazione di Sarge con la necessit� di installare anche pacchetti presenti solo in Unstable o in Experimental, oppure di voler usare un repository con pacchetti particolari, ma compilati per una release di Debian diversa dalla nostra. |
| 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!
| |
|
| |
|
| | APT nostro fido alleato anche in questi frangenti, permettendoci di utilizzare fonti per pacchetti di releases diverse (e soddisfarne le dipendenze) senza costringerci ad un upgrade dell' intera distribuzione e senza dover impazzire per risolvere conflitti e incosistenze. |
|
| |
|
| ==Installazione==
| | Per prima cosa dobbiamo preparare due files normalmente non presenti sulla nostra debianbox: si tratta dei file preferences e apt.conf. |
| | | Questi due file istruiranno APT su come gestire le dipendenze dei pacchetti, informandolo su come comportarsi in caso di conflitti e altri problemi. |
| Per installare apt-listbugs, � sufficiente un | |
| <pre>
| |
| # apt-get install apt-listbugs
| |
| </pre>
| |
|
| |
|
| | In questo how-to mostrer come far convivere Sarge e Sid sulla stessa macchina, ma le istruzioni sono facilmente riportabili anche ad altre situazioni (unstable + experimental, woody + sarge, woody + unstable, woody + sarge + sid, ecc...). |
|
| |
|
| ==Configurazione==
| | Assicuriamoci di essere l' utente root e procediamo. |
|
| |
|
| 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).
| | Creiamo il file preferences: |
| 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
| | # touch /etc/apt/preferences |
| 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> |
|
| |
|
| | editiamolo col nostro editor di fiducia e inseriamo queste direttive: |
|
| |
|
| 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/>
| | <pre> |
| '''<done>''' rappresenta un bug corretto<br/>
| | Package: * |
| '''<open>''' rappresenta un bug ancora aperto<br/>
| | Pin: release a=unstable |
| | Pin-Priority: 650 |
|
| |
|
| Ecco una tabella riassuntiva delle categorie in cui sono divisi i bug:
| | Package: * |
| ; 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/>
| | Pin: release a=testing |
| ; 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/>
| | Pin-Priority: 600 |
| ; 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/>
| | </pre> |
| ; 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)
| |
|
| |
|
| | Ora creiamo il file apt-conf |
|
| |
|
| Apt-listbugs ci mostra prevalentemente quelli appartenenti alle prime due categorie.
| | <pre> |
| | | # touch /etc/apt/apt.conf |
| Tornando ad apt-listbugs, in caso di bug rilevati, viene chiesto cosa fare.
| | </pre> |
| 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!
| | editiamolo inserendo quanto segue: |
| 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
| | APT::Default-Release "unstable"; |
| Explanation: #288728: postfix gives up with warning: no MX host for xxxx.com has a valid
| | APT::Cache-Limit 10000000; |
| A record
| | Apt::Get::Purge; |
| Explanation: #285111: postfix: newaliases not working due to some library problem
| | APT::Clean-Installed; |
| Explanation: #291031: postfix: Upgrade from Postfix 2.1.4-5 to 2.1.5-4 fails #3
| | APT::Get::Fix-Broken; |
| Explanation: #292086: stock installed master.cf file causes postfix to fail to start
| | APT::Get::Fix-Missing; |
| Package: postfix
| | APT::Get::Show-Upgraded "true"; |
| Pin: version 2.1.4-5
| |
| Pin-Priority: 1000
| |
| </pre> | | </pre> |
|
| |
|
| | Ora non ci resta che aggiungere i repository necessari al file /etc/apt/sources.list assicurandoci di avere un repositry per Sarge ed uno per Sid. |
|
| |
|
| 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'.
| | Facciamo l' update del database dei pacchetti: |
| 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.
| |
|
| |
|
| | <pre> |
| | # apt-get update |
| | </pre> |
|
| |
|
| 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.
| | D'ora in avanti avremo due possibilit� per installare un nuovo pacchetto: il metodo che usiamo di solito e cio� apt-get install nome_pacchetto oppure il comando apt-get install -t versione_di_debian nome_pacchetto che provveder� a installare il pacchetto da noi richiesto per la versione specificata (versione_debian), risolvendo automaticamente le dipendenze. |
| | |
| ==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).
| |
|
| |
|
| | Happy debian! |
|
| |
|
| ---- [[User:MaXeR|MaXeR]]
| | : [[User:Keltik|Keltik]] |
| [[Categoria:Apt]]
| |