Basi di Linux: software libero, kernel e desktop Ubuntu
Conosciamo uno dei software più utilizzati: Linux. Da Richard Stallman e GNU al kernel, dalle distribuzioni ai comandi base: chiusura del Modulo 1 con parte pratica su Ubuntu.
1. Software libero e Open Source
Quando si parla di Linux è utile partire dal modo in cui il software viene sviluppato, distribuito e concesso in licenza. Il termine open source non significa semplicemente “gratuito”: riguarda soprattutto la disponibilità del codice sorgente e le condizioni stabilite dalla licenza.
Software libero: nel progetto GNU, la libertà riguarda ciò che l’utente può fare con il programma: eseguirlo, studiarne il funzionamento, modificarlo e condividere copie o versioni modificate secondo la licenza.
Ragazzi, quando Stallman parla di software libero, intende 4 libertà: 0) eseguirlo per qualsiasi scopo, 1) studiare come funziona (serve codice sorgente), 2) ridistribuire copie, 3) migliorare e ridistribuire miglioramenti. Se manca una, non è libero. Non è questione di prezzo, è questione di diritti. Linux è libero perché rispetta queste 4 libertà.
2. Gratuito e libero non sono sinonimi
| Concetto | Significato | Esempio |
|---|---|---|
| Freeware | Utilizzabile senza pagamento, ma la licenza può imporre limitazioni | Software proprietario distribuito gratuitamente |
| Open source | Codice sorgente disponibile secondo i termini di una licenza | Progetto sviluppato pubblicamente e modificabile nei limiti della licenza |
| Software libero | Mette al centro le libertà dell’utente nell’uso, studio, modifica e condivisione | Software distribuito con licenza libera |
Esempio: un programma può essere scaricabile gratuitamente ma non consentire di modificare il codice sorgente. Il prezzo, quindi, non basta per stabilire se un software è libero.
Dire "Linux è gratis quindi è open source" è sbagliato al contrario. Open source non significa gratis, significa codice aperto. Ci sono software open source a pagamento (es. Red Hat Enterprise) e software gratis chiusi (es. freeware che non puoi modificare). Gratis è prezzo, libero/open è diritti. Sono due assi diversi.
3. GNU e GPL
Il progetto GNU, avviato da Richard Stallman negli anni Ottanta, ha avuto un ruolo fondamentale nella diffusione dell’idea di software libero. La GNU General Public License (GPL) è una delle licenze più note dell’ecosistema GNU.
La GPL è una licenza copyleft: permette di utilizzare, studiare, modificare e ridistribuire il software rispettando le condizioni previste dalla licenza. Nella distribuzione di versioni modificate entrano in gioco specifici obblighi di licenza, tra cui quelli relativi alla disponibilità del codice sorgente previsto dalla GPL.
Copyright dice "tutti i diritti riservati". Copyleft dice "tutti i diritti ribaltati": puoi usare, modificare, ridistribuire, MA se ridistribuisci versione modificata, devi farlo con stessa licenza GPL e fornire codice sorgente. È virale: protegge la libertà. È per questo che Linux è rimasto libero per 30 anni: nessuno può chiuderlo e renderlo proprietario.
Invece di ricordare “open source = gratis”, conviene chiedersi: quali diritti mi concede la licenza sul programma e sul suo codice? Se all'esame vi chiedono differenza, rispondete con tabella freeware/open/libero e citate GPL copyleft. Prendete punteggio pieno.
4. Linux: kernel, distribuzioni e pacchetti
In senso stretto, Linux è il kernel: il componente centrale che gestisce CPU, memoria, periferiche e dispositivi di archiviazione e offre servizi fondamentali ai programmi.
Un sistema GNU/Linux completo comprende però molti altri componenti. Nell’uso quotidiano si parla quindi di distribuzione Linux per indicare un insieme organizzato di kernel, strumenti, librerie, applicazioni e sistemi di gestione.
Il kernel è il nucleo del sistema; una distribuzione combina il kernel con strumenti e software scelti e organizzati dal progetto che la sviluppa. Linux = kernel di Linus Torvalds 1991. GNU/Linux = kernel + strumenti GNU di Stallman + altro. Distribuzione = tutto impacchettato pronto da installare.
1991 Linus Torvalds studente finlandese scrive kernel Linux per divertimento, lo mette online gratis. Stallman aveva già scritto tutti gli strumenti GNU ma gli mancava kernel. Uniscono: GNU + Linux = sistema completo libero. Da allora collaborazione mondiale. Senza questa unione, non avremmo Android, server Internet, supercomputer: 96% di Internet gira su Linux.
5. Debian, Ubuntu, Kali e altre - Perché tante distribuzioni?
| Distribuzione | Descrizione | Per chi |
|---|---|---|
| DEBIAN | Distribuzione storica orientata alla stabilità e alla gestione strutturata dei pacchetti | Server, puristi stabilità |
| UBUNTU | Derivata da Debian, pensata per ambiente accessibile e utilizzabile in diversi contesti | Principianti, desktop, scuola (noi) |
| KALI LINUX | Basata su Debian orientata a sicurezza informatica, analisi e penetration testing in contesti autorizzati | Cybersecurity, pentest legale |
| ALTRE | Fedora, Arch, Mint, Manjaro... obiettivi, strumenti e politiche aggiornamento differenti | Esigenze specifiche |
Perché tante distribuzioni? Linux è un ecosistema. Distribuzioni diverse possono privilegiare semplicità, stabilità, leggerezza, sicurezza, sviluppo o utilizzi specialistici.
In questo corso usiamo Ubuntu perché è Debian-based ma user-friendly, ha tantissima documentazione, APT semplice, GNOME familiare per chi viene da Windows. Per cybersecurity in 4°/5° passeremo a Kali, che ha già dentro Wireshark, Nmap, Metasploit. Stessa base, scopi diversi. Imparate Ubuntu ora, Kali dopo sarà facile.
6. Pacchetti e repository
Le applicazioni vengono spesso distribuite sotto forma di pacchetti. Nelle distribuzioni Debian e Ubuntu è comune il formato .deb e il sistema di gestione APT.
sudo permette di eseguire un comando con privilegi amministrativi (root). Va utilizzato consapevolmente e solo quando necessario. sudo rm -rf / cancella tutto il sistema! Non copiate mai comandi con sudo da Internet senza capire cosa fanno. sudo = super poteri, ma anche super responsabilità.
Repository è come Play Store ma libero e verificato: contiene migliaia di pacchetti testati. Con apt update aggiorni lista pacchetti disponibili, con apt install installi. Non dovete andare su siti strani a scaricare .exe come su Windows, tutto passa da repository ufficiale sicuro. È uno dei motivi per cui Linux prende meno virus.
7. Avvio e arresto del sistema
Quando accendiamo un computer Linux, il sistema attraversa più fasi: firmware, caricamento del sistema, avvio dei servizi e, nei sistemi desktop, avvio dell’ambiente grafico.
Arrestare correttamente Ubuntu: al termine del lavoro è importante utilizzare la procedura di spegnimento del sistema invece di interrompere direttamente l’alimentazione. In questo modo il sistema può completare le operazioni pendenti e chiudere correttamente file e servizi.
Caso d’uso: se hai appena salvato un documento o copiato file su una memoria USB, lo spegnimento corretto permette al sistema di completare le operazioni di scrittura prima dell’arresto. Se stacchi corrente mentre scrive, corrompi file o filesystem. Vale per Windows e Linux: sempre Shutdown/Poweroff, mai staccare spina.
8. Il desktop Ubuntu e l’interfaccia delle applicazioni
Ubuntu utilizza normalmente un ambiente desktop basato su GNOME. L’aspetto può cambiare tra versioni e configurazioni, ma i concetti fondamentali dell’interfaccia restano: finestre, menu, strumenti, aree di lavoro e sistemi di navigazione.
Elementi principali di una finestra:
Esempio: nel gestore dei file Nautilus, quando una cartella contiene molti elementi, puoi usare lo scorrimento o modificare la modalità di visualizzazione invece di cambiare la dimensione dei file.
Barra superiore con attività, dock laterale con app preferite, finestre con chiudi/minimizza. Concetti uguali a Windows, posizioni diverse. Non cercate Start in basso, cercate Attività in alto a sinistra. Dopo 1 giorno ci fate abitudine. In 5° proveremo anche KDE e XFCE per vedere differenze.
9. File e cartelle
La gestione di file e cartelle è una delle attività fondamentali di un sistema operativo. In Linux l’organizzazione dei dati segue una struttura gerarchica: le directory possono contenere altre directory e file, identificati attraverso percorsi.
Directory: è una cartella, cioè un contenitore logico utilizzato per organizzare file e altre cartelle.
Il percorso di un file:
Operazioni fondamentali:
| Operazione | Significato | Esempio |
|---|---|---|
| Creare | Generare nuova cartella o file | Creare Esercizi |
| Spostare | Cambiare posizione a elemento | Spostare Capitali dentro Nazioni |
| Rinominare | Cambiare nome senza modificare contenuto | Rinominare Alfa in Nazioni |
| Cancellare | Rimuovere elemento dalla struttura | Eliminare cartella non più necessaria |
Interfaccia grafica e terminale:
Comandi come rm vanno usati con particolare cautela perché una cancellazione dal terminale può non passare dal cestino grafico. rm -rf Nazioni cancella cartella e tutto dentro senza chiedere. Non c'è Ctrl+Z! Prima fate ls per vedere cosa c'è, poi rm. Io in classe insegno sempre: guarda, verifica, poi cancella.
10. Un metodo semplice per lavorare con Linux
Per non imparare soltanto una lista di comandi, conviene ragionare sempre in tre passaggi:
Quando si passa da Windows a Linux cambiano nomi, strumenti e organizzazione dell’interfaccia, ma il concetto rimane lo stesso: il sistema operativo organizza risorse e dati e fornisce strumenti per gestirli. File system gerarchico, finestre, permessi, utenti: concetti uguali, implementazione diversa. Se avete capito Windows Lezione 4, Linux Lezione 5 è traduzione, non rivoluzione.
11. Esercizio guidato e riepilogo Modulo 1
L’esercizio associato alla lezione combina le operazioni appena studiate. L’obiettivo non è soltanto ottenere il risultato finale, ma verificare ogni passaggio.
Software libero e open source riguardano diritti e condizioni d’uso, non semplicemente il prezzo. La GPL è una licenza libera copyleft molto importante nell’ecosistema GNU. Linux è il kernel; una distribuzione combina il kernel con strumenti e software. Debian, Ubuntu e Kali sono distribuzioni con finalità differenti. I pacchetti APT (.deb) permettono di installare, aggiornare e rimuovere software in modo organizzato. Ubuntu offre ambiente grafico GNOME per gestire applicazioni, finestre e file. File e directory formano struttura gerarchica /home/studente/... e possono essere gestiti con GUI o terminale (mkdir, mv, touch, rm).
Vuoi passare all'azione? Accedi alla repository ufficiale GitHub del corso per scaricare il file del laboratorio pratico in formato .md.
⌨ Lab UbuntuVuoi consultare la sezione dedicata ai laboratori sul sito? Accedi cliccando il pulsante qui sotto.
📊 Sezione dedicata ai Laboratori🎉 Fine Modulo 1 - Complimenti!
Avete chiuso il Modulo 1: dal cos'è un computer, al software, alla rappresentazione digitale, a Windows e Linux. Avete basi per affrontare Modulo 2: reti, sistemi di numerazione avanzati, conversioni e prime configurazioni. Esercizio per casa: rifate su Ubuntu (o VM) l'esercizio Nazioni/Capitali sia con GUI che con terminale. Se vi riesce senza guardare appunti, siete pronti per Modulo 2.