3 581
contributi
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 | # apt install debarchiver | ||
</pre> | </pre> | ||
==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"); | ||
</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 = "^ | # $distinputcriteria = "^linux.*\\.deb\$"; | ||
# $ | # $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 => ' | stable => 'buster', | ||
testing => ' | 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 | 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. | |||
<!-- *PARTE COMMENTATA* : permesso di scrittura non presente nemmeno per il gruppo debarchiver | |||
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 | ==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 | </pre> [http://httpd.apache.org/docs/2.0/mod/core.html#options qui] sono disponibili maggiori dettagli a riguardo}} | ||
==Server | ===Server FTP=== | ||
Come server | 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> # | * 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). | ||
[[ | {{Autori | ||
|Autore = [[Utente:MaXeR|MaXeR]] | |||
}} | |||
[[Categoria:Creare repository]] |
contributi