dknew-grande-maestro: “Sapete cos’è un metapacchetto? No?”
lettori-allievi: “No!”
dknew-grande-maestro: “Un metapacchetto deb è un pacchetto deb, praticamente vuoto, che ha come dipendenze altri pacchetti.”
lettori-allievi: “Come?”
dknew-grande-maestro: “Sì, installare un metapacchetto è come installare una serie di pacchetti che da lui dipendono. Un esempio? “ubuntu-desktop” è un metapacchetto che serve ad installare tutti i pacchetti utili per il desktop ubuntu. Si può dire che un metapacchetto sia un escamotage per installare apps e librerie, in relazione tra loro, senza doverle selezionare ad una ad una. Chiaro?”
lettori-allievi: “Mica tanto… -.-”
dknew-grande-maestro-linux-su-chat-irc: “rtfm :D

Spero di essermi spiegato… :)

Se la mia spiegazione è riuscita e almeno una volta avete desiderato di poter semplicemente scaricare un pacchetto per avere sulla vostra distro, appena installata: tutte le apps che vi servono, tutte le dipendenze per la compilazione di kde4 o e17, tutti i codecs free e non-free… etc etc … i metapacchetti fanno al caso vostro.

Molti di voi penseranno che la creazione di un metapacchetto sia un’impresa per pochi, invece grazie a equivs, un fanstastico tool per metapacchetti deb, chiunque può realizzare il suo “innocuo” metapacchetto fatto in casa!

metapacchettiziamo

Per prima cosa scarichiamo il megafantasticotool: equivs.

OK! Il file che state scaricando è un metapacchetto che risolve semplicemente la dipendenza di equivs, che avreste potuto benissimo installare con apt-get o il vostro gestore di pacchetti. eheheh

Adesso che dovreste avere tutto vediamo come procedere.

Equivs si snoda in due semplici comandi:

  • equivs-control nomefilecontrol

    Si limita a creare un file control generico, che serve a dare le indicazioni su come creare il pacchetto deb e che potete vedere sotto. (Chi di voi già è pratico di pacchetti deb, saprà che il file control è un po’ il “nocciolo del pacchetto”. Però non credo sia adesso il caso di appronfondire…)

    ### Commented entries have reasonable defaults.
    ### Uncomment to edit them.
    Section: misc
    Priority: optional
    Standards-Version: 3.6.2

    Package: <package name; defaults to equivs-dummy>
    # Version: <enter version here; defaults to 1.0>
    # Maintainer: Your Name <yourname@example.com>
    # Pre-Depends: <comma-separated list of packages>
    # Depends: <comma-separated list of packages>
    # Recommends: <comma-separated list of packages>
    # Suggests: <comma-separated list of packages>
    # Provides: <comma-separated list of packages>
    # Replaces: <comma-separated list of packages>
    # Architecture: all
    # Copyright: <copyright file; defaults to GPL2>
    # Changelog: <changelog file; defaults to a generic changelog>
    # Readme: <README.Debian file; defaults to a generic one>
    # Extra-Files: <comma-separated list of additional files for the doc directory>
    Description: <short description; defaults to some wise words>
    long description and info
    .
    second paragraph

    Come potete vedere il tutto è abbastanza intuitivo. Le voci da modificare necessariamente sono: “Package”, “Description” e “Depends”, dove vanno nome pacchetto, descrizione e dipendenze. Ovvio no? ;)

    Se volete fare qualcosina di più serio, potete anche modificare: “Section”, inserendo, così, il pacchetto in una particolare categoria, di modo che sia più facilmente riconoscibile; “Version”, assegnando al pacchetto una numero di versione (nel caso seguissero aggiornamenti) e “Mantainer”, mettedo il vostro nome ed e-mail per la gloria. Altre modifiche sarebbero pressocchè inutili, a meno che non sappiate ciò che volete fare… :D

    !!!RICORDATE: QUANDO CAMBIATE UN’OPZIONE E’ NECESSARIO DECOMMENTARE LA RIGA CHE LA CONTIENE, CANCELLANDO IL CANCELLETTO #.!!!

    Ed eccovi l’esempio:

    ### Commented entries have reasonable defaults.
    ### Uncomment to edit them.
    Section: I miei metapacchetti
    Priority: optional
    Standards-Version: 3.6.2

    Package: metapacchettizzare
    Version: 0.1
    Maintainer: Downknew Wise <downknewwise@gmail.com>
    # Pre-Depends: <comma-separated list of packages>
    Depends: equivs
    # Recommends: <comma-separated list of packages>
    # Suggests: <comma-separated list of packages>
    # Provides: <comma-separated list of packages>
    # Replaces: <comma-separated list of packages>
    Architecture: all
    # Copyright: <copyright file; defaults to GPL2>
    # Changelog: <changelog file; defaults to a generic changelog>
    # Readme: <README.Debian file; defaults to a generic one>
    # Extra-Files: <comma-separated list of additional files for the doc directory>
    Description: Semplice metapacchetto esempio che punta a equivs
    Questo è solo un metapacchetto di esempio che installa il tool per la
    metapacchettizzazione: equivs:
    . #(questo punto serve a cambiare paragrafo e lo spazio prima di ogni riga della descrizione è obbligatorio)
    http://www.dknew.wordpress.com

  • equivs-build nomefilecontrol

    Che realizza il metapacchetto in base al file control prima creato.

meme per gli ubuntu-bloggers

Attendo con ansia che ognuno realizzi i propri metapacchetti.

Anzi, dirò di più, invito tutti i miei colleghi blogger a creare i propri metappacchetti con le apps che installano di solito e che ritengono indispensabili. Sarebbe… interessante!

Ciaoooo



2 Responses to “Personalizzare ubuntu/debian: creare i propri metapacchetti deb con equivs”  

  1. Avevo pensato anche io, qualche mese fa, di fare un metapacchetto dipendente dai miei pacchetti preferiti, ma alla fine ho un po’ desistito :P (erano troppi :D ).

    Comunque penso che prima o poi lo farò, nel caso ti aggiorno!

  2. E’ sempre un piacere!!! :D

    P.S.
    Dal tuo blog non c’è nessun link che va al tuo tumblelog… mhmmm


Leave a Reply