RELAZIONE FINALE DELLE ATTIVITÀ DI PCTO
Titolo dell’attività: Analisi comparativa, installazione avanzata e gestione di distribuzioni Linux in ambiente Dual-Boot e Containerizzato
Studenti: Fattori Jacopo, Samuele Calchini
Classe: 3 BIT
Istituto: IISS GADDA
Tutor Scolastico: Prof. Gianluca Cavalli
Periodo di Svolgimento: Dal 04/05/2026 al 09/05/2026
Anno Scolastico: 2025/2026
1. INTRODUZIONE E OBIETTIVI DEL PERCORSO
Il presente percorso di PCTO ha avuto come oggetto lo studio approfondito, l’ottimizzazione e la gestione dei sistemi operativi basati su kernel Linux, messi a confronto diretto con l'ambiente Microsoft Windows 11 preesistente sulle macchine ospitanti.
L'attività si è distinta per l'utilizzo di soluzioni all'avanguardia nel panorama Open Source, nello specifico la distribuzione CachyOS (derivata di Arch Linux), celebre per le sue ottimizzazioni prestazionali. Il percorso non si è limitato a una semplice installazione guidata, ma ha abbracciato concetti sistemistici di alto livello: dalla gestione dei bootloader di nuova generazione e dei file system avanzati (Copy-on-Write), fino all'analisi delle interfacce grafiche moderne basate su protocollo Wayland e alla virtualizzazione di livello OS tramite container Docker e Podman.
Gli obiettivi principali prefissati e raggiunti sono stati:
- Analizzare le differenze di performance tra architetture Windows e Linux.
- Configurare un system multi-boot tramite la manipolazione dei firmware UEFI/BIOS.
- Comprendere l'amministrazione dei pacchetti e la gerarchia del File System Unix-like.
- Implementare politiche di backup e manutenzione tramite snapshot di sistema.
- Apprendere i vantaggi della containerizzazione dei servizi in ambito aziendale.
2. DIARIO DELLE ATTIVITÀ E ARCHITETTURA TECNICA
04/05/2026 – Benchmarking Iniziale, Configurazione UEFI e Architettura di Boot
L'attività è iniziata con la definizione di una base di calcolo (baseline) prestazionale del sistema Windows 11 nativo, effettuando test di velocità computazionale e di rete mediante le piattaforme Octane 2.0 Plus e Speedtest di Ookla.
Successivamente, si è passati alla fase di preparazione del firmware della scheda madre. È stato eseguito l'accesso al BIOS/UEFI per disabilitare il Secure Boot, operazione fondamentale in quanto tale funzionalità di sicurezza potrebbe identificare erroneamente i bootloader Linux non firmati da Microsoft come minacce, impedendo l'avvio del sistema.
Per la preparazione del supporto di installazione USB tramite il software Rufus, è stata analizzata la differenza tra la scrittura in modalità ISO standard e la modalità DD (Disk Image). Si è constatato che la modalità DD effettua una copia "bit a bit" speculare dell'immagine sul supporto, rendendo la partizione non modificabile e replicando anche l'eventuale struttura di blocchi del file d'origine.
In fase di installazione di CachyOS, è stata operata una scelta architetturale cruciale riguardante il bootloader e il kernel:
- Bootloader Limine: A differenza del tradizionale GRUB, spesso considerato obsoleto e affetto da una complessa configurazione, si è optato per Limine. Questo bootloader moderno si è dimostrato estremamente leggero, rapido nella fase di inizializzazione e dotato di un file di configurazione sintetico e di facile comprensione.
- Kernel Linux-CachyOS: È stato implementato un kernel ottimizzato che integra lo scheduler BORE (Burst-Oriented Response Enhancer), progettato per ridurre drasticamente la latenza del sistema e migliorare la reattività dei processi in primo piano.
- File System BTRFS: Impostato come file system principale, scelto per le sue capacità native di generare Snapshot (fotografie istantanee dello stato del sistema) salvate direttamente all'interno del subvolume, indispensabili per il ripristino post-aggiornamento.
Come interfaccia utente è stato scelto il compositore Wayland Niri, anche se siamo partiti con KDE Plasma perchè venivano riscontrati problemi nell'installazione' un window manager di tipo tiling unico nel suo genere, che organizza le finestre in un nastro orizzontale a scorrimento infinito, distaccandosi dai classici paradigmi desktop.
05/05/2026 – Ottimizzazione di Rete, Analisi Comparativa e Struttura del File System
La seconda giornata si è aperta con un'attività di infrastruttura di rete in modalità cooperativa. Per massimizzare le velocità di download e azzerare le latenze del Wi-Fi di laboratorio, è stato installato uno switch di rete locale cablando i PC tramite cavi Ethernet LAN.
Una volta completata la configurazione dell'ambiente Niri, sono stati ripetuti i benchmark del giorno precedente per monitorare l'efficienza dei componenti sotto Linux.
- Risultati Octane 2.0 Plus su Linux: Octane Score: 30.566 | Multi Core Score: 277.336.
- Stress Test CPU: Durante la riproduzione simultanea di 3 flussi video in risoluzione 4K su YouTube, il carico della CPU si è stabilizzato in un range ottimale compreso tra il 53% e il 71%.
- Analisi Scheduler (Voce Richards): Il test ha evidenziato un punteggio di 27.737 su Windows contro i 13.009 dello scheduler BORE su Linux. L'analisi teorica dei dati ha tuttavia rivelato che l'esecuzione di Octane su Windows tramite Google Chrome gode di un'ottimizzazione software superiore di circa il 31% rispetto all'accoppiata Linux/Firefox.
La giornata si è conclusa con lo studio della struttura logica dei sistemi Unix-like, caratterizzata da una struttura gerarchica ad albero rovesciato facente capo a un'unica radice denominata root (/). Questo approccio contrasta nettamente con la logica Microsoft Windows, che frammenta l'archiviazione in unità logiche distinte identificate da lettere alfabetiche (es. C:, D:).
06/05/2026 – Gestione del Software (I 4 Pilastri) e Interfaccia CLI
L'attività ha focalizzato l'attenzione sull'uso della Konsole (il terminale di CachyOS). Tramite la CLI sono stati installati software multimediali e di produttività (VLC, OBS Studio, LibreOffice Fresh, Discord, Spotify) evidenziando come l'interfaccia a riga di comando offra prestazioni, automazione e trasparenza superiori rispetto alle interfacce grafiche (GUI).
È stato approfondito lo studio dei 4 pilastri della distribuzione del software su Linux:
| Canale di Distribuzione | Caratteristiche Principali | Vantaggi | Svantaggi |
|---|---|---|---|
| Repository Ufficiali | Pacchetti verificati dai manutentori della distro. | Massima sicurezza e stabilità. | Aggiornamenti meno frequenti, software a volte datato. |
| AUR (Arch User Repository) | Repository gestito direttamente dalla community. | Scelta software immensa e aggiornatissima. | Minore controllo centralizzato sulla sicurezza. |
| Flatpak | Sistemi di packaging sandbox universali. | Funziona su qualsiasi distro senza conflitti. | Elevato consumo di spazio su disco (dipendenze incluse). |
| AppImage | File singolo eseguibile standalone. | Nessuna installazione o dipendenza esterna. | Mancanza di aggiornamenti automatici e integrazione d'ambiente. |
Nota tecnica d'ambiente: si è osservato che, a causa delle severe regole di gestione delle dipendenze del gestore pacchetti pacman, il tentativo di rimozione forzata di determinati pacchetti correlati a Flatpak può generare errori di blocco nel sistema.
A livello di automazione strutturale, è stato testato il comando centralizzato cachyos-update, uno script proprietario in grado di aggiornare simultaneamente tutti i canali software del sistema in un'unica sessione. In serata, l'ambiente Niri è stato arricchito con la compilazione di una Waybar personalizzata per il monitoraggio in tempo reale di CPU, temperature del core e processi attivi.
07/05/2026 – Gestione Avanzata BTRFS, Meccanismo Copy-on-Write e Memoria Virtuale
La quarta giornata è stata dedicata ai servizi di manutenzione del file system BTRFS tramite il set di utility BTRFS Maintenance. È stato approfondito l'uso del demone Snapper per l'automazione degli snapshot.
La superiorità architetturale rispetto ai sistemi tradizionali risiede nel meccanismo Copy-on-Write (CoW): quando viene generato uno snapshot, BTRFS non duplica i dati, ma crea dei puntatori ai blocchi esistenti; solo quando un file viene modificato, i nuovi dati vengono scritti altrove. Questo garantisce backup istantanei a consumo di spazio quasi nullo.
Sono stati appresi ed eseguiti due comandi vitali per l'integrità del disco:
- Scrub: Scansione a basso livello per rilevare e correggere preventivamente la corruzione silente dei dati (bit rot).
- Balance: Ridistribuzione dei blocchi di dati per ottimizzare lo spazio e mantenere la struttura interna del file system bilanciata.
È stato simulato con successo un ripristino di sistema (rollback) a uno snapshot generato due giorni prima, confermando l'efficacia della tecnologia. Si è inoltre constatato come, di default, Linux tenda ad automatizzare i backup dei file di sistema lasciando all'utente la responsabilità dei dati personali.
Infine, è stata analizzata la Zram in sostituzione dello Swap classico su disco. La Zram crea un dispositivo di blocco compresso all'interno della memoria RAM fisica: quando il sistema richiede memoria virtuale, i dati vengono compressi al volo dentro la RAM stessa, evitando i lenti cicli di lettura/scrittura sui dischi fissi e garantendo performance nettamente superiori. Nel corso della giornata sono stati eseguiti test di configurazione installando l'ambiente desktop COSMIC (interfaccia moderna scritta in Rust, sebbene ancora in fase beta) e il file system ZFS, evidenziando come quest'ultimo sia tuttavia troppo esoso di risorse e maggiormente orientato ad ambienti server/datacenter.
08/05/2026 – Containerizzazione dei Servizi (Docker, Podman) e Architetture Aziendali
L'attenzione si è spostata sui sistemi di containerizzazione a livello di sistema operativo, installando Docker e Docker Compose. La differenza fondamentale risiede nel fatto che mentre Docker gestisce singoli container isolati, Compose permette l'orchestrazione di architetture multi-container interconnesse tramite la compilazione di file di configurazione in formato dichiarativo .yml.
È stata eseguita un'analisi comparativa tra i motori di containerizzazione Docker e Podman:
- Docker: Si affida a un'architettura client-server basata su un demone centrale che deve essere costantemente eseguito con privilegi di amministratore (root), rappresentando un potenziale vettore di vulnerabilità.
- Podman: Adotta un approccio daemonless e rootless. Ogni container viene eseguito come un normale processo utente non privilegiato, elevando gli standard di sicurezza informatica.
Per ottimizzare il flusso di lavoro sulla Konsole, l'utente locale è stato inserito nel gruppo di sicurezza di Docker. Tramite il comando newgrp docker è stato possibile applicare i nuovi privilegi del gruppo in tempo reale nella sessione corrente del terminale, evitando di dover effettuare un intero logout/login dal sistema operativo.
Sono stati studiati i 4 flag essenziali per il deployment di un container tramite CLI:
-p(Port Mapping): Reindirizza una porta della macchina host verso l'interno del container (es.8080:80).-v(Volume Mount): Collega in modo persistente una cartella dell'host al file system isolato del container.-e(Environment Variables): Fornisce variabili di configurazione dinamiche all'applicazione interna.-m(Memory Limit): Imposta un tetto massimo di memoria RAM allocabile dal singolo container per evitare saturazioni.
I container attivi sono stati monitorati tramite il comando docker ps e amministrati graficamente tramite la dashboard di Portainer, analizzando i log applicativi in tempo reale.
Focus Tecnologico: Perché la containerizzazione è superiore all'installazione locale?
La containerizzazione di un servizio aziendale (o di un server applicativo) isola completamente l'applicazione e le sue dipendenze dal sistema operativo ospite (host), eliminando i conflitti tra librerie software. Garantisce una portabilità assoluta (funziona allo stesso modo su qualsiasi macchina) e permette il ripristino o la scalabilità del servizio in pochissimi secondi in caso di crash energetico o software, reducendo a zero i tempi di inattività rispetto a un'installazione nativa locale.
La giornata si è conclusa con l'installazione dell'ambiente desktop GNOME, personalizzato tramite il tool GNOME Tweaks per la modifica di temi e font, e l'integrazione dell'estensione Pop Shell per abilitare il tiling automatico delle finestre.
09/05/2026 – Ottimizzazione Avanzata per il Gaming e Configurazione Server
L'ultimo giorno del percorso è stato dedicato alla sperimentazione autonoma finalizzata all'ottimizzazione del sistema per carichi di lavoro specifici, come il gaming.
È stato installato il kernel specializzato linux-cachyos-lto, il quale sfrutta l'ottimizzazione a livello di collegamento (Link-Time Optimization) in fase di compilazione per estrarre le massime performance dall'hardware in esecuzione.
Parallelamente, si è scelto di riconfigurare la partizione di archiviazione sostituendo il file system BTRFS con il più tradizionale ed essenziale ext4. Pur rinunciando alle funzionalità avanzate di snapshot e CoW, il file system ext4 offre un minor sovraccarico della CPU (overhead) e una gestione dei file più snella, ideale per massimizzare il framerate e la fluidità nell'esecuzione di applicativi pesanti. Tramite l'ambiente CLI e l'installazione dei runtime Java correlati, è stato infine configurato e avviato con successo un server dedicato di Minecraft (tramite l'eseguibile T-Launcher .jar), testando sul campo le capacità di risposta e la stabilità della macchina come server locale.
3. COMPETENZE ACQUISITE E ANALISI DELLE SOFT SKILLS
Il percorso ha consentito un'evoluzione bilanciata sia delle competenze prettamente settoriali sia delle attitudini trasversali.
Hard Skills (Competenze Tecniche):
- Gestione avanzata dei sistemi di avvio UEFI, bootloader alternativi (Limine) e partizionamento sicuro in Dual-Boot.
- Amministrazione sistemistica tramite terminale (CLI Linux) e automazione degli aggiornamenti.
- Configurazione, monitoraggio e manutenzione di file system moderni (BTRFS) e memorie volatili compresse (Zram).
- Deployment e orchestrazione di microservizi in ambiente isolato tramite Docker, Docker Compose e Portainer.
Soft Skills (Competenze Trasversali):
- Problem Solving & Troubleshooting: L'installazione di sistemi operativi e interfacce grafiche in fase di sviluppo (come COSMIC Beta o Niri) ha comportato imprevisti e bug d'ambiente. La risoluzione è passata attraverso l'analisi dei log di sistema e la consultazione della documentazione ufficiale, sviluppando una spiccata autonomia di ricerca.
- Lavoro di Squadra e Iniziativa: L'iniziativa di cablare autonomamente il laboratorio tramite switch e cavi LAN ha dimostrato capacità organizzative e spirito di cooperazione, migliorando l'efficienza lavorativa dell'intero gruppo.
4. CONSIDERAZIONI FINALI
L'esperienza di FSL svolta nel mese di maggio 2026 si è rivelata di fondamentale importanza per il nostro percorso formativo. Il passaggio dall'interfaccia utente di Windows 11 a un controllo granulare basato su Linux ha ridefinito il nostro approccio all'informatica.
La comprensione dell'efficienza della riga di comando, l'eleganza logica dell'albero dei file Unix e la potenza architetturale dei container Docker rappresentano strumenti conoscitivi di altissimo valore. Le competenze maturate aprono solide prospettive per i miei futuri studi accademici e si allineano perfettamente con i profili professionali più richiesti nel mercato del lavoro IT, quali l'Amministratore di Sistema (SysAdmin) e l'ingegnere DevOps.
Un ringraziamento speciale va al Professor Cavalli, la cui straordinaria competenza e costante disponibilità sono state la vera guida di questo percorso. Grazie alla sua lungimiranza nel proporre un progetto così innovativo, abbiamo avuto l'opportunità unica di acquisire competenze pratiche, diverse da ciò che facciamo solitamente nelle materie di indirizzo, che faranno la differenza nel nostro futuro professionale.