Rimozione metapacchetti in Debian
Un metapacchetto rappresenta una forma di astrazione usata, tipicamente, nel sistema di pacchettizzazione .deb.
Un metapacchetto rappresenta, infatti, un pacchetto vuoto, la cui unica importanza è determinata dalle dipendenze.
Alcuni esempi:
- kde
- gnome-desktop
- gnome-office
- koffice
- ecc
In fase di installazione di una suite, come Gnome, questo comporta che un solo metapacchetto permette l'installazione di tutti i pacchetti necessari, essendo dipendenze del metapacchetto.
In fase di disinstallazione di alcuni programmi però puù comportare problemi: se si andrà a rimuovere un pacchetto della suite in questione, il metapacchetto precedentemente installato avrà una dipendenza non soddisfatta.
Questo farà sì che ad esempio Aptitude rimuoverà tutti i pacchetti della suite in quanto risultanti come dipendenze di un pacchetto che non è più installato (il metapacchetto appunto).
Per rimuovere un pacchetto allora dovremmo procedere così (prendo evolutione su Gnome come esempio):
# apt-get --purge remove evolution
Il comando ci eliminaerà 5 pacchetti: gnome, gnome-desktop-environment, evolution, evolution-exchange, evolution-plugins, dove ci sono anche due metapacchetti.
Apt ci suggerisce di eliminare le dipendenze con apt-get autoremove; in questo caso però elimineremo praticamente tutto Gnome.
Per mantenere questi pacchetti usiamo aptitude:
# aptitude keep-all
L'opzione keep-all di aptitude cancella tutte le azioni impostate per ogni pacchetto; qualsiasi azione d'installazione, rimozione o aggiornamento verrà rimossa dallo stato di tutti i pacchetti interessati.
debian metapacchetti gnome kde apt apt-get a
Commentami!