h1

Ufed: perche’ scomodarsi ad editare manualmente le USE Flags?

24 Febbraio , 2007

Editare le USE e’ un’azione frequente nell’aministrazione della nostra Gentoo-Box. Vediamo come gestire il tutto al meglio e comodamente.


Al solito, introduzione :)

La variabile USE e’ molto importante in una Gentoo-Box. Grazia ad essa e’ possibile compilare gli applicativi abilitando o disabilitando eventuali elementi degli stessi come funzionalita’ aggiuntive, collegamenti con altri applicativi, supporto a specifiche librerie. E’ una funzionalita’ molto potente, in quanto permette un totale controllo su quello che verra’ installato e, molto spesso evitera’ molte dipendenze inutili e sprechi anche di spazio su HD ( anche se la tecnologia lo permette, perche’ sprecarlo? ). Di default, in base al profilo, sono attivate automaticamente aclune flags, ma e’ possibile poi scegliere secondo le nostre esigenze. Esistono delle USE Flags “Globali”, definite per tutti i packages, che sono quelle dichiarate nel file /etc/make.conf, e delle USE Flags “Locali”, ovvero definite per un singolo pacchetto ma… facciamo un esempio:

Vogliamo la gui di lshw e non abbiamo gtk nelle USE Flags “Globali” per nostra scelta. Se attivassimo gtk nella USE Globale, tutti i pacchetti con “la possibilita’ di quella USE Flag” vorrebbero essere ricompilati per aggiungere il supporto a gtk. Non e’ questo che vogliamo. La soluzione e’ inserire nel file /etc/portage/package.use la riga sys-apps/lshw gtk. In questo modo solo lshw verra’ compilato con il supporto a gtk.

package.use puo’ essere molto utile quando viceversa vogliamo disattivare localmente una USE Flag definita globalmente, ad esempio disattiviamo il supporto a java per firefox:

www-client/mozilla-firefox-bin -java

Dove invece java era presente nelle USE globali.

Terminata questa piccola introduzione, veniamo alla modifica della variabile USE :) : come modificarla?

Il metodo “a manina” prevede di editare manualmente il famoso/pericoloso file /etc/make.conf. ( ad esempio non provate mai a cambiare la variabile CHOST senza sapere cosa state facendo )

Oltre ad essere una pratica scomoda, non consente di avere un buon controllo ad esempio sul significato di alcune flag e, quando iniziano a diventare un numero consistente, puo’ generare confusione e portare via tempo nella ricerca dell’USE desiderata ( vi sfido a mantenerla ordinata in ordine alfabetico a manina con almeno 50 flags :D ).

Ed ecco che interviene ufed.

ufed e’ l’acronimo di USE Flags EDitor, e che dire..fa solo questo e lo fa bene! La filosofia e’ certamente in linea con quella *nix.

E’ un programma scritto in perl che fa uso delle ncurses e dotato di un’ottima usabilita’ ( migliorata nelle ultime versioni ) grazie a cui, digitando le prime lettere, ci consente rapidamente di abilitare/disabilitare ( basta usare la barra spaziatrice ) una determinata USE e uscire al volo premendo enter e nuovamente enter per confermare, il tutto senza toccare /etc/make.conf direttamente.

Oltretutto consente di avere sottomano anche il significato di tutte le USE ed eventualmente, se ha valori diversi per packages diversi, le spiegazioni separate relative ad ognuno di essi. Comodo vero?

Al solito, se non lo conoscete gia’, vi invito ad una rapida prova:

root@ # emerge ufed

root@ # ufed

ed ecco come dovrebbe apparirvi (sempre click per ingrandire ^^):

Ufed

pronto alle modifiche secondo le vostre esigenze.

Per concludere anche il discorso con l’introduzione alle USE flags sappiate che le modifiche apportate non sono immediate, ma verranno applicate solo alla successiva ricompilazione dei pacchetto con tali USE Flags. Se volete aggiornare tutti i pacchetti, secondo la scelta di USE flags che avete operato, e’ sufficiente aggiungere ad emerge l’opzione –newuse ( o -N in versione contratta ) :

root@ # emerge –ask –verbose –update –deep –newuse world

o in versione contratta

root@ # emerge -avuDN world

e avrete tutti i packages che e’ necessario ricompilare, in quanto non allineati con l’attuale configurazione di USE flags.

Al solito, vi rimando ai sempre utili man per eventuali approfondimenti ^^.

7 commenti

  1. ciao
    se mi permetti un ottimo articolo
    grazie
    Gentoo rulez -))))


  2. @lopio
    Grazie mille :) e concordo sul Gentoo rulez XD.. lo ripeto sempre.. che ci posso fare.. e’ amore :D


  3. Non saprei dirti esattamente quale fosse la fonte, ma mi è stato detto che ufed è un pochino “rotto”… L’altra cosa che potrebbe interessare è che si può aggiungere/togliere una useflag da /etc/make.conf anche senza editare direttamente il file:
    # euse -E gtk
    ad esempio, aggiunge la useflag ‘gtk’ a /etc/make.conf, mentre
    # euse -D gtk
    la leva. “E” sta per enable mentre “D” per disable.

    euse è parte del pacchetto app-portage/gentoolkit.

    Ciao.


  4. Sorry, una piccola precisazione: euse -D disabilita la useflags, (==’-gtk’ nel caso di prima).


  5. @syntaxerrormm
    Si, conosco euse ma lo trovo utile solo per inserimenti al volo, in quanto lo stesso non mi offre una panoramica generale.
    Per quanto riguarda eventuali problemi con ufed, a me non ne ha mai dati ma, vedro’ di informarmi in proposito ;) .


  6. > in quanto lo stesso non mi offre una panoramica generale.

    Proprio sicuro?
    $ euse -i gtk

    :)


  7. @ syntaxerrormmm
    ehm. non mi devo essere spiegato ^^..
    diciamo che voglio avere tutte le USE flags davanti con loro relativa spiegazione :P .. questo intendo come panoramica :D ..
    Mi ripeto.. conosco a fondo sia ufed che euse da molto tempo.. e preferisco ufed ^^.
    [CUT.. volevo scrivere un'altra cosa come avviso generale (che non centrava niente con il commento precedente) qui per evitare di scrivere un post per una cosa piccola... ma poi mi sono messo a scrivere... ed e' uscito abbastanza XD..faro' un post ;) ]



Lascia un Commento