3 581
contributi
(→I file di indice: aggiornamento comando sostitutivo apt-ftparchive) |
(→Uso in locale: allow-insecure per un repository locale non firmato) |
||
(14 versioni intermedie di 4 utenti non mostrate) | |||
Riga 3: | Riga 3: | ||
|successivo=Gestione di un repository con debarchiver | |successivo=Gestione di un repository con debarchiver | ||
}} | }} | ||
{{Versioni compatibili}} | {{Versioni compatibili|Squeeze|Wheezy|Jessie}} | ||
== Introduzione == | == Introduzione == | ||
La creazione di un repository Debian personale può essere utile nel caso si vogliano rendere disponibili per l'installazione tramite l'[[Introduzione all' | La creazione di un repository Debian personale può essere utile nel caso si vogliano rendere disponibili per l'installazione tramite l'[[Introduzione all'APT System|APT System]] i pacchetti <code>.deb</code> 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: | Esistono fondamentalmente due diversi approcci alla creazione di un repository: | ||
Riga 81: | Riga 80: | ||
=== I file di Release === | === I file di Release === | ||
Se volete poter usare il | Se volete poter usare il [[pinning]] o permetterne l'uso agli utenti del vostro repository, una volta creati i file <code>Packages.gz</code> e <code>Sources.gz</code>, dovete necessariamente creare un file apposito in ciascuna directory del vostro repository. | ||
Questi file sono chiamati file <code>'''Release'''</code>, sono normali file di testo ed hanno una struttura del tipo: | Questi file sono chiamati file <code>'''Release'''</code>, sono normali file di testo ed hanno una struttura del tipo: | ||
Riga 126: | Riga 125: | ||
In questo esempio abbiamo creato il repository nella directory <code>~/debian</code> e cioè nella directory <code>debian</code> all'interno della nostra home. Dovremo quindi aggiungere al file <code>/etc/apt/sources.list</code> due linee così composte: | In questo esempio abbiamo creato il repository nella directory <code>~/debian</code> e cioè nella directory <code>debian</code> all'interno della nostra home. Dovremo quindi aggiungere al file <code>/etc/apt/sources.list</code> due linee così composte: | ||
<pre> | <pre> | ||
deb file:///home/utente/debian binary/ | deb [allow-insecure=yes] file:///home/utente/debian binary/ | ||
deb-src file:///home/utente/debian source/ | deb-src [allow-insecure=yes] file:///home/utente/debian source/ | ||
</pre> | </pre> | ||
dove, alla parola ''utente'' dovete sostituire lo username dell'utente nella cui home risiede il repository. | dove, alla parola ''utente'' dovete sostituire lo username dell'utente nella cui home risiede il repository. L'uso di <code>allow-insecure=yes</code> permette l'uso di un repository non firmato e/o la cui chiave pubblica corrispondente non è stata aggiunta alle chiavi fidate di APT. | ||
Una volta fatto questo lanciate: | Una volta fatto questo lanciate: | ||
Riga 204: | Riga 203: | ||
Per il test e l'ordine con cui i pacchetti vengono installati da APT, vi rimando alla lettura del [[#Uso_in_locale|paragrafo precedente]] | Per il test e l'ordine con cui i pacchetti vengono installati da APT, vi rimando alla lettura del [[#Uso_in_locale|paragrafo precedente]] | ||
== | == Repository ufficiale == | ||
Per | === Configurazione repository === | ||
Per creare un repository ufficiale (fatto a regola d'arte, come quello di debian) per prima cosa installiamo il programma reprepro con il comando: | |||
<pre># apt-get install reprepro</pre> | |||
in seguito scegliamo il percorso dove creare il nostro repo (nella guida sarà indicato come ~/debian/) quindi creiamo la cartella e posizioniamovici dentro: | |||
<pre>$ mkdir ~/debian/ | |||
$ cd ~/debian/</pre> | |||
Ora dobbiamo creare un file di configurazione per reprepro quindi: | |||
<pre>$ mkdir conf | |||
$ cd conf</pre> | |||
dentro creiamo un file chiamato distributions e riempiamolo nel seguente modo: | |||
<pre>Origin: nomeMioRepo | |||
Label: Etichetta nomeMioRepo | |||
Suite: unstable | |||
Codename: sid | |||
Architectures: amd64 | |||
Components: main | |||
Description: Unofficial Debian packages | |||
SignWith: myKeyId | |||
</pre> | |||
{{Warningbox|Al posto di myKeyId bisogna insere l'id della chiave GPG creata appositamente per firmare i pacchetti.}} | |||
ora riposizioniamoci nella cartella debian dando il comando: | |||
<pre>cd ~/debian</pre> | |||
facciamo creare i file necessari con: | |||
<pre>reprepro check</pre> | |||
per aggiungere un pacchetto al repo: | |||
<pre>reprepro includedeb unstable /tmp/mypackage_1.1.1-1_all.deb</pre> | |||
per rimuoverlo: | |||
<pre>reprepro remove unstable mypackage</pre> | |||
Provvedere a mettere online il repository rendendo accessibile da un server web la cartella debian escludendo le directory db e conf, quindi modificare il file <code>/etc/apt/sources.list</code> aggiungendo la seguente riga: | |||
<pre>deb http://www.tuSito.do/debian/ sid main</pre> | |||
{{Suggerimento|Per impedire l'accesso alle directory db e conf si potrebbe creare all'interno di ciascune di essa un file .htaccess contentente:<pre>deny from all</pre>}} | |||
=== Creazione pacchetto chiave GPG === | |||
Per prima cosa esportiamo la nostra chiave con | |||
<pre>gpg --export myKeyId > myrepo-debian-key.gpg</pre> | |||
In seguito creiamo il seguente alvero di directory (si ricorda che control e myrepo-debian-key.gpg sono files): | |||
<pre> | |||
├── DEBIAN | |||
│ └── control | |||
└── etc | |||
└── apt | |||
└── trusted.gpg.d | |||
└── myrepo-debian-key.gpg | |||
</pre> | |||
Inserire all'interno del file control: | |||
<pre>Package: myrepo-archive-keyring | |||
Version: 2014.4 | |||
Architecture: all | |||
Maintainer: yourNick <mail@domain.do> | |||
Depends: gpgv | |||
Recommends: gnupg | |||
Breaks: apt (<< 0.7.25.1) | |||
Section: misc | |||
Priority: important | |||
Multi-Arch: foreign | |||
Description: GnuPG archive keys of the archive archive | |||
The archive project digitally signs its Release files. This package | |||
contains the archive keys used for that. | |||
</pre> | |||
Il file myrepo-debian-key.gpg è il file precedentemente creato con GPG. | |||
Posizionarsi all'esterno della directory pkg e lanciare i seguenti comandi: | |||
<pre> | |||
# chown -R root:root ./pkg | |||
$ dpkg-deb -b ./pkg myrepo-archive-keyring_2014.4_all.deb | |||
</pre> | |||
Il pacchetto contiene la chiave per autenticare il repository. | |||
{{Autori | {{Autori | ||
|Autore=[[Utente:Keltik|Keltik]] 09:20, Giu 26, 2005 (EDT) | |Autore=[[Utente:Keltik|Keltik]] 09:20, Giu 26, 2005 (EDT) | ||
|Verificata_da= | |||
: [[Utente:Tima|Tima]] 10:41, 16 mag 2013 (CEST) | |||
: [[Utente:Marcomg|marcomg]] 17:50, 23 mag 2014 (CEST) | |||
|Estesa_da= | |||
: [[Utente:Marcomg|marcomg]] | |||
|Numero_revisori=2 | |||
}} | }} | ||
[[Categoria:Creare repository]] | [[Categoria:Creare repository]] |
contributi