(3 respuestas)
Cerrado hace 6 años.
Tengo un paquete que no quiero que me instalen aunque otro lo necesite.
¿Hay alguna forma de "lista negra" para que un paquete no se instale incluso como una dependencia de otro?
¿Puedo superar el hecho de que es una dependencia y aun así poder actualizar mi sistema?
Estoy pensando en particular en el indicador de mensajería de Unity. Si lo elimino y agrego Unity nuevamente por alguna razón, no quiero que se vuelva a instalar el subprograma. ¿Cómo puedo evitar que se instale? (o el menú global, las versiones de Java eliminando mi instalación personalizada, etc... ya se hace una idea).
Respuesta aceptada:
- ¿Hay alguna forma de "lista negra" para que un paquete no se instale incluso como una dependencia de otro?
Para evitar apt
de instalar un paquete foo
, agregue una estrofa para ese paquete en el archivo /etc/apt/preferences que se parece a lo siguiente.
Package: foo
Pin: release *
Pin-Priority: -1
Esto evitará que apt instale foo y también evitará que apt instale cualquier cosa que dependa de foo.
Lo siguiente que se me ocurre es poner una espera en foo en su versión actual, lo que impide que foo se actualice (a menos que se le dé a dpkg el --force-hold
opción o a menos que apt anule la retención). Para retener el paquete foo, haga lo siguiente.
echo foo hold | sudo dpkg --set-selections
- ¿Puedo superar el hecho de que es una dependencia y aun así poder actualizar mi sistema?
Puede instalar paquetes individuales a pesar de las violaciones de dependencia usando dpkg --force-depends
. No podrás usar apt
para hacer esto a menos que apt-get source
el paquete que Depende de foo y reconstruirlo sin la dependencia de foo.