3 581
contributi
Nessun oggetto della modifica |
(→Uso in locale: allow-insecure per un repository locale non firmato) |
||
(20 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Repository | ||
|precedente=Immagini iso Debian da usare come repository | |||
|successivo=Gestione di un repository con debarchiver | |||
}} | |||
{{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 59: | Riga 61: | ||
apt apt-best apt-doc apt-utils libapt-pkg-dev libapt-pkg-doc | apt apt-best apt-doc apt-utils libapt-pkg-dev libapt-pkg-doc | ||
Wrote 6 entries to output Packages file. | Wrote 6 entries to output Packages file. | ||
$ ls ~/debian/binary/ |grep Packages | |||
Packages.gz | |||
</pre> | |||
Per la creazione del file indice <code>Packages.gz</code> in Wheezy: | |||
<pre> | |||
$ cd ~/debian | |||
$ apt-ftparchive packages binary | gzip > binary/Packages.gz | |||
$ ls ~/debian/binary/ |grep Packages | $ ls ~/debian/binary/ |grep Packages | ||
Packages.gz | Packages.gz | ||
Riga 71: | 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 116: | 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 194: | 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 === | ||
--[[Utente:Keltik|Keltik]] 09:20, Giu 26, 2005 (EDT) | 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 | |||
|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