2018 Creare Un Repository Debian

Da Guide@Debianizzati.Org.

2 Indice

2 Introduzione

La creazione di un repository Debian personale può essere utile nel caso si vogliano rendere disponibili per l'installazione tramite l'APT System i pacchetti .deb creati da noi. Il repository così creato può essere utilizzato all'interno della nostra LAN, oppure reso accessibile a un gran numero di utenti tramite Internet. Esistono fondamentalmente due diversi approcci alla creazione di un repository:

e per quello source:

> $ cat ~/debian/source/Release Archive: unstable Component: main Origin: keltik Label: Repository di esempio Architecture: source <<

3 Uso del repository

Uso in locale Finalmente è venuto il momento di mettere alla prova il nostro repository. Già fin d'ora possiamo utilizzarlo così com'è in locale sulla nostra macchina: tutto quello che dobbiamo fare consiste nell'aggiungere al nostro file /etc/ apt/sources.list l'URI attraverso il quale reperire i pacchetti. In questo esempio abbiamo creato il repository nella directory ~/debian e cioè nella directory debian all'interno della nostra home. Dovremo quindi aggiungere al file /etc/apt/sources.list due linee così composte: deb file:///home/utente/debian binary/ deb-src file:///home/utente/debian source/ dove, alla parola utente dovete sostituire lo username dell'utente nella cui home risiede il repository. Una volta fatto questo lanciate:

# apt-get update

per rigenerare la lista degli indici di APT. Ora vediamo se il nostro repository funziona. Iniziamo con il cercare il pacchetto apt. Il comando da impartire è: $ apt-cache show apt Se tutto ha funzionato dovremmo ottenere come risultato due diversi pacchetti: entrambi si chiamano apt, entrambi hanno numero di versione 0.5.28.6, ecc. Per capire se e quale proviene dal nostro repository dobbiamo andare a controllare la voce Filename. Nel caso del pacchetto proveniente dal repository ufficiale di Debian avremo: [ ... omissis ...] Filename: pool/main/a/apt/apt_0.5.28.6_i386.deb [ ... omissis ...] mentre per il pacchetto proveniente dal nostro repository avremo: [ ... omissis ...] Filename: binary/apt_0.5.28.6_i386.deb [ ... omissis ...] Per fare in modo che il nostro repository sia usato come preferenziale rispetto agli altri possiamo inserire nel file /etc/apt/sources.list le linee ad esso relativo all'inizio del file, prima di tutti gli altri repository. In questo modo, quando impartiamo il comando:

# apt-get install nome_pacchetto

APT provvederà ad installare quello fornito dal repository elencato per primo in /etc/apt/sources.list. Ecco l'esempio sempre relativo ad apt:

# apt-get install apt -s
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso... Fatto
Pacchetti suggeriti:
aptitude apt-doc
I seguenti pacchetti saranno aggiornati:
apt

1 aggiornati, 0 installati, 0 da rimuovere e 1 non aggiornati. Inst apt [0.5.28.6] (0.5.28.6 Repository di esempio:unstable) Conf apt (0.5.28.6 Repository di esempio:unstable) Nelle ultime due linee possiamo notare come la provenienza del pacchetto sia Repository di esempio:unstable come indicato nel nostro file Release.

3 Uso in rete (http)

Rendere disponibile in rete il repository che abbiamo appena creato è un'operazione estremamente semplice. Non dovremo fare altro che copiare la root del repository in una directory accessibile al nostro server web ed indicare l'URI corretto nei file /etc/apt/sources.list delle macchine che dovranno accedere ad esso. Nel caso in cui stiamo usando Apache e la DocumentRoot sia /var/www sarà sufficiente impartire:

# cp -R /home/utente/debian/ /var/www/

Ora dobbiamo modificare i file /etc/apt/sources.list in modo che puntino a questo repository. Poniamo che il server che mette a disposizione il repositry abbia il FQDN debian.prova.net. La sintassi da utilizzare in /etc/apt/sources.list è la seguente: deb http://debian.prova.net/debian/ binary/ deb-src http://debian.prova.net/debian/ source/ Dobbiamo fare estrema attenzione agli slash ("/") perché hanno un uso preciso all'interno di /etc/apt/sources.list. Nel nostro caso è necessario che sia l'URL (http://debian.prova.net/debian) sia l' archivio (binary o source) termini con un "/", altrimenti otterremo un errore di questo tipo:

# apt-get update

E: La linea x in /etc/apt/sources.list (dist parse) non è corretta Se abbiamo invece scritto correttamente, quando lanceremo apt-get update, vedremo APT dialogare con il nostro web server e reperire l'elenco dei nostri pacchetti:

# apt-get update
Get:1 http://debian.prova.net binary/ Packages [1377B]
Get:2 http://debian.prova.net binary/ Release [97B]
Get:3 http://debian.prova.net source/ Sources [412B]
Get:4 http://debian.prova.net source/ Release [100B]

Per il test e l'ordine con cui i pacchetti vengono installati da APT, vi rimando alla lettura del paragrafo_precedente

2 Procedura automatizzata

Per automatizzare il processo di creazione di un mirror, si può ricorrere a Debmirror.

--Keltik 09:20, Giu 26, 2005 (EDT) Estratto da http://guide.debianizzati.org/ [Attribuzione - Non commerciale - Share Alike]