Le sezioni Iniziare e Manutenzione descrivono come partire con la distribuzione Debian Edu e come fare il lavoro di manutenzione di base. Gli HowTo in questa sezione contengono accorgimenti e trucchi più "avanzati".
Con l'uso di etckeeper
, tutti i file in
/etc/
sono tracciati usando Git come sistema di controllo delle
versioni.
Questo rende possibile vedere quando un file è aggiunto, cambiato e rimosso,
e cosa è cambiato se il file è un file di testo. Il repository git è
archiviato in /etc/.git/
.
Ogni ora tutte le modifiche vengono registrate automaticamente, permettendo di estrarre e rivedere la cronologia della configurazione.
Per vedere la cronologia, si usa il comando etckeeper vcs
log
. Per verificare le differenze tra due date, si può
usare un comando come etckeeper vcs diff
.
Vede l'output di man etckeeper
per maggiori
informazioni.
Elenco di comandi utili:
etckeeper vcs log etckeeper vcs status etckeeper vcs diff etckeeper vcs add . etckeeper vcs commit -a man etckeeper
In un sistema installato recentemente proviamo a vedere quali cambiamenti sono stati fatti dall'installazione iniziale:
etckeeper vcs log
Per vedere quali file non sono attualmente tracciati e quali non sono aggiornati:
etckeeper vcs status
Per fare il commit manuale di un file, senza aspettare un'ora:
etckeeper vcs commit -a /etc/resolv.conf
Le partizioni in Debian Edu sono volumi logici LVM, tranne la partizione
/boot/
. Con i kernel Linux dalla versione
2.6.10, è possibile estendere la partizione mentre questa è montata. Per
restringere le partizioni occorre ancora che queste non siano montate.
È una buona idea evitare partizioni troppo grandi (con più di 20GiB), in
quanto occorre molto tempo per eseguire
fsck
o se è necessario fare il ripristino
di un backup. È meglio se possibile creare più partizioni piccole che una
molto ampia.
Per rendere più facile estendere una partizione piena, è a disposizione lo
script debian-edu-fsautoresize
. Quando lo
si richiama, lo script legge la configurazione da
/usr/share/debian-edu-config/fsautoresizetab
,
/site/etc/fsautoresizetab
e
/etc/fsautoresizetab
. Propone di estendere
le partizioni con troppo poco spazio libero, in base alle regole fornite in
questi file. Senza argomenti mostrerà solo i comandi necessari per estendere
il file system. L'opzione -n
è necessaria
per estendere effettivamente il file system.
Lo script è eseguito automaticamente ogni ora su tutti i client indicati nel
netgroup fsautoresize-hosts
.
Quando si ridimensiona la partizione utilizzata dal proxy Squid, deve essere
aggiornato anche il valore della dimensione della cache in
etc/squid/squid.conf
. Lo script di aiuto
/usr/share/debian-edu-config/tools/squid-update-cachedir
è messo a disposizione per rendere questo processo automatico, controllando
la grandezza della partizione corrente di
/var/spool/squid/
e configurando Squid in
modo che usi l'80% di questa partizione come sua cache.
Logical Volume Management (LVM) permette di estendere le partizioni mentre sono montate e in uso. Si può imparare di più su LVM in LVM HowTo.
Per estendere un volume logico manualmente si può semplicemente eseguire il
comando lvextend
e indicare quanto grande
debba diventare. Per esempio, per estendere home0 a 30GB si usa il seguente
comando:
lvextend -L30G /dev/vg_system/skole+tjener+home0 resize2fs /dev/vg_system/skole+tjener+home0
Per aggiungere 30G a home0, si deve inserire un '+' (-L+30G)
ldapvi è uno strumento per modificare il database LDAP con un editor di testi da riga di comando.
È necessario eseguire il seguente comando:
ldapvi --ldap-conf -ZD '(cn=admin)'
Nota: ldapvi
userà l'editor
predefinito. Eseguendo export EDITOR=vim
nel prompt di shell si può configurare l'ambiente per avere un clone vi come
editor.
Per aggiungere un oggetto LDAP con ldapvi, usare un numero sequenziale di
oggetto con la stringa add
davanti al nuovo
oggetto LDAP.
Attenzione:
ldapvi
è uno strumento molto
potente. Fare attenzione a non rovinare tutto il database LDAP, lo stesso
vale per JXplorer.
L'utilizzo di Kerberos per NFS per montare le directory home è una caratteristica di sicurezza. A partire da Bullseye, i client LTSP non funzionano senza Kerberos. I livelli krb5, krb5i e krb5p sono supportati (krb5 significa autenticazione Kerberos, i sta per controllo di integrità e p per la privacy, cioè crittografia); il carico sia per il server che per le workstation aumenta con il livello di sicurezza, krb5i è una buona scelta ed è stato utilizzato come predefinito.
Main server
effettuare il login come root
eseguire ldapvi -ZD '(cn=admin)'
, cercare
sec=krb5i e sostituirlo con
sec=krb5 o sec=krb5p.
modificare //etc/exports.d/edu.exports
e
correggere queste voci di conseguenza:
/srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) /srv/nfs4/home0 gss/krb5i(rw,sync,no_subtree_check)
eseguire exportfs -r
Questo strumento consente di impostare la stampante predefinita in base alla
collocazione, al computer o all'appartenenza ad un gruppo. Per ulteriori
informazioni, vedere
/usr/share/doc/standardskriver/README.md
.
Il file di configurazione
/etc/standardskriver.cfg
deve essere
rilasciato dall'amministratore, vedere
/usr/share/doc/standardskriver/examples/standardskriver.cfg
come esempio.
Se si preferisce un'interfaccia grafica per lavorare con il database LDAP,
si può provare il pacchetto jxplorer
installato in modo predefinito. Per ottenere l'accesso in scrittura
collegarsi usando:
host: ldap.intern port: 636 Security level: ssl + user + password User dn: cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
ldap-createuser-krb
è un piccolo strumento
da riga di comando per creare gli utenti in LDAP e impostare le loro
password in Kerberos. È però principalmente utile per fare i test.
Dalla release Squeeze nel 2011, Debian ha incluso i pacchetti precedentemente gestiti in volatile.debian.org nella stable-updates suite.
Sebbene sia possibile utilizzare direttamente stable-updates, non è necessario: con stable-updates gli aggiornamenti sono inseriti dentro la suite stable regolarmente quando vengono fatti gli aggiornamenti minori, cosa che avviene circa ogni due mesi.
Si è scelta Debian Edu per la sua stabilità. Funziona alla grande, ma c'è solo un problema: alcuni software diventano obsoleti rispetto a come si vorrebbe. Backports.debian.org serve per risolvere questo problema.
I backport sono pacchetti ricompilati da Debian testing (nella maggior parte) e da Debian unstable (in pochi casi, per esempio per gli aggiornamenti di sicurezza), in modo da essere eseguiti senza nuove librerie (dove è possibile) su una distribuzione Debian stabile come Debian Edu. Si consiglia di selezionare singoli backport che si adattano alle proprie esigenze e di non utilizzare tutti i backport disponibili.
Usare i backport è semplice:
echo "deb http://deb.debian.org/debian/ bullseye-backports main" >> /etc/apt/sources.list apt-get update
Dopo di che si può installare pacchetti backport facilmente, il comando seguente installerà una versione backport di tuxtype:
apt install -t bullseye-backports tuxtype
Backport viene aggiornato automaticamente (se disponibile), proprio come altri pacchetti. Come un archivio normale, backport ha tre sezioni: main, contrib e non-free.
Se si vuole aggiornare da una versione a un'altra (per esempio da Bullseye 11.1 a 11.2) ma non si ha collegamento Internet, ma solo un supporto fisico, bisogna procedere come segue:
Inserire il CD/ DVD / Blu-ray disc / drive flash USB e usare il comando apt-cdrom:
aggiungere apt-cdrom
Citando la pagina di manuale apt-cdrom(8):
apt-cdrom è usato per aggiungere un nuovo CD-ROM alla lista delle fonti disponibili per APT. apt-cdrom si prende cura di determinare la struttura del disco e anche di correggere possibili errori di masterizzazione e di verificare i file indice.
Per aggiungere dei CD al sistema APT è necessario usare apt-cdrom, in quanto ciò non può essere fatto manualmente. Inoltre ogni disco in un insieme di più CD deve essere inserito e scansionato separatamente per tenere conto di possibili errori di masterizzazione.
Eseguire questi due comandi per aggiornare il sistema:
apt update apt full-upgrade
killer
è uno script perl che si sbarazza
dei processi sullo sfondo. I processi sullo sfondo sono definiti come
processi che appartengono a utenti che non sono al momento collegati. Viene
eseguito attraverso cron una volta all'ora.
unattended-upgrades
è un pacchetto Debian
che installerà aggiornamenti di sicurezza (e altro) automaticamente. Se
installato, il pacchetto è preconfigurato per installare aggiornamenti di
sicurezza. I log sono disponibili in
/var/log/unattended-upgrades/
; inoltre, ci
sono sempre /var/log/dpkg.log
e
/var/log/apt/
.
È possibile risparmiare energia e denaro, spegnendo i client di notte e
riaccendendoli automaticamente la mattina. Il pacchetto
shutdown-at-night
tenterà di spegnere la
macchina ogni ora dalle 16:00 del pomeriggio, senza spegnerle se il computer
sembra avere utenti. Cercherà di dire al BIOS di accendere la macchina
intorno alle 07:00 del mattino e il server principale tenterà di accendere i
computer dalle 06:30 utilizzando i pacchetti wake-on-lan. Gli orari possono
essere modificati nei crontab nelle singole macchine.
Alcuni consigli da seguire quando si decide di fare questo:
I client non dovrebbero spegnersi quando sono usati da qualcuno. Questo
viene garantito controllando l'output di
who
e, come caso particolare, controllando
se il comando di connessione ssh funziona con i thin-client X2Go.
Per evitare di bruciare i fusibili elettrici è una buona idea esser sicuri che non tutti i client si accendano allo stesso tempo.
Ci sono due metodi disponibili per attivare i client. Il primo usa una
caratteristica del BIOS e richiede un corretto e funzionante orologio di
sistema e una scheda madre con BIOS supportato da
nvram-wakeup
, l'altro richiede un server
che conosce quando i client devono accendersi e che tutti i client abbiano
il supporto per wake-on-lan.
Sui client che dovrebbero spegnersi di notte, usare touch su
/etc/shutdown-at-night/shutdown-at-night
o
aggiungere il nome dell'host (cioè l'output che si ottiene da
'uname -n
' nel client) al netgroup
"shutdown-at-night-hosts". Per aggiungere host al netgroup in LDAP si può
usare lo strumento web GOsa²
. I client
potrebbero avere bisogno di avere wake-on-lan configurato nel BIOS. Ancora,
è importante che gli switch e i router usati tra il server wake-on-lan e i
client passino pacchetti WOL ai client anche se i client sono spenti. Alcuni
switch non riescono a passare i pacchetti ai client che non sono presenti
nella tabella ARP sullo switch e questo blocca i pacchetti WOL.
Per abilitare wake-on-lan sul server, aggiungere i client a
/etc/shutdown-at-night/clients
, con una
riga per ogni client, l'indirizzo IP per primo e l'indirizzo MAC (indirizzo
ethernet) separati da uno spazio, o creare uno script in
/etc/shutdown-at-night/clients-generator
per generare l'elenco dei client al volo.
Un esempio di
/etc/shutdown-at-night/clients-generator
per l'utilizzo con sitesummary:
#!/bin/sh PATH=/usr/sbin:$PATH export PATH sitesummary-nodes -w
Se si usa il netgroup un'alternativa per l'attivazione di shutdown-at-night
sui clients è data da questo script con l'uso degli strumenti di netgroup
dal pacchetto ng-utils
:
#!/bin/sh PATH=/usr/sbin:$PATH export PATH netgroup -h shutdown-at-night-hosts
Per accedere a macchine protette con un firewall da Internet, è
consigliabile installare il pacchetto
autossh
. Può essere utilizzato per
istituire un tunnel SSH ad una macchina in Internet a cui si ha accesso. Da
quella macchina, è possibile accedere al server dietro il firewall tramite
tunnel SSH.
In una installazione predefinita, tutti i servizi sono in esecuzione sul server principale, tjener. Per semplificare il trasferimento di alcuni su un'altra macchina, vi è un profilo di installazione minimal. Installare con questo profilo porterà a una macchina, che è parte della rete Debian Edu, ma che non ha alcun servizio attivato (ancora).
Questi sono i passi necessari per configurare una macchina dedicata ad alcuni servizi:
installare il profilo minimal usando l'opzione di avvio debian-edu-expert
installare i pacchetti per il servizio
configurare il servizio
disattivare il servizio nel server principale
aggiornare il DNS (via LDAP/GOsa²) sul server principale
FIXME: The HowTos from https://wiki.debian.org/DebianEdu/HowTo/ are either user- or developer-specific. Let's move the user-specific HowTos over here (and delete them over there)! (But first ask the authors (see the history of those pages to find them) if they are fine with moving the howto and putting it under the GPL.)