6 999
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 2: | Riga 2: | ||
== Cosa sono i metapacchetti == | == Cosa sono i metapacchetti == | ||
Esiste un tipo particolare di pacchetto detto [[metapacchetto]] che in realtà non contiene alcun eseguibile o sorgente, ma serve semplicemente per installare tutto l'insieme di pacchetti (a volte a loro volta metapacchetti) che lo costituisce. | Esiste un tipo particolare di pacchetto detto [[metapacchetto]] che in realtà non contiene alcun eseguibile o sorgente, ma serve semplicemente per installare tutto l'insieme di pacchetti (a volte a loro volta metapacchetti) che lo costituisce. | ||
Un esempio è il pacchetto kdebase: | Un esempio è il [[pacchetto]] "kdebase": | ||
<pre> # ls -l | <pre> # ls -l | ||
Riga 72: | Riga 72: | ||
== Lista dei metapacchetti == | == Lista dei metapacchetti == | ||
Si può ottenere una lista completa dei metapacchetti | Si può ottenere una lista completa dei metapacchetti elencando i pacchetti che contengono la parola ''metapackage'' nei [[tag]] o nelle descrizioni; servirà il pacchetto "debtags": | ||
<pre> | <pre> | ||
$ aptitude search '(~Gmetapackage|~dmetapackage)' | less | $ aptitude search '(~Gmetapackage|~dmetapackage)' | less | ||
Riga 98: | Riga 98: | ||
=== Installare un metapacchetto === | === Installare un metapacchetto === | ||
In questo caso non occorre nessuna attenzione particolare: installeremo il metapacchetto come qualsiasi altro pacchetto con il nostro gestore preferito (aptitude, apt-get, synaptic,etc.), il quale si "porterà dietro" tutti i pacchetti del caso (come sue dipendenze). | In questo caso non occorre nessuna attenzione particolare: installeremo il metapacchetto come qualsiasi altro pacchetto con il nostro gestore preferito ([[aptitude]], [[apt-get]], [[synaptic]], etc.), il quale si "porterà dietro" tutti i pacchetti del caso (come sue [[dipendenze]]). | ||
=== Rimuovere un metapacchetto === | === Rimuovere un metapacchetto === | ||
Riga 124: | Riga 124: | ||
* andremo ad eliminare il pacchetto ''evolution'' della ''suite'', senza eliminare quest'ultima. | * andremo ad eliminare il pacchetto ''evolution'' della ''suite'', senza eliminare quest'ultima. | ||
Inizieremo | Inizieremo innanzitutto ad aggiornare il sistema per prevenire sopraggiunte modifiche nelle dipendenze tra pacchetti: | ||
<pre> | |||
# apt-get update | |||
</pre> | |||
e poi: | |||
<pre> | |||
# apt-get upgrade | |||
</pre> | |||
oppure: | |||
<pre> | |||
# apt-get dist-upgrade | |||
</pre> | |||
Quindi rimuoviamo il pacchetto che ci interessa: | |||
<pre># apt-get purge evolution</pre> | <pre># apt-get purge evolution</pre> | ||
Lanciato il comando | Lanciato il comando, verremo avvertiti che saranno eliminati cinque pacchetti: ''gnome'', ''gnome-desktop-environment'', ''evolution'', ''evolution-exchange'', ''evolution-plugins'', tra i quali noteremo i due metapacchetti della ''suite'' in questione. Lo stesso ''apt-get'' ci suggerirà poi di utilizzare ''apt-get autoremove'' per eliminare le dipendenze non soddisfatte (che sono però in questo caso tutti i pacchetti della ''suite''). Per mantenere questi pacchetti daremo il comando: | ||
<pre># aptitude keep-all</pre> | <pre># aptitude keep-all</pre> | ||
che andrà ad eliminare la loro eliminazione (scusate il gioco di parole). 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.< | che andrà ad eliminare la loro eliminazione (scusate il gioco di parole). 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. | ||
Un risultato identico si ottiene con <code>apt-mark</code>: | |||
<pre> | |||
# apt-mark manual pacchetto1 pacchetto2 pacchetto3 ... | |||
</pre> | |||
che marcherà il pacchetto (o i pacchetti) come "manual" al posto di "auto". Questo eviterà che "autoremove" lo consideri come pacchetto da disinstallare.<br/> | |||
"apt-mark", a differenza di "aptitude keep-all", necessita che il nome dei pacchetti sia specificato esplicitamente. | |||
A questo punto, avremo la nostra ''suite'' perfettamente funzionante con le "modifiche" apportate. | A questo punto, avremo la nostra ''suite'' perfettamente funzionante con le "modifiche" apportate. | ||
==Creare un metapacchetto== | == Creare un metapacchetto == | ||
Come noto i metapacchetti sono molto utili per installare ''suite'' di programmi con un solo comando (installando il metapacchetto appunto). Con il pacchetto '''equivs''' tutto è molto semplice; incominceremo con l'installarlo: | Come noto i metapacchetti sono molto utili per installare ''suite'' di programmi con un solo comando (installando il metapacchetto appunto). Con il pacchetto '''equivs''' tutto è molto semplice; incominceremo con l'installarlo: | ||
Riga 183: | Riga 201: | ||
che creerà il metapacchetto <code>.deb</code> che potremo poi installare come qualsiasi pacchetto | che creerà il metapacchetto <code>.deb</code> che potremo poi installare come qualsiasi pacchetto | ||
===Esempio pratico=== | === Esempio pratico === | ||
Prendiamo ad esempio questa guida: [[Installare_e_configurare_i_codec_per_DVD_e_Mp3]]. Sarebbe ora interessante creare un metapacchetto che installi i pacchetti necessari con un solo comando. Iniziamo dunque a creare un controller: | Prendiamo ad esempio questa guida: [[Installare_e_configurare_i_codec_per_DVD_e_Mp3]]. Sarebbe ora interessante creare un metapacchetto che installi i pacchetti necessari con un solo comando. Iniziamo dunque a creare un controller: |
contributi