Gestire un Repository (sia locale che remoto)

No Gravatar

Questa mini guida vuol essere utile, seppur molto semplificata, a chi ha necessità di crearsi un proprio repository personale (sia per una propria distribuzione derivata da ubuntu, sia per ordinare il proprio lavoro di pacchettizzatore folle e rendere disponibile il risultato del tempo speso sia a se che alla rete in modo consono :P ).

Ebbene il lavoro da fare è molto semplice:
innanzitutto creiamo la struttura del nostro repository. Dopo esserci spostati nel path da noi prescelto (qui farò riferimento a /home/ragnarok, la home del mio utente sul laptop) diamo i seguenti comandi:

$ mkdir miorepo
$ cd miorepo
$ mkdir binary
$ mkdir source
$ touch indice

In questo modo avremo pronta una struttura del tipo:

miorepo
indice
- binary
- source

Come potete immaginarvi all’interno delle directory binary e source andranno rispettivamente inseriti i relativi pacchetti binari e sorgenti che vogliamo aggiungere al nostro repository.

Il file indice che abbiamo creato (avremo potuto chiamarlo in qualsiasi altro modo) non è fondamentale ma è molto comodo per gestire l’insieme dei pacchetti presenti all’interno del repo.

Dopo aver inserito i pacchetti aprite tale file e scrivete un entry per ogni pacchetto che del tipo:

nome_pacchetto priorità_pacchetto categoria_pacchetto

L’ultima colonna (categoria_pacchetto) servirà a synaptic per decidere in quale categoria inserire i deb presenti nel repository per organizzarne la ricerca.

Adesso procediamo alla creazione dei file Packages.gz e Sources.gz (rispettivamente all’interno delle cartelle binary e source). Per portare a termine tale operazione sono sufficienti i seguenti comandi (dati dall’interno della cartella miorepo):

$ dpkg-scanpackages binary indice | gzip -9c > binary/Packages.gz
$
dpkg-scansources source indice | gzip -9c > source/Sources.gz

Nel caso aveste deciso di non creare il file indice nei comandi recedenti sostituitelo con /dev/null.

Il nostro repository è adesso pronto! Ricordate solo che ogni volta che aggiungete un pacchetto, sia questo binario o sorgente, dovete necessariamente ricreare i due file precedenti e, se presente, aggiornare il file indice.

Unica cosa che rimane da fare è modificare il file /etc/apt/sources.list .
Se il repository è locale dovremo inserire, nel nostro caso, una entry del tipo:

deb file:///home/ragnarok/miorepo binary/
deb-src file:///home/ragnarok/miorepo source/

Altrimenti se decidiamo di renderlo disponibile in rete (copiando tutta la struttura appena creata, compreso indice e file Packages.gze Sources.gz sul nostro spazio web, ad esempio nella root del nostro sito) dovremo aggiungere le entry:

deb http://www.miositoweb.org/miorepo binary/
deb-src http://www.miositoweb.org/miorepo source/

Adesso i nostri pacchetti sono disponibili a chiunque conosca la loro ubicazione! :)

Popularity: 12% [?]

Tags: , , , , ,


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

2 Responses to “Gestire un Repository (sia locale che remoto)”

  1. Complimenti, davvero utile e interessante.
    Avevo una mezza idea di fare di fare un piccolo repo “per gli amici” con roba che non si trova in .deb o si trova obsoleta.
    Grazie :P

    P.S.: Ora mi vado a fare un giro nel tuo blog, chissà che non trovi altra roba interessante ;)

  2. Grazie per il commento Churli :) Spero tu riesca a trovare qualcosa di interessante nei post precedenti!
    Ciao!!

Leave a Reply