Creare un Repository Debian: differenze tra le versioni

→‎Uso in locale: allow-insecure per un repository locale non firmato
Nessun oggetto della modifica
(→‎Uso in locale: allow-insecure per un repository locale non firmato)
 
(8 versioni intermedie di 3 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' 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.
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 80: Riga 80:


=== I file di Release ===
=== I file di Release ===
Se volete poter usare il pinning (''cfr.: [[APT uso avanzato: mixare releases diverse]]'') 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.
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 125: 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 235: Riga 235:
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:
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>
<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 ===
=== Creazione pacchetto chiave GPG ===
Per prima cosa esportiamo la nostra chiave con
Per prima cosa esportiamo la nostra chiave con
<pre>gpg --export myKeyId > myrepo-debian-key.gpg</pre>
<pre>gpg --export myKeyId > myrepo-debian-key.gpg</pre>
In seguito creiamo una directory chiamata pkg e creiamo all'interno unl'altra directory chiamata DEBIAN e inoltre un'altra chiamata etc/apt/trusted.gpg.d, per maggior chiarimento ecco l'albero:
In seguito creiamo il seguente alvero di directory (si ricorda che control e myrepo-debian-key.gpg sono files):
<pre>
<pre>
-pkg
├── DEBIAN
  |
│   └── control
  -DEBIAN
└── etc
  |
     └── apt
  -etc
        └── trusted.gpg.d
     |
            └── myrepo-debian-key.gpg
    -apt
      |
      -trusted.gpg.d
</pre>
</pre>
All'interno della cartella DEBIAN creare un file chiamato control e inserirvi all'interno:
Inserire all'interno del file control:
<pre>Package: emmegi-archive-keyring
<pre>Package: myrepo-archive-keyring
Version: 2014.4
Version: 2014.4
Architecture: all
Architecture: all
Riga 266: Riga 264:
  contains the archive keys used for that.
  contains the archive keys used for that.
</pre>
</pre>
e nella cartella trusted.gpg.d copiare il file precedentemente creato con GPG.
Il file myrepo-debian-key.gpg è il file precedentemente creato con GPG.
Posizionarsi all'esterno della directory pkg e lanciare i seguenti comandi:
Posizionarsi all'esterno della directory pkg e lanciare i seguenti comandi:
<pre>
<pre>
# chown -R root:root ./pkg
# chown -R root:root ./pkg
$ dpkg-deb -b ./pkg archive-archive-keyring_2014.4_all.deb
$ dpkg-deb -b ./pkg myrepo-archive-keyring_2014.4_all.deb
</pre>
</pre>
Il pacchetto contiene la chiave per autenticare il repository.
Il pacchetto contiene la chiave per autenticare il repository.
Riga 277: Riga 275:
|Verificata_da=
|Verificata_da=
: [[Utente:Tima|Tima]] 10:41, 16 mag 2013 (CEST)
: [[Utente:Tima|Tima]] 10:41, 16 mag 2013 (CEST)
: [[Utente:Marcomg|marcomg]] 17:50, 23 mag 2014 (CEST)
|Estesa_da=
|Estesa_da=
: [[Utente:Marcomg|marcomg]] 17:50, 23 mag 2014 (CEST)
: [[Utente:Marcomg|marcomg]]
|Numero_revisori=2
|Numero_revisori=2
}}
}}


[[Categoria:Creare repository]]
[[Categoria:Creare repository]]
3 581

contributi