(3 risposte)
Chiuso 6 anni fa.
Ho un pacchetto che non voglio installare anche se un altro ne ha bisogno.
C'è un modo per "mettere in blacklist" un pacchetto dall'essere installato anche come dipendenza di un altro?
Posso superare il fatto che si tratta di una dipendenza ed essere comunque in grado di aggiornare il mio sistema?
Penso in particolare all'indicatore di messaggistica di Unity. Se lo rimuovo e aggiungo di nuovo Unity per qualche motivo, non voglio che l'applet venga nuovamente installata. Come posso impedirne l'installazione? (o il menu globale, le versioni java che rimuovono il mio installato personalizzato, ecc... ti viene l'idea).
Risposta accettata:
- C'è un modo per "mettere in blacklist" un pacchetto dall'installazione anche come dipendenza di un altro?
Per impedire apt
dall'installazione di un pacchetto foo
, aggiungi una stanza per quel pacchetto al file /etc/apt/preferences che assomiglia al seguente.
Package: foo
Pin: release *
Pin-Priority: -1
Ciò impedirà ad apt di installare foo e impedirà anche ad apt di installare tutto ciò che dipende da foo.
La cosa più vicina che mi viene in mente è mettere una attesa on foo nella sua versione attuale che impedisce l'aggiornamento di foo (a meno che a dpkg non venga assegnato il --force-hold
opzione o a meno che apt non sostituisca la sospensione). Per sospendere il pacco foo, procedi come segue.
echo foo hold | sudo dpkg --set-selections
- Posso superare il fatto che si tratta di una dipendenza ed essere comunque in grado di aggiornare il mio sistema?
Puoi installare singoli pacchetti nonostante le violazioni delle dipendenze usando dpkg --force-depends
. Non potrai utilizzare apt
per farlo a meno che tu non apt-get source
il pacchetto che dipende da foo e ricostruirlo senza la dipendenza da foo.