In questa pagina sono elencati tutti gli articoli riguardo a GNU Linux Debian 12 "Bookworm".

debian 12

E' garantito il permesso di copiare, distribuire e/o modificare questo documento in base ai termini della GNU Free Documentation License, Versione 1.2 o ogni versione successiva pubblicata dalla Free Software Foundation. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

Questo manuale viene aggiornato dal 2006, anno di scrittura della prima versione della mitica Debian 3.1 Sarge, ogni due anni esce una versione nuova del sistema operativo Debian, questo comporta una revisione completa di tutti gli argomenti trattati. E' in corso l'aggiornamento degli articoli alla nuova versione uscita nell'estate 2023 e a breve sarà possibile scaricare la versione PDF del AlNao Debian HandBook con tutti gli articoli. Tutti gli articoli completi e la versione di questo manuale della versione 11 sono disponibili nella vecchia versione del sito che rimarrà disponibile finché tutti gli articoli saranno aggiornati in questa pagina.


Questo documento nasce dalla personale esigenza di avere un registro delle attività eseguite negli anni per la gestione dei sistemi GNU Linux e Debian, sia in ambito professionale sia in ambito personale. La necessità di riordinare il contenuto di grossi blocchi di appunti sparsi e raccolte di pagine web mi ha portato a scrivere un vero documento ordinato che negli anni si è evoluto visti i numerosi e frequenti aggiornamenti. In maniera molto ambiziosa l'ho chiamato documento e manuale, visto che ha anche di condivisione delle mie personali esperienze e conoscenze, seguendo proprio lo spirito base del mondo Open-source e GNU Linux. Rispetto alle precedenti versioni, questa versione è scritta senza sotto-sezioni e con articoli che parlano di singolo argomento in maniera completa. Ho sempre cercato il tempo per scrivere e per correggere gli errori di grammatica e di battitura di cui questo documento è pieno, cerco anche di essere chiaro e non ripetitivo ma non sempre trovo il tempo e le energie per fare tutto e poi sistemare tutto, non avendo nessun scopo di guadagno mi auguro che il lettore comprenda che questa è un documento amatoriale e che non pretenda troppo da questo manuale, ovviamente le cose scritte sono (quasi) sempre verificate anche se ovviamente si possono trovare guide con maggiori dettagli. Essendo un documento amatoriale ed essendo un testo scritto nei miei ritagli di tempo libero senza l'uso di nessun aiuto automatico come le IA, mi auguro che il lettore non abbia la pretesa che questo manuale descriva con precisione il modo migliore per installare e configurare un sistema perfettamente funzionante. 

In questo documento viene esposto, in maniera più oggettiva possibile, il concetto che GNU Linux è un sistema operativo e Debian una distruzione disponibile, questo documento ha lo scopo di descriverne il processo di installazione e configurazione.  Questo manuale NON contiene slogan del tipo "perchè usare Linux", "open source è meglio" oppure "Linux è meglio di altri sistemi operativi", questi argomenti da bar vengono lasciati a chi è più competente in materia di chiacchiere inutili. Tecnicamente c'è molta di differenza tra un sistema operativo classico (come MS Windows e/o Apple Mac OS) e quello che viene comunemente chiamato Linux: siamo abituati a dire giustamente che MS Windows è un sistema operativo mentre il pacchetto MS Word compreso nel pacchetto MS Office è un programma, GNU Linux invece comprende entrambe le parti, esiste il cuore centrale di GNU Linux, chiamato Kernel Linux che può essere definito come il sistema operativo (cioè l'insieme di tutti quei programmi essenziali al funzionamento del sistema base), nei sistemi GNU Linux sono compresi anche tutti i programmi di uso più comune, come quelli per l'ufficio, la navigazione web, giochi, grafica, ecc..., al termine di una installare di un sistema GNU Linux l'utente si ritrova installati tutti i programmi base e, dai DVD o dai Mirror presenti su internet, può scaricare altri programmi senza dover cercare su altri siti, questa filosofia di unire sistema operativo e programmi è stata molto rimarcata in questi anni, basti pensa che i Mirror Debian contengono oltre 50.000 pacchetti e circa 10.000 programmi diversi.


In un pc o in un notebook, è possibile installare GNU Linux anche se è già presente un altro sistema operativo senza grossi problemi e i due sistemi possono essere installati in parallelo, alcune distribuzioni permettono persino di installare i due sistemi nella stessa partizione di disco. Le distribuzioni di GNU Linux sono community o aziende che preparano DVD oppure Mirror Web dove scaricare il sistema di installazione più velocemente, ogni distribuzione ha le proprie caratteristiche ma bisogna sempre ricordare che il cuore del sistema operativo Kernel Linux è sempre lo stesso. In questo documento si parla tipicamente solo della distribuzione Debian, ma leggendo questa guida potrete trovare spunti per qualsiasi distribuzione derivata come Ubuntu mentre per distribuzioni non derivate molti comandi non possono essere usati. Nel mio caso ho scelto di usare Debian perchè dopo vari tentativi, ho valutato la scelta tecnica migliore, fortunatamente dal 2006 ad oggi è stata costantemente aggiornata e supportata così ho dovuto solo tenermi al passo con gli aggiornamenti e non ho dovuto studiarmi un sistema operativo da zero.

Le versioni di Debian sono divise tra la categorie di stable, testing e unstable; come dice il nome stesso, sono le varie fasi dei vita pacchetti: un pacchetto prima viene inserito nella versione chiamata unstable, poi passa nella testing e, quando viene valutato stabile senza anomalie, un pacchetto viene inserito nella successiva versione stabile di Debian, solamente le versioni stabili vengono numerate mentre alla versione “testing” viene assegnato il numero e il nome della successiva versione stabile mentre la versione “unstabile” non ha un numero di versione. Ad ogni versione viene assegnato anche un nome ispirato ai mitici personaggi del film Toys Story, la versione unstable porta sempre il nome Sid che era il nome del bambino che nel film si divertiva a rompere i giocatoli del protagonista. L’elenco delle versioni di Debian è disponibile nel sito ufficiale e riassunto in questa immagine.


Per chiarezza di esposizione e per garantire anche precisione delle descrizioni, in tutto questo documento saranno adottate le convenzioni classiche usate in quasi tutti i documenti e i siti:

  • Viene usato il carattere # per indicare un comando eseguito da un utente con privilegi di amministratore di sistema (il super utente root).
  • Viene usato il carattere $ per indicare un comando eseguito da un utente non amministratore (un utente non root per esempio quello creato in fase di installazione).
  • Viene usato lo stile macchina di scrivere per indicare messaggi mostrati a video dal sistema, i caratteri inseriti da tastiera e i nomi dei file, facendo sempre attenzione alla distinzione fra lettere minuscole e maiuscole.
  • Viene usato lo stile Grassetto quando si indicano, per la prima volta, nomi di programmi o dei pacchetti di particolare importanza.
  • Viene usato lo stile corsivo quando si vogliono evidenziare commenti personali o note non ufficiali.
  • Vengono usati dei riquadri oppure testo in rosso quando si vogliono inserire delle note importanti che meritano maggiore attenzione dall'utente.
  • Dopo la scrittura di ogni comando è sottintesa la pressione del tasto invio (enter).

Questi standard possono essere non convenzionali ad un utente alle prime armi ma scopriremo subito che i caratteri # e $ vengono usati dal sistema per distinguere la shell di utenti amministratori (root) e utenti normali. Si da per scontato che il lettore abbia la possibilità di collegarsi a internet con una linea abbastanza veloce da poter scaricare i DVD di Debian e che possa scaricare aggiornamenti e pacchetti non compresi nei DVD. Si assume anche che il lettore disponga di un masterizzatore DVD per masterizzare il DVD di installazione, che abbia già il DVD pronto oppure una chiavetta USB vuota. 

Un utilizzatore di GNU Linux deve imparare fin da subito a prestare attenzione a come vengono scritti e inseriti nomi, perché i sistemi basatati su GNU Linux sono sempre case-sensitive, cioè fanno distinzione tra caratteri maiuscoli e minuscoli: durante la lettura di questo manuale bisogna sempre prestare attenzione a come sono scritti i caratteri e fare sempre attenzione a cosa si digita con la tastiera.

La fase di installazione di un sistema operativo è sicuramente una delle fasi può complesse, in questo capitolo sono descritte tutte le fasi passo dopo passo ma grazie al programma grafico di installazione questa è molto semplice e veloce. Tale guida è valida anche per le precedenti versioni di Debian e anche per le successive, infatti dalla mitica versione 3.1 di Debian, chiamata Sarge, il programma di installazione ha subito poche variazioni. Una guida ufficiale per l'installazione può essere trovata nel sito ufficiale di Debian, questo capitolo vuole esserne un riassunto semplice ma completo. Molte distribuzioni di GNU Linux sono gratuite e possono essere scaricate direttamente da internet senza problemi, all'interno del sito ufficiale di Debian www.debian.org è possibile trovare tutte le immagini del DVD di installazione e tutte le informazioni sul sistema operativo; è possibile trovare i DVD di Debian anche pubblicati su riviste o manuali. Per scaricare il DVD per l’installazione basta andare nel sito, entrare nella sezione "Download" o "Getting Debian" e cliccare sul link per il download del file ISO, la versione consigliata è quella di tipo "installazione via rete" chiamata "netinst" ma è possibile scegliere altri tipi di pacchetti nel link "Other Releases". E' possibile scaricare le immagini ISO di grandi dimensioni anche via applicativi peer-to-peer come BTorrent (oppure KTorrent per chi usa già GNU Linux).

Nota: Scaricare l'immagine ISO di Debian da un sistema Torrent (o da qualsiasi altro sistema di peer-to-peer) non è illegale in quanto Debian è free e coperto da licenza GNU che permette il download e l’uso delle immagini. Scaricare film, musica, software con piattaforme peer-to-peer può essere illegale se i contenuti scaricati sono coperti copyright e/o coperti da licenza proprietaria.

E' disponibile nel sito anche una versione "Live" di Debian, cioè una versione che non necessita di una installazione ma può essere avviata dal dispositivo (USB o DVD).all'interno di questa versione è presente il programma di installazione che presenta gli stessi passi descritti per la versione di installazione normale, anche nel caso della versione live è necessario creare un dispositivo da avviare dal BIOS del sistema, si rimanda alla documentazione ufficiale per maggiori informazioni riguardo a questa versione.

Per avviare il programma di installazione bisogna averlo disponibile in un DVD o in una chiavetta USB, nel primo caso si può usare un qualsiasi programma di masterizzazione per copiare il file ISO nel DVD, nel secondo caso bisogna usare programmi specifici disponibili seguendo la guida dal sito ufficiale. In entrambi i casi si tratta di un disco auto-avvianti funzionano solo se il BIOS del sistema è configurato, in questo caso bisogna entrare nel tool di configurazione del bios e impostare il boot nel dispositivo dove è presente il programma di installazione (nella prima videata di accensione di un sistema è presente una scritta del “Press XX to enter in the setup”).

La prima schermata del processo di intallazione l'utente deve scegliere quale tipo inserire, la scelta è tra:

  • versione grafica: consigliata se non si hanno configurazioni particolari da impostare
  • vestione testuale: consigliata solo per utenti esperti
  • versione avanziata: consigliata solo a chi ha bisogno di inserire configurazioni particolari
  • versione accessibile e dark: versione grafica ad alto contrasto studiata apposta per gli ipovedenti
  • versione live: se presente nel tipo di installer scelto, si avvia la versione live, con questa versione nulla viene installato nel sistema

Qualunque sia il livello di chi installa Debian è consigliata la versione grafica base a meno he non siano necessari configurazioni particolari indispensabili. Il programma di installazione prevede alcuni passi che sono riassunti in:

  • lingua e tipo di tastiera: l'utente deve inserire la lingua di sistema e il tipo di tastiera, di default è impostato l'inglese ma se si ha la tastiera con le accenti del nostro paese bisogna inserire la tastiera italiana
  • nome host e nome dominio: due nomi simbolici per identificare il computer e la rete, se non si dispone di un dominio di rete questi nome sono solo simbolici
  • configurazione di rete: se è stata avviata la procedura avanzata viene richiesto l'inserimento degli indirizzi di rete (Indirizzo IP, Subnet Mask e Gateway), se si è scelta la versione grafica standard questo passo è saltato in quanto vengono inseriti dei valori di default grazie al DHCP se presente.
  • password root: password principale dell'utente root
  • nuovo utente: nome e password del primo utente non amministratore, è "obbligatorio" creare un utente e non usare mai root se non strettamente necessario
  • impostazione dischi: l'utente deve selezionare il disco dove installare il sistema operativo, se si dispone di un sistema nuovo si può usare l'opzione automatica, se invece si dispone di dischi con dei dati già presenti o altri sistemi operativi è consigliato usare la procedura manuale e bisogna selezionare il disco dove installare il sistema operativo (partizione indicata con / ), alla fine il programma di installazione chiede una verifica e una ulteriore conferma. Successivamente alla conferma delle partizioni il programma prepara le partizioni formattandole e copiando il sistema base. Attenzione: le operazione di creazione e modifica delle partizioni del vostro disco HardDisk potrebbe causare la perdita dei dati all'interno del vostro sistema, è sempre raccomandato eseguire una copia backup dei dati prima di eseguire l'installazione di Debian e la creazione delle partizioni dedicate.
  • mirror rete: il programma permette di attivare gli aggiornamenti automatici, selezionando questa opzione il sistema installato risulterà aggiornato alla versione più recente, la scelta consigliata è di attivare i mirror di rete selezionando quello ufficiale che viene proposto di default, si può notare che successivamente verrà installato il Kernel alla versione "linux-image 6.10"
  • raccolta dati: il programma permette di attivare un programma statistico con il quale Debian raccoglie le informazioni di utilizzo del sistema, per questioni di privacy è sconsigliato attivare questa opzione
  • selezione software: in questo passo l'utente sceglie quale Desktop installare nel sistema, è consigliato installare almeno i tre sistemi base (Gnome, Kde, Xfce) così l'utente può provare il più adatto alle esigenze, dopo questa scelta vengono installate tutte le applicazioni dei rispettivi sistemi selezionati (selezionando i tre principali saranno più di 2381 pacchetti da installare). Nella selezione è sconsigliato attivare l'installazione del web server e del server ssh.
  • gestore del login: di default è selezionato il gestore "GDM LightDM", è sconsigliato modificare questa opzione se non strettamente necessario
  • gestore di avvio: di default viene installato il gestore Grub, solo nella versione avanzata è possibile modificare le impostazioni base, nella versione grafica base il sistema viene riavviato senza necessità di inserire altro.

Al primo avvio la schermata di caricamento è quella del bootloader Grub che è stata configurata nell'ultimo passo del programma di installazione, se presente un solo sistema operativo compare solo l’opzione di Debian ma se presenti più sistemi operativi compare la lista dei sistemi disponibili con la possibilità di scegliere quale avviare muovendovi nel menù con le frecce della tastiera. Se disponibili più versioni del Kernel Linux installate nel sistema Debian, compare la lista delle versioni. Una volta selezionata una opzione nel sistema, il sistema avvia tutto il Kernel Linux e i programmi necessari, al termine del caricamento compare la videata grafica di login, questa videata è chiamata GDM (Gnome Desktop manager) che è il componente che permette la login su un desktop: nella videata basta inserire l’username e password dell’utente creato durante la fase di installazione e si accederà al desktop Gnome che di default viene installato e configurato, un utente alle prime armi deve avete la pazienza di aprire i menù del desktop per famigliarizzare con il sistema.

Tutte le fasi e i dettagli del programma di installazione sono ben documentati nella guida disponibile nel sito ufficiale e in caso di necessità particolari è possibile consultare la pagina specifica delle FAQ. Una ulteriore fonte di informazioni è la pagina wiki dedicata al processo di installazione.

Dopo aver completato tutti i passi del programma di installazione, il sistema è già quasi completo: di default nell'installazione base è compreso almeno un Desktop comprendente tutte le parti dell’ambiente grafico e sono compresi anche una serie di applicativi che possono essere trovati sul menù principale. Risulta impossibile usare GNU Linux senza avere qualche base sistemistica e un po’ di manualità su file e cartelle come la gestione i diritti di lettura e scrittura su file e cartelle. Una prima nozione da aver sempre presente è che in tutti i sistemi GNU Linux la differenza tra maiuscole e minuscole è rilevante: nei comandi e nei file è rilevante la presenza di caratteri maiuscoli e bisogna scrivere sempre con attenzione i nomi.

Una nozione fondamentale che un utente di GNU Linux deve avere sempre presente è che tutto è un file cioè il Kernel Linux infatti vede e gestisce tutto come un file: le cartelle, le periferiche come le stampanti, memorie fisse e persino i processi in esecuzione sono interpretati come file che il FileSystem gestisce e amministra. A differenza di altri FileSystem, in GNU Linux le estensioni non sono rilevanti, spesso capiterà di trovare file con estensioni “strane” ad un utente non abituato a tale libertà: un esempio classico è il file sources.list che conterrà una lista di sorgenti come dice il nome e l'estensione: spesso infatti viene usata l’estensione per evidenziare se il file ha un contenuto specifico come liste o configurazioni. Esistono anche file senza estensione come il file fstab, per i sistemi basati su Unix e GNU Linux l’estensione di un file è solo una parte del nome. I file il cui nome inizia per . (punto) sono file nascosti, cioè tipicamente i file manager non vedono questi file a meno di comandi specifici, questi nomi vengono usati dai programmi per creare cartelle e file di configurazioni ma di non dare la possibilità all'utente di modificarli “per sbaglio”.

Lo standard per il file system usato in tutti i sistemi GNU Linux si chiama FSSTND, che impone delle direttive per l'organizzazione dell'albero delle directory nei sistemi: viene usato per la facilità del porting del software per GNU Linux e l'amministrare dei sistemi, dato che tutto si trova nel posto designato per qualsiasi distribuzione che usa questo stardard. Per essere precisi, non c'è nessuna autorità che impone di uniformarsi a questo schema, ma è molto raro trovare distribuzioni che non rispettano. L'albero delle directory completo è concepito in modo che possa essere diviso in parti più piccole, ciascuna sulla sua partizione o nel suo disco se necessario, per ottimizzare i dischi e ridurre le dimensioni delle partizioni. L'albero delle directory è stato strutturato in modo che funzioni bene in una rete di sistemi condivisi su dispositivi a sola lettura come DVD o in reteNFS. La struttura del filesystem si basa su una radice che viene chiamata root e viene sempre indicata con il carattere

/

questa cartella è specifica per ciascun sistema e rappresenta l'intero sistema: contiene tutti i file necessari per avviare il sistema e per portarlo ad uno stato tale da poter gestire tutte le altre memorie e tutti i dispositivi. Si può affermare, anche se in maniera un po' superficiale, che la root sostituisce quello che nei sistemi MS Windows è il "Risorse del computer", infatti in Linux non potete trovare i dischi (C,D,E, ecc..) ma si possono trovare le principali sottodirectory:

  • /bin Contiene i programmi di sistema utilizzati sia dall'amministratore che dai normali utenti, come ad esempio: ls, cat, cp
  • /boot Contiene tutto quello che è necessario per eseguire il processo di boot del kernel (l'immagine vmlinux e la initrd), configurata in fase di installazione di GRUB
  • /dev Contiene i riferimenti a tutti i dispositivi e le periferiche (HarkDisk, CdRom, stampanti, rete, ecc...)
  • /etc Contiene i files di configurazione degli applicativi e i demoni presenti nel sistema
  • /home Contiene le home directory degli utenti, cioè le informazioni e i file di ogni utente
  • /lib Contiene le librerie necessarie al boot del sistema e all'esecuzione dei programmi
  • /mnt Inizialmente è vuota, come standard viene usata per effettuare il collegamento (mount) di tutte le unità di memoria presenti (HardDisk, cdrom, memorie usb, ecc.. ), talvolta è possibile trovare anche la cartella /media che tipicamente viene usata solo per i dispositivi rimovibili (CdRom, Floppy, USB Disk)
  • /opt Dovrebbe essere vuota inizialmente, in passato veniva usata per gli applicativi del sistema base, oggi viene usata da alcuni applicativi proprietari come google chrome oppure i programmi di AWS
  • /proc Contiene i riferimenti ai programmi in esecuzione (i processi in esecuzione vengono trattati come file)
  • /root La home directory dell'utente root
  • /sbin Contiene i programmi di sistema (system binaries) utilizzati dall'amministratore
  • /srv Contiene alcuni file di configurazione
  • /sys Contiene dei file di sistema
  • /tmp Cartella dei file temporanei (ogni volta che si spegne il pc questa cartella viene svuotata)
  • /usr Contiene le applicazioni (non di sistema) installate nel sistema
  • /var Contiene vari files di sistema come i log e le carelle della posta

Nei sistemi Unix e GNU Linux esistono tre tipi di diritti su un file: scrittura, lettura ed esecuzione rispettivamente identificati con la lettera r, w e x. Ogni file, quindi ogni cosa nel sistema, appartiene all'utente che ha creato quel file che ha sempre i tutti i diritti su quel file. Per ottenere i diritti su un file basta eseguire il comando sulla shell:

$ ls -la

che elenca i diritti in una schermata simile a questa:

drwxr-xr-x 2 alnao alnao 4096 2 feb 14:09 DIR1
-rw------- 1 alnao alnao 2615 2 feb 16:28 file1
-rw-r--r-- 1 alnao alnao 1162966 2 feb 19:50 file2
-rwxr-xr-x 1 alnao alnao 1162966 2 feb 19:50 file3

la prima riga descrive una directory, la si può riconoscere dal fatto che la prima lettera è una d, i successivi tre caratteri sono indicati i diritti sull'utente che ha creato quel file, il secondo gruppo di tre si riferisce agli utenti dello stesso gruppo dell'utente creatore del file, mentre l'ultima tripletta descrive i diritti di tutti gli altri utenti. Se è presente la lettera significa che il diritto è attivo mentre se c'è il trattino vuol dire che il diritto che dovrebbe essere presente non è attivo. Da notare che l'utente root root ha sempre tutte le autorizzazioni quindi riuscirà sempre a leggere e a scrivere su tutti i file e su tutte le cartelle. Per cambiare i diritti su un file si può usare il comando chmod. Da notare che il diritto x sostituisce l'estensione su altri sistemi: le estensioni non hanno significato e per capire se un file è eseguibile o meno bisogna osservare questo diritto in ogni singolo file.

Alcune delle configurazioni base devono essere eseguite da riga di comando che in informatica viene comunemente chiamata shell e, più in particolare, nei sistemi GNU Linux è disponibile il tipo chiamato bash, non bisogna fare confusione: con shell si intende una riga di comando mentre bash è l’interprete dei comandi, in questo manuale faremo sempre riferimento a bash e non verranno introdotte altre tipi di shell anche se in altri manuali potete trovare guide più complete di bash e di altri tipi di shell per GNU Linux. Tipicamente nelle architetture basate sul KernerLinux con la bash sono disponibili 8 “canali” detti anche tty (abbreviazione di TeleTYpewriter), nei sistemi basati su GNU Linux il primo canale è usato dal KernelLinux e in questo canale compaiono i messaggi del sistema mentre il server grafico tipicamente si trova nel settimo canale, dalla versione 10 di Debian il server grafico viene caricato sempre dal secondo canale mentre nel primo c'è una seconda versione del server grafico se si vuole utilizzare la funzionalità multiutente; è possibile passare da un canale ad un altro con la sequenza di tasti ALT + CTRL + F1 dove l’F1 è il numero del canale (ovviamente per il settimo canale si può usare F7).


Una delle esigenze primarie di ogni utente è quello di poter accedere ai propri dati che sono salvati nei vari dischi, gli utenti di altri sistemi operativi sono abituati a identificare le memorie fisiche con delle lettere come C, D, E, ecc... mentre nei sistemi GNU Linux la gestione delle partizioni e delle periferiche di memoria è completamente diversa: la gestione viene chiamata mounting (in Italiano spesso viene tradotto con montaggio), nome che deriva dal comando mount che viene utilizzato per eseguire le configurazioni, infatti le memorie vengono viste dal Kernel Linux come un normale file dentro alla cartella /dev/ e, attraverso il comando mount, si possono collegare ad una cartella per permettere l’accesso al contenuto della memoria. I file che si trovano dentro alla cartella dev non rappresentano tutta la memoria fisica ma rappresentano una partizione: se in una memoria ci sono più partizioni significa che sono presenti più file che devono essere montati separatamente. Tipicamente questi file hanno il nome del tipo hda1, sda1, sda2, sdb1 dove la prima lettera del nome rappresenta il tipo (per esempio h=Eide, s=Sata), la seconda lettera è sempre d che significa DISK mentre la terza lettera è un incrementale se ci sono più dispositivi dello stesso tipo (se ci sono due HardDisk il primo sarà “a” mentre il secondo sarà “b”), il numero finale rappresenta il numero della partizione all'interno della stessa memoria fisica.

Per poter recuperare l'elenco delle partizioni e la struttura delle memorie si può usare il programma gparted dal desktop da installare oppure con il comando

# fdisk -l

Questi programmi presentano l’elenco di tutte le partizioni e, se possibile, anche il tipo, con gparted è anche possibile modificare le partizione e formattarle. Nei desktop recenti, il mount risulta automatico, per esempio con un programma come Dolphin, l'elenco dei dispositivi sono elencati nelle finestre divisi per memorie fissi e i dispositivi mobili come le chiavette USB. Per poter eseguire il mount manualmente, bisogna disporre di una cartella vuota che sarà la destinazione dell’operazione di montaggio, come default viene usata una sotto-cartella di /mnt . Per esempio si può creare una cartella a mano da un file manager oppure da riga di comando con le istruzioni:

# mkdir /mnt/Dati
# chmod 666 /mnt/Dati

da notare il comando chmod assegna a tutti gli utenti la possibilità di accedere a tale cartella, questo è indispensabile altrimenti solo l’utente root potrebbe accedere alla memoria montata. Il comando mount da riga di comandi prevede la sintassi:

# mount -t auto /dev/sda2 /mnt/Dati

con questa istruzione viene montata la partizione hda2 sulla cartella Dati, come parametro mount ha bisogno anche di sapere il tipo di Filesystem della partizione (Fat32, Ext3, NTFS, ecc..) ma esiste anche il parametro "auto" che ci semplifica la vita lasciando al sistema il compito di selezionare quello corretto. Il problema del comando mount è che, allo spegnimento o riavvio del sistema, il montaggio NON verrà rieseguito automaticamente, il kernel mette a disposizione un file di configurazione per rendere definitive le operazioni di mount che vengono eseguite al primo accesso:

/etc/fstab

questo è un file storico dei sistemi GNU Linux e si trova sempre nello stesso posto fin delle prime versioni del sistema, da notare che questo file è sprovvisto di estensione e si trova nella cartella /etc, per modificare questo file da desktop si può avviare come utente root un editor con:

# gedit /etc/fstab

e si può vedere il contenuto del file che all'apparenza complicato ma basta sapere che ad ogni riga corrisponde una memoria montata, nel file infatti basta aggiungere una riga per ogni partizione, per esempio:

/dev/sdb3 /mnt/Dati ext4 user,suid,dev,rw,exec 0 0

dove nella riga sono elencati in ordine: il punto di mount (sorgente e destinazione), il tipo di partizione anche se è sconsigliato l'uso del comando auto e i vari parametri della partizione, nel nostro esempio umask=000 oppure rw indicano che la partizione è in scrittura e lettura. Per le partizioni di formato GNU Linux come ext non serve indicare l’umask.

Per le chiavette USB o memorie rimovibili si configura la riga:

/dev/sdd1 /mnt/Usb auto user,suid,dev,exec,umask=000,rw,noauto 0 0

con il parametro noauto si indica che il mount non deve essere eseguito automaticamente all'avvio del sistema ma deve essere caricato manualmente quando la memoria esterna viene inserita. Per rendere effettive le modifiche del file fstab bisogna riavviare il sistema. Per definire le partizione nel file di configurazione è possibile mappare il riferimento dentro la cartella dev oppure è possibile usare il riferimento UUID, cioè il riferimento assoluto ID che il sistema assegna ad ogni partizione, per visualizzare i riferimenti nel proprio sistema si può usare il comando:

# blkid

e poi è possibile modificare il file fstab con la riga:

UUID=1234-5678 /mnt/Dati tipo parametri 0 0

questo metodo è consigliato rispetto all'uso del DEV in quanto alcuni sistemi posso cambiare riferimenti alla risorse ogni riavvio del sistema. Nelle ultime versioni di Debian questa operazione viene eseguita durante la fase di installazione e, una volta terminata l'installazione del sistema base, è possibile vedere il file già ben configurato con tutti i parametri. Da notare che i lettori DVD/CD vengono montate nella cartella media per separare le memorie fisse da quelle rimovibili tuttavia questo non è uno standard ma solo un dettaglio presente in Debian.


Modificare lo schema delle partizioni è una operazione complessa alto rischio di perdita di dati; la mia esperienza mi ha portato a non modificare mai le partizioni dei dischi se su questo è installato il sistema operativo o se ci sono dati importanti, quando si deve modificare una qualsiasi partizione contenente dati, conviene sempre eseguire una copia di backup di tutte le partizioni comprese quelle non modificate. Le cose si complicano ancora di più quando nello stesso disco ci sono più partizioni di tipo diverso come quelle di MsWindows (con filesystem di tipo NTFS o FAT32) e partizioni GNU Linux (con filesystem di tipo le Ext3 o Ext4), questo perché i programmi di partizionamento di un sistema operativo difficilmente trattano al meglio le partizioni degli altri sistemi con l'ovvio rischio di perdere partizioni che un programma non riconosce, per evitare questi contrasti fra sistemi operativi si possono usare programmi specializzati che cercano di gestire al meglio le partizioni di tutti i tipi, su Debian è disponibile il programma GParted per permette di gestire e modificare la struttura delle partizioni dei dischi.

Per utilizzare al meglio i sistemi Debian è indispensabile conoscere la gestione dei pacchetti: i pacchetti sono un insieme di file organizzati e compressi in directory in modo che possano essere installati nel sistema velocemente e con ordine; esistono molti modi di compilare e preparare i pacchetti, Debian ha imposto da anni un suo standard che è facilmente riconoscibile per i file di estensione deb mentre altre distribuzioni possono avere altri formati come rpm. Uno dei motivi per cui Debian è molto famosa è proprio per la gestione eccellente dei pacchetti perché, pur contando oltre 25.000 pacchetti ufficiale, esiste un repository centrale che gestisce le le dipendenze in modo semplice e ordinato: ogni pacchetto ha una versione e una lista di dipendenze infatti ogni pacchetto al suo interno ha l'informazione di quali pacchetti sono necessari e con i quali entra in conflitto, per esempio il pacchetto "apache2-mpm-prefork" dipende dal pacchetto "apache2.2-common" e entra in conflitto con il pacchetto "apache2-mpm", tutto questo dipende anche delle versioni, cioè ogni pacchetto è segnato anche da una versione, per esempio nel mio sistema è installato il pacchetto "apache2-mpm-prefork" alla versione 2.2.8-3: questo vuol dire che il pacchetto è alla versione 2.2.8 ma è la terza compilazione del pacchetto. Per fortuna i programmi che andremo ad usare gestiscono automaticamente con ordine e precisione i pacchetti quindi l'utente non deve mai preoccuparsi di risolvere le dipendenze.

La gestione dei pacchetti Debian nel sistema si basa sul componente DPKG (abbreviazione di Debian PacKaGe): è usato per installare, disinstallare ed ottenere informazioni sul singolo pacchetto in formato standard deb. Questo è un tool di basso livello e viene sempre affiancato da APT (che è l'abbreviazione di Advanced Packaging Tool) che è il gestore standard di pacchetti software della distribuzione Debian. Con APT è possibile anche configurare diversi mirror-sorgenti di pacchetti (sorgenti remote in internet, cdrom, DVD). Tutti i comandi dei due programmi sono:

  • # apt-get update aggiorna la lista dei pacchetti dopo la configurazione di un nuovo mirror
  • # apt-get install nomepacchetto installa il pacchetto nel sistema, scegliendo l'ultima versione disponibile ed risolvendo le dipendenze in maniera automatica (installando i pacchetti necessari e togliendo i pacchetti in conflitto)
  • # apt-get remove nomepacchetto rimuove il pacchetto e tutti i pacchetti che dipendono da esso
  • # apt-get --purge remove nomepacchetto rimuove il pacchetto e tutti i pacchetti che dipendono da esso compresi anche tutti i file di configurazione eventualmente presenti
  • # apt-get upgrade aggiorna tutti i pacchetti se sono disponibili aggiornamenti e verifica tutte le dipendenze delle nuove versioni
  • # apt-get clean cancella tuti i file temporanei di apt-get cioè i file deb scaricati e già installati
  • # apt-get install -f verifica che tutti i pacchetti siano installati e configurati correttamente, in caso di errori sistema automaticamente le dipendenze
  • # dkpg --configure -a come il precedente ma funziona anche in casi estremi e risolve tutti i problemi di conflitto tra i pacchetti
  • # dpkg-reconfigure pacchetto riconfigura un pacchetto già installato
  • # dpkg -i pacchetto installa un pacchetto da un file deb
  • # dpkg -r pacchetto rimuove un pacchetto
  • # dpkg --get-selections > nomefile.txt salva su un file l'elenco dei pacchetti installati
  • # dpkg --set-selections < nomefile.txt imposta i pacchetti presenti sul file
  • # apt-get moo regala all'utente un simpatico messaggio

All'interno di un sistema, la lista dei mirror-sorgenti è elencata nel file

/etc/apt/sources.list

e da tutti i file contenuti nella sotto-cartella

/etc/apt/sources.list.d/

e si possono creare dei file con estensione list per aggiungere altri mirror specifici. In questi file list, ad ogni riga corrisponde una sorgente che può essere un DVD, un mirror in internet oppure una cartella del sistema locale. Ogni riga di questi file è del tipo:

deb http://host/debian distribuzione sezione1 sezione2 sezione3
deb-src http://host/debian distribuzione sezione1 sezione2 sezione3

La prima parola di ogni riga (deb o deb-src) indica il tipo di archivio: se contiene pacchetti binari (deb) oppure indica se l'archivio contiene i pacchetti sorgente (deb-src), la seconda parte della riga indica l'indirizzo della sorgente. Nel terzo parametro si indica la distribuzione: di solito si tratta di uno dei tre rami di sviluppo: stable, testing o unstable, nelle righe di configurazione è possibile indicare esplicitamente il nome della versione come etch, sid o sarge). L'elenco delle sezioni indicano quali parti della distribuzione dovranno essere gestite, tipicamente si trova main (i pacchetti completamente liberi) oppure non-free (cioè i pacchetti rilasciati sotto una licenza non libera) oppure contrib (pacchetti liberi che però dipendono da altri non liberi). Al termine di ogni modifica di questi file di configurazione è necessario lanciare il comando per aggiornare il database di sistema:

# apt-get update

In precedenti versioni di questo documento si indicava all'utente di modificare manualmente i file di list per inserire i mirror manualmente, questa operazione manuale è stata sostituita da operazioni più semplici che verranno introdotte man mano che sarà necessario installare pacchetti specifici non compresi nei mirror ufficiali di Debian che sono inseriti in automatico all'installazione del sistema base. I programmi di gestione APT & DPKG non sono stati studiati per essere interfacciati graficamente, quindi sono stati sviluppati e sono presenti in Debian diversi strumenti grafici che permettono di gestire i pacchetti attraverso una interfaccia grafica che può risultare più intuitiva all'utente meno esperto: il più importante programma per desktop per la gestione dei pacchetti è Synaptic che spesso si può trovare nei menù anche con il nome in italiano di Gestore pacchetti, la potenza di questo programma è la semplicità d'uso rispetto ad altri programmi simili come Aptitude e Adept che sono molto più poveri di funzioni. Con Synaptic è possibile vedere la lista dei pacchetti divisi in sezione per argomento (sistema, grafici, editor,...), per stato (installati, aggiornabili, non installati, corrotti), per origine (DVD, debian.org, ecc...) e la possibilità di cercare i pacchetti con una semplice ricerca testuale sui nomi e sulle descrizioni dei pacchetti stessi. La comodità principale di questo programma è la possibilità di gestire gli aggiornamenti del sistema con un semplice click su pulsante.

Nei sistemi Debian è possibile trovare diversi programmi che permettano la configurazione del sistema, nei vari menu dei desktop si possono trovare diverse voci all'interno della categoria Strumenti di sistema però per GNU Linux è stato sviluppato un potentissimo programma per il controllo generale: WebMin che prevedete moltissimi moduli al proprio interno e permette all'utente di amministrare tutti i componenti del sistema, uno dei grandi vantaggi di questo pacchetto è che si tratta di una applicazione web quindi viene usata tramite browser anche da remoto. Rispetto alle precedenti versioni, WebMin non è più all'interno dei mirror ufficiali di Debian e quindi bisogna configurare una sorgente esterna con i comandi:

# apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl 
# apt-get install libpam-runtime libio-pty-perl apt-show-versions python3 apt-transport-https
# apt-get install wget net-tools ufw
# cd /etc/apt/sources.list.d/
# echo "deb http://download.webmin.com/download/repository sarge contrib" > webmin.list
# wget http://www.webmin.com/jcameron-key.asc
# apt-key add jcameron-key.asc 
# apt-get update 
# apt-get install webmin
# ufw allow 10000/tcp
# ufw reload
# ufw enable

con questi comandi abbiamo installato dei pacchetti propedeutici, abbiamo scaricato il file list del mirror e la sua chiave di sicurezza, poi con il comando di apt abbiamo aggiornato l'elenco dei pacchetti e installato il programma, al termine è necessario configurare la rete visto che il programma utilizza la porta 10.000 dei sistemi. Dopo l'installazione è possibile già vedere se è disponibile e funzionante con il comando:

# systemctl status webmin

Se non dovesse essere avviato è possibile lanciare lo start con il comando:

# systemctl start webmin

Per poter accedere al pannello di controllo basta lanciare da un browser l'url:

https://localhost:10000/

nei comandi indicati c'è anche la configurazione del firewall ufw che bloccherebbe l'applicazione trattandosi di una applicazione di rete sulla porta 10000. All'interno delle ultime versioni di Webmin, c'è la possibilità di collegarsi alla console shell con l'icona >_ presente nel menù di sinistra al tab "dashbord" questo permette di usare il terminale da remoto anche se io lo ritengo molto scomodo.

WebMin è uno strumento molto potente ma anche troppo! Bisogna sempre prestare attenzione alle configurazioni eseguite e controllare più volte le operazioni potenzialmente distruttive per il sistema.

Il programma di installazione prevede la creazione di un primo utente che viene utilizzato al primo accesso, attraverso i vari tool di controllo disponibili è possibile creare e configurare altri utenti se necessario con la possibilità di raggrupparli e gestire l'accesso. Il gestore della login che compare all'avvio del sistema grafico si chiamata GDM (abbreviazione di Gnome Desktop Manager) esistono anche altri gestori ma è sconsigliato l'utilizzo per utente non esperti. Per gestire gli utenti è possibile usare i vari programmi disponibili nei browser ma è consigliato usare WebMin appena installato visto che ha una interfaccia molto semplice e intuitiva per la gestione degli utenti e dei gruppi. Il pannello di controllo WebMin è molto utile anche per la gestione di tutte le parti di un sistema: lo schedulatore di sistema CronTab, le configurazioni di rete, la gestione dei backup, il monitoraggio dei log e i demoni/server come sarà descritto in una sezione dedicata. In realtà è iii sconsigliato iii per alcuni temi specifici come la gestione delle partizioni (molto meglio Gparted) e tutto quello che ha a che fare con l'hardware e i dispositivi esterni.

È online la nuova versione del sito con contenuti aggiornati. Nessun articolo e nessun contenuto di questo sito è stato creato con IA o generatori automatici di testi ma tutto è stato scritto con molta pazienza personalmente da Alberto Nao. Tutto il codice presente nel sito Tutti gli esempi di codice nel sito sono coperti da  free software!

I contenuti di AlNao.it potrebbero avere inesattezze o refusi. Non potrà in alcun caso e per qualsiasi motivo essere ritenuta responsabile di eventuali imprecisioni ed errori né di danni causati. Il sito web e tutte le informazioni ed i contenuti in esso pubblicati potranno essere modificati in qualsiasi momento e di volta in volta e senza preavviso. Poiché ogni materiale sarà scaricato o altrimenti ottenuto attraverso l’uso del servizio a scelta e a rischio dell’utente, ogni responsabilità per eventuali danni a sistemi di computer o perdite di dati risultanti dalle operazioni di scarico effettuato dall'utente, ricade sull'utente stesso e non potrà essere imputata ad AlNao.it che declina ogni responsabilità per eventuali danni derivanti dall'inaccessibilità ai servizi presenti sul sito o da eventuali danni causati da virus, file danneggiati, errori, omissioni, interruzioni del servizio, cancellazioni dei contenuti, problemi connessi alla rete, ai provider o a collegamenti telefonici e/o telematici, ad accessi non autorizzati, ad alterazioni di dati, al mancato e/o difettoso funzionamento delle apparecchiature elettroniche dell’utente stesso.

AlNao.it ha adottato ogni possibile accorgimento al fine di evitare che siano pubblicati, nel sito web, contenuti che descrivano o rappresentino scene o situazioni inappropriate o tali che, secondo la sensibilità degli utenti, possano essere ritenuti lesivi delle convinzioni civili, dei diritti umani e della dignità delle persone, in tutte le sue forme ed espressioni. In ogni caso non garantisce che i contenuti del sito web siano appropriati o leciti in altri Paesi, al di fuori dell’Italia. Tuttavia, qualora tali contenuti siano ritenuti non leciti o illegali in alcuni di questi Paesi, ti preghiamo di evitare di accedere al nostro sito e ove scegliessi, in ogni caso, di accedervi, ti informiamo che l’uso che deciderai di fare dei servizi forniti dal sito sarà di tua esclusiva e personale responsabilità. L’utente sarà esclusivo responsabile della valutazione delle informazioni e del contenuto ottenibile mediante il sito web. Il sito web e tutte le informazioni ed i contenuti in esso pubblicati potranno essere modificati in qualsiasi momento e di volta in volta e senza preavviso.

Le pagine di questo sito sono protette dal diritto d’autore (copyright), in particolare a norma della legge sul diritto d’autore e il contenuto del sito è protetto contro duplicazioni, traduzioni, inserimento o trasformazione dello stesso in altri media, incluso l’inserimento o la trasformazione con mezzi elettronici. La riproduzione e lo sfruttamento economico di tutto o di parte del contenuto di questo sito sono consentite solo a seguito del consenso scritto dell’avente diritto. Sia il contenuto che la struttura del sito sono protetti dal diritto d’autore. In particolare, la duplicazione di informazioni o dati, l’uso dei testi o di parte di essi o delle immagini contenute nel sito (eccetto per le foto ad uso stampa) è consentita solo previo consenso scritto dell’avente diritto. Anche le illustrazioni, a norma dell’art. 1 della legge 633/1941 – e successive modifiche e integrazioni – sono protette dal diritto d’autore. Il diritto di pubblicazione e riproduzione di questi disegni è di titolarità dell’avente diritto. Il diritto d’autore sui disegni rimane in vigore anche per i disegni automaticamente o manualmente aggiunti a un archivio. Nulla di quanto contenuto in questo sito vale come concessione a terzi dei diritti di proprietà industriale ed intellettuale indicati in questa sezione. Ci riserviamo tutti i diritti di proprietà intellettuale del sito web.

Marchi ed immagini riferibili a soggetti terzi utilizzati in questo sito non appartengono a AlNao.it e sono da ritenersi di proprietà esclusiva dei rispettivi titolari. Le denominazioni dei prodotti pubblicati su questo sito web o delle società menzionate, anche qualora non siano indicate con il simbolo identificativo della registrazione del marchio sono marchi di titolarità di terzi e sono protetti dalla legge sui marchi (D.lgs. 30/2005 e successive modifiche e integrazioni) e dalle norme in tema di concorrenza sleale. Qualsiasi riproduzione degli stessi è da ritenersi vietata ai sensi di legge. In particolare è espressamente vietato qualsiasi uso di questi marchi senza il preventivo consenso scritto del relativo titolare ed, in particolare, è vietato utilizzarli in modo da creare confusione tra i consumatori in merito all'origine dei prodotti o per finalità di sponsorizzazione, nonché in qualsiasi modo tale da svilire e discreditare il titolare del marchio. Tutti i diritti che non sono espressamente concessi sono riservati al titolare del marchio.

In aggiunta a quanto indicato, AlNao.it non potrà essere ritenuto in alcun caso responsabile di alcun danno derivante dall'utilizzo o dall'impossibilità di utilizzare il sito web, i contenuti, le informazioni o connessi alla qualità degli stessi.

MENU