Ecco una proposta di testo per le tue slide, strutturata in modo conciso e pronta per essere utilizzata in aula.
Slide 1: Virtualizzazione vs Containerizzazione
- Virtual Machine (VM): Un sistema completo (BIOS, kernel, OS) emulato sopra un host fisico tramite un hypervisor.
- Container: Isolamento a livello di processo; condividono il kernel dell'host, offrendo minore overhead e avvio quasi istantaneo.
- Isolamento: Le VM offrono un isolamento hardware forte; i container si basano su namespaces e cgroups del kernel Linux.
Slide 2: Gestione degli stati e Snapshot
- Snapshot: Backup "punto nel tempo" dello stato della VM (disco e memoria).
- Rollback: Permette di ripristinare rapidamente il sistema a uno stato precedente in caso di errori durante i test.
- Versatilità: Ideale per sperimentare nuovi software o patch senza compromettere l'ambiente host.
Slide 3: Networking in VirtualBox
- NAT (Network Address Translation): La VM accede a internet tramite l'host; la VM non è raggiungibile dall'esterno.
- Host-only: Rete privata tra host e VM; utile per isolare i servizi ma permettere la gestione locale.
- Bridged: La VM appare come un nodo reale nella rete fisica, ottenendo un IP dallo stesso router dell'host.
Slide 4: Vagrant Setup & Vagrantfile
- Cos'è Vagrant: Tool per definire e gestire ambienti virtuali tramite codice (Infrastructure as Code).
- Vagrantfile: File di configurazione in Ruby che definisce la "box" (immagine OS) e le risorse della VM.
- Comandi base:
vagrant init(inizializza),vagrant up(avvia),vagrant halt(arresta),vagrant destroy(elimina).
Slide 5: Esercitazione Pratica
Slide 6: Navigazione e Ricerca nel Filesystem
- Comandi base:
lselenca i file,cdcambia directory, epwdmostra la posizione attuale nel sistema. - Ricerca:
findindividua file in base ad attributi (nome, data, permessi);grepfiltra il testo per trovare pattern specifici. - Pipes (|): Collegano l'output di un comando all'input di un altro, permettendo di combinare più strumenti semplici in operazioni complesse.
Slide 7: Visualizzazione e Gestione dell'Output
- Lettura:
lesspermette di scorrere file lunghi una schermata alla volta;headetailmostrano rispettivamente l'inizio e la fine di un file. - Monitoraggio:
tail -fvisualizza le nuove righe aggiunte a un file in tempo reale, fondamentale per i file di log.
Slide 8: File Management e Permessi
- Manipolazione:
cpper copiare,mvper spostare o rinominare, ermper eliminare file o intere directory (rm -r). - Accesso:
chmodmodifica i permessi (lettura, scrittura, esecuzione);chowncambia il proprietario e il gruppo di un file o directory.
Slide 9: Sincronizzazione e Archiviazione
- Archivio:
tarraggruppa più file e directory in un unico file (es..tar.gz) mantenendo la struttura originale. - Efficienza:
rsyncè lo strumento standard per la sincronizzazione; trasferisce solo le differenze tra i file, risparmiando tempo e banda.
Slide 10: Gestione dei Processi e Sistema
- Monitoraggio:
psfornisce un'istantanea dei processi attivi;topohtopoffrono una vista dinamica dell'uso di CPU e memoria. - Servizi:
systemctlgestisce le unità di sistema e i daemon (servizi in background).
Slide 11: Editor di Testo: vi/vim
- Essenziali: Editor modale presente su quasi ogni sistema Linux.
- Modalità: Inizia in Command mode; premi
iper passare alla Insert mode. - Comandi:
:wsalva,:qesce,:wqsalva ed esce.
Slide 12: Package Managers
- RedHat/AlmaLinux: Utilizzano
dnf(alto livello) erpm(basso livello) per la gestione dei pacchetti. - Debian/Ubuntu: Utilizzano
aptedpkg. - Funzionamento: I manager risolvono le dipendenze scaricando automaticamente le librerie necessarie dai repository remoti.
Slide 13: Service Management (systemctl)
systemctl start/stop: Avvia o arresta un servizio immediatamente.systemctl enable/disable: Configura l'avvio automatico del servizio al boot del sistema.systemctl status: Mostra se un servizio è attivo e visualizza gli errori recenti.
Slide 15: Esercitazione Pratica
- Task: Installare il broker MQTT
mosquittoe avviarlo come servizio. - Comandi:
sudo dnf install mosquittosudo systemctl enable --now mosquitto