Gestione dei metapacchetti: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:
==Introduzione==
==Introduzione==


Con questa guida vedremo di scoprire i metapacchetti e capire come utilizzarli/gestirli nel nostro sistema. Per capire alcuni concetti spiegati si darà per sottinteso la conoscenza del funzionamento del gestore di pacchetti '''Apt-Get'''. Per chi non conoscesse il sistema o semplicemente desidererebbe un riassunto a riguardo, vi rimando a una nostra un'introduzione : [[Introduzione_all'_Apt_System]]. Il concetto base da capire è quello di ''dipendenza''.
Con questa guida vedremo di scoprire i metapacchetti e capire come utilizzarli/gestirli nel nostro sistema. Per capire alcuni concetti spiegati si darà per sottinteso la conoscenza del funzionamento del gestore di pacchetti '''Apt-Get'''. Per chi non conoscesse il sistema o semplicemente desideri un riassunto a riguardo, vi rimando a una nostra introduzione : [[Introduzione_all'_Apt_System]]. Il concetto base da capire è quello di ''dipendenza''.


==Definizione==
==Definizione==
Riga 16: Riga 16:
porteranno allo stesso risultato, sempre per via di dipendenze installate per un pacchetto che non esiste più.<br /><br />
porteranno allo stesso risultato, sempre per via di dipendenze installate per un pacchetto che non esiste più.<br /><br />


'''NOTA BENE''': questo comportamento dei pacchetti è in realtà un sistema molto ben pensato per "pulire" il sistema da pacchetti "inutili" (o meglio detto, non più utili). Facendo un piccolo esempio, se ho installato un pacchetto Y per soddisfare una dipendenza di un pacchetto X, eliminato X il pacchetto Y non mi servirà più, essendo stato installato unicamente per far funzionare X. Immaginando di aver appena eliminato il pacchetto X, ''Aptitude'' andrà automaticamente ad eliminare il pacchetto Y "ricordandosi" di averlo installato come dipendenza del pacchetto X. ''apt-get autoremove'' "vedrà" il pacchetto Y come installato da ''dipendenza'' e lo eliminerà portando allo stesso risultato.
{{Box|NOTA BENE:|questo comportamento dei pacchetti è in realtà un sistema molto ben architettato per "pulire" il sistema da pacchetti "inutili" (o meglio, per meglio dire, non più utili). Ad esempio: se ho installato il pacchetto Y per soddisfare una dipendenza del pacchetto X, eliminato X il pacchetto Y non mi servirà più, essendo stato installato unicamente per far funzionare X. Immaginando di aver appena eliminato il pacchetto X, ''Aptitude'' andrà automaticamente ad eliminare il pacchetto Y "ricordandosi" di averlo installato come dipendenza del pacchetto X. <code>apt-get autoremove</code> "vedrà" il pacchetto Y come installato da ''dipendenza'' e lo eliminerà portando allo stesso risultato.}}


===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, ...), 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 40: Riga 40:
====Rimuovere uno o più pacchetti della ''suite''====
====Rimuovere uno o più pacchetti della ''suite''====


In questo caso, come già detto in precedenza, la rimozione di uno o più pacchetti della suite, rimuoverà con essi il metapacchetto principale (essendo lui stesso senza una o più dipendenze soddisfatte). A questo punto, senza il metapacchetto che faceva da "scheletro" alla ''suite'', i pacchetti di quest'ultima verranno eliminati da ''aptitude'' o da ''apt-get autoremove''.<br />
In questo caso, come già detto in precedenza, la rimozione di uno o più pacchetti della suite, porterà alla rimozione del metapacchetto principale (essendo esso stesso senza una o più dipendenze soddisfatte). A questo punto, senza il metapacchetto che faceva da "scheletro" alla ''suite'', i pacchetti di quest'ultima verranno eliminati da ''aptitude'' o da ''apt-get autoremove''.<br />
Per eliminare dunque dei pacchetti da una ''suite'' utilizzeremo ''apt-get'' e ''aptitude'' in modo combinato. Facciamo un esempio:
Per eliminare dunque dei pacchetti da una ''suite'' utilizzeremo ''apt-get'' e ''aptitude'' in modo combinato. Facciamo un esempio:


Riga 68: Riga 68:
<pre>$ equivs-control controller</pre>
<pre>$ equivs-control controller</pre>


il quale creerà un file ''controller'' per il nostro metapacchetto (il nome è arbitrario, potete scegliere quello che volete). Il suo aspetto è il seguente (dopo averlo aperto in un editor qualsiasi):
il quale creerà un file <code>controller</code> per il nostro metapacchetto (il nome è arbitrario, potete scegliere quello che volete). Il suo aspetto è il seguente (dopo averlo aperto in un editor qualsiasi):


<pre>
<pre>
Riga 103: Riga 103:
<pre>$ equivs-build controller</pre>
<pre>$ equivs-build controller</pre>


che creerà il metapacchetto ''.deb'' 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===
Riga 111: Riga 111:
<pre>$ equivs-control controller</pre>
<pre>$ equivs-control controller</pre>


Editiamo poi il file ''controller'' nel modo seguente (sulla base della guida citata):
Editiamo poi il file <code>controller</code> nel modo seguente (sulla base della guida citata):


<pre>
<pre>
Riga 135: Riga 135:
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Extra-Files: <comma-separated list of additional files for the doc directory>
Description: installa codec per DVD e mp3
Description: installa codec per DVD e mp3
Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3. Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list
Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3.  
Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list
</pre>
</pre>


Riga 142: Riga 143:
<pre>$ equivs-build controller</pre>
<pre>$ equivs-build controller</pre>


Se tutto sarà andato a buon fine (occhio alla sintassi!) otterremo il pacchetto ''codec-dvd-mp3_0.1_all.deb'' nella directory da dove abbiamo lanciato i comandi. Per dare un'ennesima verifica al pacchetto, daremo il comando:
Se tutto sarà andato a buon fine (occhio alla sintassi!) otterremo il pacchetto <code>codec-dvd-mp3_0.1_all.deb</code> nella directory da dove abbiamo lanciato i comandi. Per dare un'ennesima verifica al pacchetto, daremo il comando:


<pre>$ dpkg --info codec-dvd-mp3_0.1_all.deb</pre>
<pre>$ dpkg --info codec-dvd-mp3_0.1_all.deb</pre>
Riga 149: Riga 150:


<pre>
<pre>
Package: codec-dvd-mp3
Package: codec-dvd-mp3
Version: 0.1
Version: 0.1
Architecture: all
Architecture: all
Maintainer: Debianizzati <info@debianizzati.org>
Maintainer: Debianizzati <info@debianizzati.org>
Installed-Size: 36
Installed-Size: 36
Depends: libfaad2-0, libmp4-0, libfaac0, alsamixergui, toolame, lame, libmp3lame0, libdvdnav4, libdvdread3, libdvdcss2, w32codecs, ffmpeg
Depends: libfaad2-0, libmp4-0, libfaac0, alsamixergui, toolame, lame, libmp3lame0, libdvdnav4, libdvdread3, libdvdcss2, w32codecs, ffmpeg
Recommends: debian-multimedia-keyring
Recommends: debian-multimedia-keyring
Section: misc
Section: misc
Priority: optional
Priority: optional
Description: installa codec per DVD e mp3
Description: installa codec per DVD e mp3
  Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3. Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list
Questo metapacchetto installa le librerie per la riproduzione di DVD e mp3.  
</pre>
Ricordiamo di aggiungere i repository debian-multimedia (deb http://www.debian-multimedia.org lenny main) all'interno del proprio /etc/apt/sources.list</pre>


Sarebbe bello ora installare il nostro pacchetto con ''dpkg'', ma dovremmo sapere che non è possibile. Questo perchè ''dpkg'' non sa risolvere le dipendenze come ''apt-get''. Dovremmo allora inserire il nostro pacchetto in un repository (esistente o creandolo anche in locale -> [[Creare_un_Repository_Debian]]) oppure forzare le dipendenze all'installazione (opzione ''--force-depends'' da aggiungere al classico ''dpkg -i'') e installare le dipendenze manualmente con un manager come ''aptitude''.
Sarebbe bello ora installare il nostro pacchetto con ''dpkg'', ma dovremmo sapere che non è possibile. Questo perché ''dpkg'' non sa risolvere le dipendenze come ''apt-get''. Dovremmo allora inserire il nostro pacchetto in un repository (esistente o creandolo anche in locale -> [[Creare_un_Repository_Debian]]) oppure forzare le dipendenze all'installazione (opzione <code>--force-depends</code> da aggiungere al classico <code>dpkg -i</code>) e installare le dipendenze manualmente con un manager come ''aptitude''.
----
----
[[Utente:Brunitika|Brunitika]] 16:49, 8 apr 2009 (CEST)
[[Utente:Brunitika|Brunitika]] 16:49, 8 apr 2009 (CEST)
----
----
[[Categoria:Apt]]
[[Categoria:Apt]]
1 508

contributi