Skip to Content

Concorso LugRoma3: Domanda 8

Una domanda classica:

Descrivete il funzionamento dei principali package manager utilizzati dalle distribuzioni di Linux, evidenziando vantaggi e svantaggi di ogni singola soluzione.

Vi ricordiamo che la classifica viene stabilita in base alla correttezza, completezza e rapidità della risposta.

Rispondete inviando un messaggio di posta elettronica.

Per questa domanda avete tempo fino a giovedì 7 alle ore 24:00.

La risposta corretta è:
- I principali package manager per le distribuzioni Linux sono dpkg per le distribuzioni basate su Debian, rpm per le distribuzioni basate su RedHat e la suite pkgtool per Slackware e derivati. Discorso a parte meritano le utilitiy di gestione derivate dai ports dei *BSD (tra cui portage, usato da Gentoo), in quanto in realtà non gestiscono pacchetti binari o sorgenti ma procedure per compilare ed installare software.
- Nel tempo a ciascun package manager sono state affiancate utility che permettono di reperire pacchetti e dipendenze da archivi online, semplificando notevolmente la procedura di installazione di nuovo software. Tra queste utility sono apt per dpkg e derivati, yum e urpmi per rpm, etc.
- Ogni package manager gestisce delle 'dipendenze', cioè per ogni pacchetto è possibile indicare quali pacchetti sono necessarie per far funzionare il software nel pacchetto
- I vantaggi principali di dpkg sono: gestione delle dipendenze capillare, capacità di aggiornare programmi in esecuzione, algoritmi di risoluzione dei conflitti molto robusti (in utility accessorie come apt-get o aptitude). Tra gli svantaggi: impossibilità di definire dipendenze su singole librerie invece che sul pacchetto che le contiene.
- Per rpm i vantaggi sono: grande diffusione, possibilità di definire dipendenze sulle librerie, possibilità di effettuare aggiornamenti con DeltaRPM in cui sono contenute solo le differenze. Svantaggi: complessità del sistema di gestione delle dipendenze e incapacità di mescolare pacchetti di distribuzioni diverse
- Il vantaggio principale di pkgtool è la sua semplicità (si tratta di un archivio tar con i file da installare e uno script da eseguire), gli svantaggi risiedono nella limitatezza del risolutore delle dipendenze e dei conflitti
- Il vantaggi principali dei sistemi basati sui 'ports' risiedono nella possibilità di compilare i pacchetti in maniera ottimizzata rispetto al sistema senza aumentare le dimensioni dell'archivio dei pacchetti; tra gli svantaggi la difficoltà di gestire la rimozione dei pacchetti installati se i parametri di compilazione modificano il numero di file installati e impossibilità di verificare l'integrità dei binari installati.
- Infine una curiosità: tutti i formati dei pacchetti binari sono basati su utilità di archiviazione normalmente disponibili su Linux: tar per pkgtool, arper dpkg e cpio per rpm. E quindi sempre possibile aprire un pacchetto 'a mano'.

La classifica per questa domanda è la seguente:

  • dottor_p[AT]libero[DOT]it: 25
  • alexevil69[AT]gmail[DOT]com: 20
  • brianmay84[AT]gmail[DOT]com: 16
  • daniele.athome[AT]gmail[DOT]com: 13