Impedire l'aggiornamento di un pacchetto: differenze tra le versioni

Nessun oggetto della modifica
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
A volte per motivi di affidabilità o stabilità è necessario mantenere una specifica versione di un [[pacchetto]] precedentemente installato.
A volte per motivi di affidabilità o stabilità è necessario mantenere una specifica versione di un [[pacchetto]] precedentemente installato.


Lo scopo di questo Tip è proprio quello di congelare gli aggiornamenti di un pacchetto in modo da poter tranquillamente eseguire un <code>apt-get upgrade</code> senza aver timore di compromettere il nostro sistema.<br/>
Lo scopo di questa guida è proprio quello di congelare gli aggiornamenti di un pacchetto in modo da poter tranquillamente eseguire un <code>apt-get upgrade</code> senza aver timore di compromettere il nostro sistema.<br/>
È importante sottolineare che lo status di "hold" di un pacchetto non si applicherà alle sue [[dipendenze]] e che potrebbe impedire l'aggiornamento di altre applicazioni da esso dipendenti se queste richiedono l'aggiornamento del pacchetto bloccato ad una versione successiva a quella installata.
È importante sottolineare che lo status di "hold" di un pacchetto non si applicherà alle sue [[dipendenze]] e che potrebbe impedire l'aggiornamento di altre applicazioni da esso dipendenti se queste richiedono l'aggiornamento del pacchetto bloccato ad una versione successiva a quella installata.


Per marcare un pacchetto come "hold" sono possibili diverse strade.
Per marcare un pacchetto come "hold" sono possibili diverse strade: [[apt-mark]], [[aptitude]], [[dpkg]] (sconsigliato).


== apt-mark ==
== apt-mark ==
Riga 22: Riga 22:
<pre># apt-mark showhold</pre>
<pre># apt-mark showhold</pre>


Apt-mark è un wrapper di "dpkg --set-selections", per cui il file su cui opera è <code>/var/lib/dpkg/status</code> .
Apt-mark è un wrapper di "dpkg --set-selections", per cui il file su cui opera è <code>/var/lib/dpkg/status</code> . In questo file, lo status di "hold" è evidenziato dalla seguente riga:
Status: '''hold''' ok installed
 
== aptitude ==
== aptitude ==
Per marcare uno o più pacchetti come "hold", il comando è:
Per marcare uno o più pacchetti come "hold", il comando è:
Riga 33: Riga 35:
<pre># aptitude search ~ahold</pre>
<pre># aptitude search ~ahold</pre>


Notare che [[aptitude]] ha un proprio file in cui è conservato lo stato dei pacchetti, <code>/var/lib/aptitude/pkgstates</code>, per cui potrebbe capitare di contrassegnare un pacchetto come "hold" ma senza che [[apt-get]] se ne accorga.<br/>
Notare che [[aptitude]] ha un proprio file in cui è conservato lo stato di "hold" dei pacchetti, <code>/var/lib/aptitude/pkgstates</code>, per cui potrebbe capitare di marcare un pacchetto come "hold" ma senza che [[apt-get]] se ne accorga.<br/>
Lo status di "hold" per il pacchetto sarà contrassegnato, all'interno di questo file, da:
<pre>
...
State: 2
...
</pre>
Si consiglia questo metodo solo se si utilizza <u>esclusivamente</u> 'aptitude'. In caso si utilizzi anche 'apt-get', ricorrere ad <code>apt-mark</code> per evitare di imbattersi in comportamenti imprevisti.
Si consiglia questo metodo solo se si utilizza <u>esclusivamente</u> 'aptitude'. In caso si utilizzi anche 'apt-get', ricorrere ad <code>apt-mark</code> per evitare di imbattersi in comportamenti imprevisti.


6 999

contributi