Gestione di un repository con debarchiver: differenze tra le versioni

m
verificata, parzialmente
Nessun oggetto della modifica
m (verificata, parzialmente)
 
(15 versioni intermedie di 9 utenti non mostrate)
Riga 1: Riga 1:
=Introduzione=
{{Repository
|precedente=Creare un Repository Debian
|successivo=Introduzione all'APT System
}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
__TOC__
==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; e con [[privilegi di amministrazione]] basta:
<pre>
<pre>
# apt-get install debarchiver
# apt 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''.
==Configurazione==
 
=Configurazione=
Tutta la configurazione di debarchiver è racchiusa in un unico file: <code>'''/etc/debarchiver.conf'''</code>, che analizziamo nel dettaglio:
Tutta la configurazione di debarchiver è racchiusa in un unico file: <code>'''/etc/debarchiver.conf'''</code>, che analizziamo nel dettaglio:


Riga 25: Riga 29:
# $movecmd = "mv";
# $movecmd = "mv";
# $rmcmd = "rm -f";
# $rmcmd = "rm -f";
# $vrfycmd = "dscverify";
# @vrfycmd = ("dscverify");
</pre>
</pre>
La lista dei comandi utilizzati nella gestione del repository: quelli di default, normalmente, sono corretti per la maggior parte delle situazioni.
La lista dei comandi utilizzati nella gestione del repository: quelli di default, normalmente, sono corretti per la maggior parte delle situazioni.
Riga 35: Riga 39:


<pre>
<pre>
# $distinputcriteria = "^kernel.*\\.deb\$";
# $distinputcriteria = "^linux.*\\.deb\$";
# $distinputdirs = "/path";
# $inputdir = "/path";
</pre>
</pre>
Indica il criterio con il quale verranno accettati i pacchetti non aventi un file <code>''.changes''</code> e dove devono essere inseriti per essere ''presi'' dal sistema
Indica il criterio con il quale verranno accettati i pacchetti non aventi un file <code>''.changes''</code> e dove devono essere inseriti per essere ''presi'' dal sistema.


<pre>
<pre>
Riga 53: Riga 57:
# $bzip = 0;
# $bzip = 0;
</pre>
</pre>
Attiva la generazione di file compressi con bz2
Attiva la generazione di file compressi con bz2.


<pre>
<pre>
Riga 74: Riga 78:
%distmapping =
%distmapping =
         (
         (
         stable => 'sarge',
         stable => 'buster',
         testing => 'etch',
         testing => 'bullseye',
         unstable => 'sid'
         unstable => 'sid'
         );
         );
Riga 89: Riga 93:
  @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.


<pre>
<pre>
Riga 121: Riga 125:
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).
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).


<pre>
1;
</pre>
Indica che il file di configurazione deve restituire un valore ''true''.
===Permessi===
'''Debarchiver''' è configurato per lavorare correttamente con i server [[FTP]] e web. È impostato, infatti, il permesso di lettura per tutti gli utenti.


==Permessi==
<!-- *PARTE COMMENTATA* : permesso di scrittura non presente nemmeno per il gruppo debarchiver
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 <code>''incoming''</code> 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 <code>''incoming''</code> 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:
Riga 130: Riga 140:
</pre>
</pre>


=Utilizzo Reale=
*FINE PARTE COMMENTATA* -->
Due esempi relativi alla configurazione di un server web (Apache) e di un server ftp anonimo (vsftpd) per l'accesso al repository.
==Utilizzo Reale==
Due esempi relativi alla configurazione di un server web (Apache) e di un server FTP anonimo (vsftpd) per l'accesso al repository.


==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 3° livello (Es. <nowiki>http://debian.dominio.it</nowiki>)
* configurazione come dominio di 3° livello (Es. <nowiki>http://debian.dominio.it</nowiki>)
* configurazione come directory in un dominio esistente (Es. <nowiki>http://www.dominio.it/debian</nowiki>)
* configurazione come directory in un dominio esistente (Es. <nowiki>http://www.dominio.it/debian</nowiki>)


===Dominio di 3° livello===
====Dominio di 3° livello====
La configurazione di un dominio di 3° 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.


Riga 158: Riga 169:
ed abilitarlo (rimando alla documentazione ufficiale del proprio server web).
ed abilitarlo (rimando alla documentazione ufficiale del proprio server web).


===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:


Riga 171: Riga 182:
     Options Indexes FollowSymLinks
     Options Indexes FollowSymLinks
</Directory>
</Directory>
</pre> [http://httpd.apache.org/docs/2.0/mod/core.html#options qui] sono disponibili maggiori dettagli a rigaurdo}}
</pre> [http://httpd.apache.org/docs/2.0/mod/core.html#options qui] sono disponibili maggiori dettagli a riguardo}}


==Server ftp==
===Server FTP===
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 3° livello===
====Dominio di 3° livello====
Un esempio di configurazione (da inserire all'interno di <code>'''/etc/proftpd.conf'''</code>) per l'accesso al repository tramite il protocollo ftp:
Un esempio di configurazione (da inserire all'interno di <code>'''/etc/proftpd.conf'''</code>) per l'accesso al repository tramite il protocollo ftp:
<pre>
<pre>
Riga 200: Riga 211:
</pre>
</pre>


=Gestione del Repository=
==Gestione del Repository==
==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.


Riga 210: Riga 221:
* dput
* dput


==Rimozione di uno o più pacchetti==
===Rimozione di uno o più pacchetti===
Debarchiver non supporta la rimozione automatizzata di uno o più pacchetti, operazione che dovrà essere compiuta, quindi, a mano.
Debarchiver non supporta la rimozione automatizzata di uno o più pacchetti, operazione che dovrà essere compiuta, quindi, a mano.


Supponendo di avere un pacchetto di nome ''kpakketto'' dovremo seguire questa procedura:
Supponendo di avere un pacchetto di nome ''kpakketto'' dovremo seguire questa procedura:
* eliminazione manuale di tutte le occorrenze di ''kpakketto'': <pre> # rm -f `find /var/lib/debarchiver/dists/ -iname "kpakketto*"`</pre>
* eliminazione manuale di tutte le occorrenze di ''kpakketto'': <pre> # find /var/lib/debarchiver/dists/ -iname "kpakketto*" -delete</pre>
* ricostruzione del repository: <pre>$ su debarchiver -c "debarchiver -so --autoscanall --dl 6" </pre>
* ricostruzione del repository: <pre>$ su - debarchiver -c "debarchiver -so --autoscanall --dl 6" </pre>




=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).


[[Categoria:Server]][[Categoria:Repository]]
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
}}
[[Categoria:Creare repository]]
3 581

contributi