dgt_sys04 – Sistemi di pacchetti RPM e DEB

Titolo del modulo: dgt_sys04 – Sistemi di gestione dei pacchetti RPM e DEB

Panoramica:
Questo modulo tratta i sistemi di gestione dei pacchetti di Linux, con particolare attenzione a RPM (Red Hat Package Manager) e DEB (pacchetto Debian). I partecipanti studiano come funzionano pacchetti, repository e dipendenze sia sulle distribuzioni basate su RPM, come Fedora e CentOS, sia su quelle basate su DEB, come Debian e Ubuntu, e poi gestiscono i pacchetti nella pratica istruendo la macchina in linguaggio naturale.

Obiettivi del modulo:
– Comprendere i principi fondamentali dei sistemi di gestione dei pacchetti di Linux.
– Capire come i pacchetti vengono installati, aggiornati, rimossi e gestiti nei formati RPM e DEB, così da poter chiedere queste operazioni alla macchina e verificarne il risultato.
– Esplorare strumenti avanzati di gestione dei pacchetti come dnf per RPM e apt per i sistemi DEB, e imparare a leggere i comandi che la macchina esegue con essi.
– Distinguere i formati RPM e DEB per struttura, casi d’uso e supporto dell’ecosistema.
– Sviluppare la capacità di diagnosticare i problemi più comuni di installazione e di dipendenze e di guidare la macchina verso la soluzione corretta.

Argomenti principali:
1. Introduzione ai sistemi di gestione dei pacchetti
– Panoramica delle distribuzioni Linux e delle loro esigenze di gestione dei pacchetti.
– Contesto storico ed evoluzione dei formati RPM e DEB.

  1. Comprendere i pacchetti RPM
  2. Struttura e componenti di un file RPM.
  3. Cosa fa il comando rpm nelle operazioni di base: installazione, interrogazione, verifica.
  4. Il passaggio agli strumenti avanzati: introduzione a dnf.
  5. Sessione in linguaggio naturale: chiedi alla macchina di installare e interrogare pacchetti con dnf, poi controlla la transazione che propone prima di confermare.

  6. Esplorare i pacchetti DEB

  7. Anatomia di un pacchetto DEB.
  8. Come dpkg gestisce le operazioni di base sui pacchetti.
  9. Il passaggio ad apt: APT vs. DPKG.
  10. Esercizi in cui guidi la macchina nella gestione dei pacchetti con apt e verifichi cosa ha installato, aggiornato o rimosso.

  11. Analisi comparativa: RPM vs. DEB

  12. Differenze chiave nei formati dei pacchetti e nella gestione dei metadati.
  13. Gli ecosistemi delle distribuzioni e il loro impatto sulla disponibilità dei pacchetti.
  14. Casi di studio che illustrano scenari in cui si può preferire RPM a DEB, o viceversa.

  15. Tecniche avanzate di gestione dei pacchetti

  16. Gestire le dipendenze e risolvere i conflitti.
  17. Automatizzare l’installazione dei pacchetti: descrivere l’obiettivo alla macchina e revisionare lo script che genera.
  18. Aspetti di sicurezza nella gestione dei pacchetti.

  19. Troubleshooting e best practice

  20. Errori comuni e come evitarli.
  21. Garantire l’integrità del sistema durante gli aggiornamenti dei pacchetti.
  22. Mantenere un ambiente di sistema pulito ed efficiente.

Prerequisiti:
– Conoscenza di base dei sistemi operativi Linux e del funzionamento dell’interfaccia a riga di comando.
– La familiarità con concetti come repository, dipendenze e permessi dei file è utile ma non obbligatoria.

Risultati di apprendimento:
Al termine del modulo, i partecipanti sapranno gestire i pacchetti software sia su sistemi basati su RPM sia su sistemi basati su DEB dando alla macchina istruzioni chiare e ben delimitate. Sapranno leggere e comprendere i comandi dnf e apt che esegue, riconoscere le differenze tra le due filosofie di gestione dei pacchetti e risolvere con sicurezza i problemi legati ai pacchetti, accorgendosi quando la macchina sta per rimuovere il pacchetto sbagliato o introdurre una dipendenza indesiderata.

Formato del modulo:
Il modulo combina lezioni teoriche e laboratori in linguaggio naturale. Non digiti mai tu i comandi di gestione dei pacchetti: chiedi alla macchina, ad esempio, di installare un web server dai repository ufficiali sia su un host Fedora sia su un host Ubuntu, poi confronti le transazioni dnf e apt che ti mostra, controlli versioni e dipendenze alla luce di quanto hai studiato e la correggi se qualcosa non torna. Il modulo comprende anche discussioni interattive e dimostrazioni dal vivo.

Gli studenti possono caricare i propri esercizi nel Progetto Git dell’Academy DevOps & SRE. Per questo modulo, crea una cartella con il tuo username come nome nella seguente sottocartella: https://github.com/Garanti-Del-Talento/gdt_academy