Gestione di un repository con debarchiver: differenze tra le versioni

m
Riga 1: Riga 1:
=Introduzione=
=Introduzione=
[http://packages.debian.org/debarchiver Debarchiver] è uno strumento comodo e potente per poter gestire facilmente un repository Debian ben strutturato e suddiviso. Oltre a questo permette di mantenerlo in ordine (evitando il mantenimento di versioni vecchie) senza richiedere manutenzione da parte dell'amministratore.
[http://packages.debian.org/debarchiver Debarchiver] uno strumento comodo e potente per poter gestire facilmente un repository Debian ben strutturato e suddiviso. Oltre a questo permette di mantenerlo in ordine (evitando il mantenimento di versioni vecchie) senza richiedere manutenzione da parte dell'amministratore.


=Installazione=
=Installazione=
L'installazione è semplice, in quanto il programma è incluso in debian:
L'installazione semplice, in quanto il programma incluso in debian:
<pre>
<pre>
# apt-get install debarchiver
# apt-get install debarchiver
</pre>
</pre>


Raccomando agli utenti di Sarge di installare la versione presente in testing, in quanto molto più aggiornata e funzionale di quella inclusa nella release ''Stable''.
Raccomando agli utenti di Sarge di installare la versione presente in testing, in quanto molto pi� aggiornata e funzionale di quella inclusa nella release ''Stable''.


=Configurazione=
=Configurazione=
Tutta la configurazione di debarchiver è racchiusa in un unico file:'''/etc/debarchiver.conf''', che analizziamo nel dettaglio:
Tutta la configurazione di debarchiver racchiusa in un unico file: '''/etc/debarchiver.conf''', che analizziamo nel dettaglio:


{{Box|Nota Bene:|le opzioni riportate nel file di configurazione sono inizialmente commentate in quanto i valori riportati sono quelli di default.}}
{{Box|Nota Bene:|le opzioni riportate nel file di configurazione sono inizialmente commentate in quanto i valori riportati sono quelli di default.}}
Riga 19: Riga 19:
$inputdir = "/var/lib/debarchiver/incoming";
$inputdir = "/var/lib/debarchiver/incoming";
</pre>
</pre>
Dove verrà creato il repository (''destdir'') e dove vengono inseriti i pacchetti da aggiungere al repository (''inputdir'')
Dove verr� creato il repository (''destdir'') e dove vengono inseriti i pacchetti da aggiungere al repository (''inputdir'')


<pre>
<pre>
Riga 68: Riga 68:
@distributions = ('stable', 'testing', 'unstable');
@distributions = ('stable', 'testing', 'unstable');
</pre>
</pre>
Questa lista indica le release presenti nel repository (in questo caso le 3 release ''stable'', ''testing'' e ''unstable''.
Questa lista indica le release presenti nel repository (in questo caso le 3 release ''stable'', ''testing'' e ''unstable'').




Riga 89: Riga 89:
  @sections = ('main', 'contrib', 'non-free');
  @sections = ('main', 'contrib', 'non-free');
</pre>
</pre>
Indica le sezioni in cui è suddiviso il repository. La sezione ''non-free'' non è più presente nelle release ufficiali Debian a partire dal rilascio di Sarge.
Indica le sezioni in cui suddiviso il repository. La sezione ''non-free'' non � pi� presente nelle release ufficiali Debian a partire dal rilascio di Sarge.


<pre>
<pre>
  @mailtos = ('Maintainer', 'Uploaders', '@knio.it', 'admin@dominio.it');
  @mailtos = ('Maintainer', 'Uploaders', '@knio.it', 'admin@dominio.it');
</pre>
</pre>
Permette di indicare a chi verrà inviata una email di conferma dell'inserimento del pacchetto... è possibile specificare i seguenti parametri:
Permette di indicare a chi verr� inviata una email di conferma dell'inserimento del pacchetto... possibile specificare i seguenti parametri:
; Indirizzo Email : l'email verrà inviata a quel determinato indirizzo email
; Indirizzo Email : l'email verr� inviata a quel determinato indirizzo email
; Indirizzo email incompleto : l'email verrà inviata all'utente proprietario del file usando l'host specificato dopo il simbolo ''@''. Nel caso riportato, se l'utente proprietario del file è ''maxer'', l'email verrà inviata a ''maxer@knio.it''.
; Indirizzo email incompleto : l'email verr� inviata all'utente proprietario del file usando l'host specificato dopo il simbolo ''@''. Nel caso riportato, se l'utente proprietario del file ''maxer'', l'email verr� inviata a ''maxer@knio.it''.
; Stringa senza @ : Verrà usato il valore del campo espresso (nell'esempio vengono utilizzati ''Maintainer'' e ''Uploader'') come indirizzo email.
; Stringa senza @ : Verr� usato il valore del campo espresso (nell'esempio vengono utilizzati ''Maintainer'' e ''Uploader'') come indirizzo email.


<pre>
<pre>
Riga 119: Riga 119:
# $gpgpassfile = "$ENV{HOME}/.gnupg/passphrase";
# $gpgpassfile = "$ENV{HOME}/.gnupg/passphrase";
</pre>
</pre>
Indica il percorso del file contenente la password per l'utilizzo della chiave GPG citata nella spiegazione alla direttiva precendente. Trattandosi di un dato molto importante, è consigliabile usare dei permessi restrittivi, come ad esempio permettendole la lettura solo all'utente ''debarchiver'' (l'utente usato da debarchiver).
Indica il percorso del file contenente la password per l'utilizzo della chiave GPG citata nella spiegazione alla direttiva precedente. Trattandosi di un dato molto importante, consigliabile usare dei permessi restrittivi, come ad esempio permettendone la lettura solo all'utente ''debarchiver'' (l'utente usato da debarchiver).




==Permessi==
==Permessi==
Debarchiver è configurato per lavorare correttamente con i server ftp e web. È impostato, infatti, il permesso di lettura per tutti gli utenti.
Debarchiver configurato per lavorare correttamente con i server ftp e web. impostato, infatti, il permesso di lettura per tutti gli utenti.


Un po' più complessa è, invece, la situazione relativa all'utilizzo della directory ''incoming'' da parte degli utenti. La directory in questione è di proprietà dell'utente root e del gruppo ''debarchiver''. Per abilitare un utente ad utilizzare il sistema, quindi, è necessario aggiungerlo al gruppo:
Un po' pi� complessa , invece, la situazione relativa all'utilizzo della directory ''incoming'' da parte degli utenti. La directory in questione di propriet� dell'utente root e del gruppo ''debarchiver''. Per abilitare un utente ad utilizzare il sistema, quindi, necessario aggiungerlo al gruppo:
<pre>
<pre>
# adduser nomeutente debarchiver
# adduser nomeutente debarchiver
Riga 134: Riga 134:


==Server Web==
==Server Web==
La configurazione di un server web è molto semplice e la si può ricondurre a due situazioni particolari:  
La configurazione di un server web molto semplice e la si pu� ricondurre a due situazioni particolari:  
* configurazione come dominio di livello (Es. http://debian.dominio.it)
* configurazione come dominio di 3� livello (Es. http://debian.dominio.it)
* configurazione come directory in un dominio esistente (Es. http://www.dominio.it/debian)
* configurazione come directory in un dominio esistente (Es. http://www.dominio.it/debian)


===Dominio di livello===
===Dominio di 3� livello===
La configurazione di un dominio di livello dedicato al repository è una scelta molto comoda, secondo me...
La configurazione di un dominio di 3� livello dedicato al repository una scelta molto comoda, secondo me...


È sufficiente, infatti, creare un semplice VirtualHost (Dettagli [http://httpd.apache.org/docs/1.3/vhosts/examples.html Apache1.3] [http://httpd.apache.org/docs/2.0/vhosts/ Apache2.0]) in cui viene indicata come ''DocumentRoot'' la directory '''/var/lib/debarchiver'''.
sufficiente, infatti, creare un semplice VirtualHost (Dettagli [http://httpd.apache.org/docs/1.3/vhosts/examples.html Apache1.3] [http://httpd.apache.org/docs/2.0/vhosts/ Apache2.0]) in cui viene indicata come ''DocumentRoot'' la directory '''/var/lib/debarchiver'''.


Esempio:
Esempio:
Riga 159: Riga 159:


===Directory in un Dominio===
===Directory in un Dominio===
Questa configurazione è senza dubbio la più semplice. Si fa uso della direttiva '''Alias''' (Documentazione Ufficiale [http://httpd.apache.org/docs/1.3/mod/mod_alias.html Apache1.3] - [http://httpd.apache.org/docs/2.0/mod/mod_alias.html Apache2.0]) nel modo seguente:
Questa configurazione senza dubbio la pi� semplice. Si fa uso della direttiva '''Alias''' (Documentazione Ufficiale [http://httpd.apache.org/docs/1.3/mod/mod_alias.html Apache1.3] - [http://httpd.apache.org/docs/2.0/mod/mod_alias.html Apache2.0]) nel modo seguente:


Supponendo di voler rendere accessibile il repository in http://www.dominio.it/debian è sufficiente aggiungere, nella configurazione del VirtualHost in questione
Supponendo di voler rendere accessibile il repository in http://www.dominio.it/debian sufficiente aggiungere, nella configurazione del VirtualHost in questione
<pre>
<pre>
Alias /debian /var/lib/debarchiver
Alias /debian /var/lib/debarchiver
</pre>
</pre>


{{Box|Nota:|per rendere ''sfogliabile'' il repository è consigliabile aggiungere, dopo la dichiarazione precedente, un pezzo di codice simile al seguente:
{{Box|Nota:|per rendere ''sfogliabile'' il repository consigliabile aggiungere, dopo la dichiarazione precedente, un pezzo di codice simile al seguente:
<pre>
<pre>
<Directory /debian>
<Directory /debian>
Riga 176: Riga 176:
Come server ftp viene preso in considerazione [http://www.proftpd.org proftpd], visto che utilizza una configurazione molto simile a quella di Apache.
Come server ftp viene preso in considerazione [http://www.proftpd.org proftpd], visto che utilizza una configurazione molto simile a quella di Apache.


===Dominio di livello===
===Dominio di 3� livello===
Un esempio di configurazione (da inserire all'interno di '''/etc/proftpd.conf''')per l'accesso al repository tramite il protocollo ftp:
Un esempio di configurazione (da inserire all'interno di '''/etc/proftpd.conf''')per l'accesso al repository tramite il protocollo ftp:
<pre>
<pre>
Riga 201: Riga 201:


==Upload dei pacchetti==
==Upload dei pacchetti==
È utile ricordare che esistono dei tool per eseguire correttamente l'upload dei pacchetti.
utile ricordare che esistono dei tool per eseguire correttamente l'upload dei pacchetti.


È necessario, infatti, seguire una procedura particolare: il sistema utilizza i file con estensione ''changes'' come file di lock. Quando si caricano dei pacchetti, il file .changes deve essere l'ultimo ad essere caricato. L'analisi dei pacchetti, infatti, verrà eseguita solo quando questo file sarà presente.
necessario, infatti, seguire una procedura particolare: il sistema utilizza i file con estensione ''changes'' come file di lock. Quando si caricano dei pacchetti, il file .changes deve essere l'ultimo ad essere caricato. L'analisi dei pacchetti, infatti, verr� eseguita solo quando questo file sar� presente.


I tool disponibili sono:
I tool disponibili sono:
Riga 210: Riga 210:


=Conclusione=
=Conclusione=
Debarchiver offre un comodo e funzionale strumento per la gestione automatizzata di un repository Debian di tutto rispetto. Inoltre implementa correttamente la struttura di un repository Debian... una scelta obbligata, insomma, quando si devono gestire un numero di pacchetti maggiore di 3-4 senza dover preoccuparsi delle vecchie versioni (che vengono automaticamente rimosse). Inoltre la flessibilità e la possibilità di avere più suddivisioni (oltre alle classiche ''stable'', ''testing'' e ''unstable'') lo rende perfetto per repository particolari (per i backport, ad esempio).
Debarchiver offre un comodo e funzionale strumento per la gestione automatizzata di un repository Debian di tutto rispetto. Inoltre implementa correttamente la struttura di un repository Debian... una scelta obbligata, insomma, quando si devono gestire un numero di pacchetti maggiore di 3-4 senza dover preoccuparsi delle vecchie versioni (che vengono automaticamente rimosse). Inoltre la flessibilit� e la possibilit� di avere pi� suddivisioni (oltre alle classiche ''stable'', ''testing'' e ''unstable'') lo rende perfetto per repository particolari (per i backport, ad esempio).
124

contributi