martedì 24 luglio 2007

Creare un repository APT in locale

Certe volte mi capita di scaricare un programma sottoforma di pacchetto .deb e, provando ad installarlo, ottengo problemi di dipendenze e magari mi tocca installare uno ad uno vari pacchetti.
E' per questo che scaricando i pacchetti .deb li inserisco in un mio personale repository APT in locale in tal modo APT soddisfa per me le dipendenze richieste.

Vediamo ora come creare il nostro repository in locale:

Inanzi tutto portiamoci in una directory dove creeremo la directory madre del nostro repository:

cd /home/balloto/

Ovviamente la cartella dove situare il nostro repository potete sceglierla come più vi pare o piace.Dopodichè creiamo la cartella per il repository creandola(per esempio) "myrepo":

mkdir myrepo

Bene!La base per il nostro repository è pronta!
Come ben sapete ogni repository contiene due cartelle: binary (per i file .deb) e source (per i file sorgenti) ovviamente nel nostro repository locale possiamo scegliere di mettere solo i .deb senza i sorgenti per non occupare spazio!

Dunque creiamo le cartelle sopracitate con 2-3 semplici comandi:

cd myrepo
mkdir binary
mkdir source

Bene il nostro repository è quasi completo!Non ci basta che inserire i pacchetti .deb nella directory "binary" e i sorgenti(se vogliamo) nella directory "source"
Una volta fatto dobbiamo generare "l'albero" del repository (il file Sources.gz) e proseguiamo in questo modo:

Per creare il file Sources.gz per la cartella binary dovete dare il comando:

dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

Mentre per il file Sources.gs della cartella sources il comando è:

dpkg-scansources source /dev/null | gzip -9c > source/Sources.gz

NB: Questi ultimi due comandi bisogna ripeterli ogni volta che inseriamo un pacchetto .deb o un sorgente per ricreare il file Sources.gz che contiene le informazioni.

Bene abbiamo finito!Ma come possiamo far capire ad APT di attingere anche dalla nostra cartella?Presto fatto!
Apriamo con un editor a nostra scelta (gedit, vim, nano, kedit etc etc) il file /etc/apt/sources.list

sudo gedit /etc/apt/sources.list

Ed a fine file aggiungiamo questa due semplici righe:

deb file:///home/balloto/myrepo binary/
deb-src file:///home/balloto/myrepo source/

Salviamo e chiudiamo, diamo un bel

sudo apt-get update

Ed il nostro repository è pronto per essere utilizzato!

Ciao!

PS Commentate pure :D.Sono sempre gradite le segnalazioni di errore e/o consigli!!

1 commento:

Anonimo ha detto...

ciao, ottima guida grazie, ma mi kiedevo... a ke serve la cartella pool e dist ke ho trovato sfruguliando qua e là fra i repository?