|
|
(20 versioni intermedie di 9 utenti non mostrate) |
Riga 1: |
Riga 1: |
| =Introduzione=
| | {{Versioni compatibili|Squeeze|Wheezy|Jessie}} |
| [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= | | __TOC__ |
| L'installazione � semplice, in quanto il programma � incluso in debian:
| | == Introduzione == |
| <pre>
| | Siete amanti della shell pura? Amate far partire il sistema senza avvio grafico? Forse potrebbero piacervi '''welcome2l''' o '''linuxlogo''' . |
| # apt-get install debarchiver
| |
| </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= | | == Welcome2l == |
| Tutta la configurazione di debarchiver � racchiusa in un unico file: '''/etc/debarchiver.conf''', che analizziamo nel dettaglio:
| | Welcome2l è un semplice pacchetto che crea un logo grafico alle vostre console in caratteri ANSI. Basta installarne il pacchetto con [[privilegi di amministrazione]]: |
| | |
| {{Box|Nota Bene:|le opzioni riportate nel file di configurazione sono inizialmente commentate in quanto i valori riportati sono quelli di default.}}
| |
|
| |
|
| <pre> | | <pre> |
| $destdir = "/var/lib/debarchiver/dists";
| | # apt-get install welcome2l |
| $inputdir = "/var/lib/debarchiver/incoming";
| |
| </pre> | | </pre> |
| Dove verr creato il repository (''destdir'') e dove vengono inseriti i pacchetti da aggiungere al repository (''inputdir'')
| |
|
| |
|
| <pre>
| | === Con SysV === |
| # $copycmd = "cp -af";
| | Modificare il vostro <code>/etc/inittab</code> aggiungendo <code>-f /etc/issue.welcome2l</code> per ogni riga che richiama il comando getty in questa sezione: |
| # $movecmd = "mv";
| |
| # $rmcmd = "rm -f";
| |
| # $vrfycmd = "dscverify";
| |
| </pre> | |
| La lista dei comandi utilizzati nella gestione del repository... quelli di default, normalmente, sono corretti per la maggior parte delle situazioni.
| |
|
| |
|
| <pre> | | <pre>1:2345:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty1 |
| # $cinstall = "installed";
| | 2:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty2 |
| </pre> | | 3:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty3 |
| Dove verranno messi i file ''.changes''.
| | 4:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty4 |
| | 5:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty5 |
| | 6:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty6</pre> |
|
| |
|
| <pre>
| | === Con systemd === |
| # $distinputcriteria = "^kernel.*\\.deb\$";
| | A partire da Debian 8 ([[Jessie]]), il nuovo sistema di init di default è [[systemd]]. Per modificare i parametri con cui è eseguito getty, bisogna cambiarne il file di configurazione. |
| # $distinputdirs = "/path";
| |
| </pre>
| |
| Indica il criterio con il quale verranno accettati i pacchetti non aventi un file ''.changes'' e dove devono essere inseriti per essere ''presi'' dal sistema
| |
|
| |
|
| <pre> | | Prima copiamo il file che vogliamo cambiare da <code>/lib/systemd/system/</code> nella directory <code>/etc/systemd/system/</code>, in modo che abbia la precedenza sul file di sistema, e poi apportiamo le modifiche desiderate. |
| # $verifysignatures = 0;
| |
| </pre> | |
| Attiva (1) o disattiva (0) la verifica della firma dei pacchetti inseriti nella ''inputdir''.
| |
|
| |
|
| <pre> | | Il file a cui siamo interessati è <code>getty@.service</code>, quindi lo copiamo con: |
| # $verifysignaturesdistinput = 0; | | <pre># cp /lib/systemd/system/getty@.service /etc/systemd/system/</pre> |
| </pre> | |
| come sopra, ma riguarda la directory ''distinputdirs''
| |
|
| |
|
| <pre> | | E poi lo modifichiamo con un editor qualsiasi, per esempio [[nano]]: |
| # $bzip = 0; | | <pre># nano /etc/systemd/system/getty@.service</pre> |
| </pre> | |
| Attiva la generazione di file compressi con bz2
| |
|
| |
|
| <pre> | | E modifichiamo la riga: |
| %distinputdirs =
| | <pre>ExecStart-=/sbin/agetty --noclear %I $TERM</pre> |
| (
| |
| stable => 'stable',
| |
| testing => 'testing',
| |
| unstable => 'unstable'
| |
| );
| |
| </pre> | |
| Permette di indicare i nomi delle directory contenute nella directory ''incoming'' che provvederanno a raccogliere i pacchetti di una deretminata release. In questo caso, nella release ''stable'' verranno inseriti i pacchetti presenti nella directory ''/var/lib/debarchiver/incoming/stable/''.
| |
|
| |
|
| <pre>
| | In: |
| @distributions = ('stable', 'testing', 'unstable');
| | ExecStart-=/sbin/agetty '''-f /etc/issue.welcome2l''' --noclear %I $TERM |
| </pre>
| |
| Questa lista indica le release presenti nel repository (in questo caso le 3 release ''stable'', ''testing'' e ''unstable'').
| |
|
| |
|
| | Le modifiche avranno effetto dal successivo avvio, oppure dopo un login e un logout su un terminale virtuale (<code>tty1</code>, <code>tty2</code>, ...), dando prima: |
| | <pre># systemctl daemon-reload</pre> |
|
| |
|
| <pre>
| | === Risultato === |
| %distmapping =
| | Il vostro login apparirà così : |
| (
| |
| stable => 'sarge',
| |
| testing => 'etch',
| |
| unstable => 'sid'
| |
| );
| |
| </pre>
| |
| Schema per la creazione di link tra i nomi delle release reali e i nomi dello stato delle release.
| |
|
| |
|
| <pre>
| | [[immagine:Immagine3.JPG|380px| center]] |
| # @architectures = ('i386');
| |
| </pre>
| |
| Permette di indicare la lista di archietture (racchiuse tra apici e separate da una virgola) presenti nel repository.
| |
|
| |
|
| <pre>
| | Vi sono anche altre configurazioni possibili per ''Welcome2l'' che potete trovare nel file della documentazione: |
| @sections = ('main', 'contrib', 'non-free');
| |
| </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.
| |
|
| |
|
| <pre> | | <code>'''/usr/share/doc/welcome2l/INSTALL'''</code> |
| @mailtos = ('Maintainer', 'Uploaders', '@knio.it', 'admin@dominio.it');
| |
| </pre> | |
| 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 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.
| |
|
| |
|
| <pre>
| | == Linuxlogo == |
| %release = ( 'origin' => "",
| | Che dire di '''linuxlogo'''? |
| 'label' => "",
| |
| 'description' => "");
| |
| </pre>
| |
| Informazioni aggiuntive da inserire nel file Release.
| |
|
| |
|
| <pre>
| | Anche qui si tratta di un semplice pacchetto che crea un logo grafico in caratteri ANSI. |
| # $cachedir = '/var/cache/debarchiver';
| | Beh! È la stessa operazione. Naturalmente non usateli contemporaneamente. |
| </pre>
| |
| Nel caso venga usato ''apt-ftparchive'', indica la directory di cache da usare.
| |
|
| |
|
| <pre>
| | In realtà ''Linuxlogo'' di default verrà richiamato al boot, ma potrebbe piacervi di più come sostituto di welcome2l sebbene anche questo pacchetto ha diverse configurazioni che potete scoprire nella sua documentazione. |
| # $gpgkey = "";
| |
| </pre>
| |
| Imposta la chiave GPG con cui firmare i pacchetti che vengono inseriti nel database.
| |
|
| |
|
| | Per installarlo: |
| <pre> | | <pre> |
| # $gpgpassfile = "$ENV{HOME}/.gnupg/passphrase"; | | # apt-get install linuxlogo |
| </pre> | | </pre> |
| 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).
| |
|
| |
|
| | E poi basta aggiungere il file di configurazione con <code>'''-f /etc/issue.linuxlogo'''</code> al posto di <code>-f /etc/issue.welcome2l</code>, come visto in precedenza per [[SysV]] o [[systemd]]. |
|
| |
|
| ==Permessi==
| | Un esempio : |
| 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: | |
| <pre>
| |
| # adduser nomeutente debarchiver
| |
| </pre>
| |
|
| |
|
| =Utilizzo Reale=
| | [[immagine:Immagine1.JPG|380px| center]] |
| Due esempi relativi alla configurazione di un server web (Apache) e di un server ftp anonimo (vsftpd) per l'accesso al repository.
| |
|
| |
|
| ==Server Web==
| | Potete anche scegliere tra quattro diversi loghi ed eventualmente scegliere di avviarli in modalità monocromatica al posto dei banner. Scegliere è alla vostra portata. Provate subito un bel: |
| 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 directory in un dominio esistente (Es. <nowiki>http://www.dominio.it/debian</nowiki>)
| |
|
| |
|
| ===Dominio di 3� livello===
| | <pre>$ linuxlogo -h</pre> |
| La configurazione di un dominio di 3� livello dedicato al repository � una scelta molto comoda, secondo me...
| | |
| | Scoprite le vostre opzioni preferite ed inseritele in <code>/etc/linux_logo.conf</code> nella prima riga. |
|
| |
|
| � 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'''.
| | Per vedere subito quali loghi sono disponibili lanciate: |
|
| |
|
| Esempio:
| | <pre>$ linuxlogo -L list</pre> |
| <pre> | |
| NameVirtualHost *:80
| |
|
| |
|
| <VirtualHost *:80>
| | Alcuni dei logo debian disponibili : |
| ServerName repos.dominio.it
| |
| DocumentRoot /var/lib/debarchiver
| |
| <Directory />
| |
| Options Indexes FollowSymLinks
| |
| </Directory>
| |
| </VirtualHost>
| |
| </pre>
| |
|
| |
|
| ed abilitarlo (rimando alla documentazione ufficiale del proprio server web).
| | [[immagine:Immagine2.JPG|380px| center]] |
|
| |
|
| ===Directory in un Dominio===
| | Se accedete alla vostra Debian box da remoto e volete visualizzare il logo al login di ssh, dovete fare una semplicissima modifica. |
| 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 <nowiki>http://www.dominio.it/debian</nowiki> � sufficiente aggiungere, nella configurazione del VirtualHost in questione
| | Aprite col vostro editor preferito il file <code>~/.bash_profile</code>, scorrete fino all'ultima riga e aggiungete il seguente comando: |
| <pre>
| |
| Alias /debian /var/lib/debarchiver
| |
| </pre>
| |
| | |
| {{Box|Nota:|per rendere ''sfogliabile'' il repository � consigliabile aggiungere, dopo la dichiarazione precedente, un pezzo di codice simile al seguente:
| |
| <pre>
| |
| <Directory /debian>
| |
| Options Indexes FollowSymLinks
| |
| </Directory>
| |
| </pre> [http://httpd.apache.org/docs/2.0/mod/core.html#options qui] sono disponibili maggiori dettagli a rigaurdo}}
| |
| | |
| ==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.
| |
| | |
| ===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:
| |
| <pre>
| |
| <VirtualHost repos.dominio.it>
| |
| ServerName "Repository di dominio.it"
| |
| MaxClients 10
| |
| MaxLoginAttempts 1
| |
| | |
| DeferWelcome on
| |
| | |
| | |
| <Limit LOGIN>
| |
| DenyAll
| |
| </Limit>
| |
| | |
| <Directory />
| |
| <Limit WRITE DIRS>
| |
| DenyAll
| |
| </Limit>
| |
| </Directory>
| |
| </Anonymous>
| |
| </VirtualHost>
| |
| </pre>
| |
|
| |
|
| =Gestione del Repository=
| | <pre>linuxlogo -L # (dove # è il numero del logo)</pre> |
| ==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.
| | Salvate e il gioco è fatto. |
|
| |
|
| I tool disponibili sono:
| | Se una volta loggati compare il messaggio '''linuxlogo: command not found''', sostituite "linuxlogo" con "linux_logo". |
| * [[Dupload per l'upload dei pacchetti Debian | Dupload ]]
| |
| * dput
| |
|
| |
|
| ==Rimozione di uno o pi� pacchetti==
| | Buon divertimento!!! |
| 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:
| |
| * Eliminazione manuale di tutte le occorrenze di ''kpakketto'': <pre> # rm -f `find /var/lib/debarchiver/dists/ -iname "kpakketto*"`</pre>
| |
| * Ricostruzione del repository: <pre>$ su debarchiver -c "debarchiver -so --autoscanall --dl 6" </pre>
| |
|
| |
|
| | {{Autori |
| | |Autore = [[Utente:AltroMondo|AltroMondo]] |
| | |Verificata_da = |
| | : [[Utente:Mm-barabba|Mm-barabba]] |
| | : [[Utente:HAL 9000|HAL 9000]] 11:43, 9 giu 2015 (CEST) |
| | |Estesa_da = |
| | : [[Utente:HAL 9000|HAL 9000]] 11:43, 9 giu 2015 (CEST) |
| | |Numero_revisori = 2 |
| | }} |
|
| |
|
| =Conclusione=
| | [[Categoria:Shell]] |
| 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).
| |
|
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.
|
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" Debian 8 "jessie"
|
Introduzione
Siete amanti della shell pura? Amate far partire il sistema senza avvio grafico? Forse potrebbero piacervi welcome2l o linuxlogo .
Welcome2l
Welcome2l è un semplice pacchetto che crea un logo grafico alle vostre console in caratteri ANSI. Basta installarne il pacchetto con privilegi di amministrazione:
# apt-get install welcome2l
Con SysV
Modificare il vostro /etc/inittab
aggiungendo -f /etc/issue.welcome2l
per ogni riga che richiama il comando getty in questa sezione:
1:2345:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty1
2:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty2
3:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty3
4:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty4
5:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty5
6:23:respawn:/sbin/getty -f /etc/issue.welcome2l 38400 tty6
Con systemd
A partire da Debian 8 (Jessie), il nuovo sistema di init di default è systemd. Per modificare i parametri con cui è eseguito getty, bisogna cambiarne il file di configurazione.
Prima copiamo il file che vogliamo cambiare da /lib/systemd/system/
nella directory /etc/systemd/system/
, in modo che abbia la precedenza sul file di sistema, e poi apportiamo le modifiche desiderate.
Il file a cui siamo interessati è getty@.service
, quindi lo copiamo con:
# cp /lib/systemd/system/getty@.service /etc/systemd/system/
E poi lo modifichiamo con un editor qualsiasi, per esempio nano:
# nano /etc/systemd/system/getty@.service
E modifichiamo la riga:
ExecStart-=/sbin/agetty --noclear %I $TERM
In:
ExecStart-=/sbin/agetty -f /etc/issue.welcome2l --noclear %I $TERM
Le modifiche avranno effetto dal successivo avvio, oppure dopo un login e un logout su un terminale virtuale (tty1
, tty2
, ...), dando prima:
# systemctl daemon-reload
Risultato
Il vostro login apparirà così :
Vi sono anche altre configurazioni possibili per Welcome2l che potete trovare nel file della documentazione:
/usr/share/doc/welcome2l/INSTALL
Linuxlogo
Che dire di linuxlogo?
Anche qui si tratta di un semplice pacchetto che crea un logo grafico in caratteri ANSI.
Beh! È la stessa operazione. Naturalmente non usateli contemporaneamente.
In realtà Linuxlogo di default verrà richiamato al boot, ma potrebbe piacervi di più come sostituto di welcome2l sebbene anche questo pacchetto ha diverse configurazioni che potete scoprire nella sua documentazione.
Per installarlo:
# apt-get install linuxlogo
E poi basta aggiungere il file di configurazione con -f /etc/issue.linuxlogo
al posto di -f /etc/issue.welcome2l
, come visto in precedenza per SysV o systemd.
Un esempio :
Potete anche scegliere tra quattro diversi loghi ed eventualmente scegliere di avviarli in modalità monocromatica al posto dei banner. Scegliere è alla vostra portata. Provate subito un bel:
$ linuxlogo -h
Scoprite le vostre opzioni preferite ed inseritele in /etc/linux_logo.conf
nella prima riga.
Per vedere subito quali loghi sono disponibili lanciate:
$ linuxlogo -L list
Alcuni dei logo debian disponibili :
Se accedete alla vostra Debian box da remoto e volete visualizzare il logo al login di ssh, dovete fare una semplicissima modifica.
Aprite col vostro editor preferito il file ~/.bash_profile
, scorrete fino all'ultima riga e aggiungete il seguente comando:
linuxlogo -L # (dove # è il numero del logo)
Salvate e il gioco è fatto.
Se una volta loggati compare il messaggio linuxlogo: command not found, sostituite "linuxlogo" con "linux_logo".
Buon divertimento!!!