Debido al error # 693758, me gustaría evitar que apt-get upgrade
Update Manager actualice el paquete "libgtk2.0-0".
¿Cómo se puede lograr esto?
Debido al error # 693758, me gustaría evitar que apt-get upgrade
Update Manager actualice el paquete "libgtk2.0-0".
¿Cómo se puede lograr esto?
disable packages from the auto-update
Respuestas:
Participación
Hay cuatro formas de contener paquetes: con dpkg, apt, aptitude o dselect.
dpkg
Poner un paquete en espera:
Eliminar la retención:
Muestra el estado de tus paquetes:
Mostrar el estado de un solo paquete:
apto
Mantenga un paquete:
Eliminar la retención:
Mostrar todos los paquetes en espera:
dselect
Con dselect, ingrese a la pantalla [S] elect, encuentre el paquete que desea mantener en su estado actual y presione =o H. Los cambios tendrán efecto inmediatamente después de salir de la pantalla de selección [S].
Los siguientes enfoques son limitados en que bloquear / mantener un paquete dentro de aptitude o synaptic no afecta a apt-get / apt.
aptitud
Mantenga un paquete:
Eliminar la retención:
Bloqueo con Synaptic Package Manager
Vaya a Synaptic Package Manager (Sistema> Administración> Synaptic Package Manager).
Haga clic en el botón de búsqueda y escriba el nombre del paquete.
Cuando encuentre el paquete, selecciónelo, vaya al menú Paquete y seleccione Bloquear versión .
Ese paquete ahora no se mostrará en el administrador de actualizaciones y no se actualizará.
fuente
devscripts
, muchos paquetes se extraen como paquetes recomendados. Como no necesito un servidor de correo (postfix), podría desactivar la instalación ejecutándoloecho postfix hold | sudo dpkg --set-selections
antes de ejecutarlosudo apt-get install devscripts
. Esta acción de retención persiste solo para esta instalación, después de la instalación se restablecen las selecciones.apt-mark
no es compatiblehold
con la versión 0.7.25 (Ubuntu Lucid)apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
.Para poner un paquete "foo" en espera:
En su caso, vamos a poner el vino en espera:
Para eliminar la retención:
fuente
apt-get install wine=1.2.3
. Estar en espera impideapt-get (dist-)upgrade
cambiarlo./var/cache/apt/archives
) es independiente de las retenciones y actualizaciones y demás, por lo que todas las versiones que haya descargado estarán allí hasta que se ejecuteapt-get [auto]clean
Estaba buscando lo mismo y después de mucha investigación descubrí que usando la siguiente sintaxis puedes prohibir una versión específica pero permitir la próxima actualización:
Esto va al archivo / etc / apt / preferencias.
fuente
Instalar
synaptic
usandosudo apt-get install synaptic
.Ejecute usando
gksudo synaptic
y en el cuadro de búsqueda busque el paquete que desea bloquear, es decir:gedit
En el menú del paquete, seleccione Versión de bloqueo :
Y eso es todo, la versión instalada actualmente en el momento del bloqueo permanecerá instalada incluso durante las actualizaciones.
fuente
La prevención de la instalación de un paquete se llama "retención de paquetes" y es muy simple de hacer:
... donde * nombre_paquete * es el nombre del paquete que desea evitar que se instale.
Nota: el comando anterior asume privilegios de root. En otras palabras, probablemente necesitará escribir
sudo su
antes de ejecutarlo.fuente
s/sudo su/sudo -s/g
(osudo -i
) (-i
dará un shell de inicio de sesión,-s
no lo hará).Dado que
apt-get
se reemplaza algún tiempoapt
, por ejemplo, quiero evitar que Firefox se actualice a la versión superior a 56, porque muchos complementos, como "Grupos de pestañas" ya no funcionan con el nuevo Firefox 57 (consulte "Extensiones web" Actualizar").Es posible contener más de un paquete con un comando y usar comodines.
Evitar que Firefox se actualice
Si desea deshacerse de ellos más tarde, ese sería el comando:
fuente
Sinéptico, puede congelar la versión de un paquete específico. No estoy 100% seguro de si esto modificará apt-get, pero definitivamente detendrá el administrador de actualizaciones.
Para congelar un paquete, selecciónelo en sináptico, luego abra el menú del paquete y seleccione la versión congelada.
Espero que esto ayude
editar: Esta pregunta 16668 trata una situación similar
fuente
Todo lo que siempre quiso saber sobre "mantener" y "fijar" paquetes a versiones específicas: https://help.ubuntu.com/community/PinningHowto
fuente
Vea los errores # 75332 , # 158981 y # 72806 .
El resumen es que la retención en el nivel apt-get / aptitude no está activando el estado de retención en dpkg (vea el error 72806 especialmente) y el administrador de actualizaciones lee el estado de dpkg.
La solución se ejecuta como root:
echo "package hold" | dpkg --set-selections
fuente
Puede usar en aptitude el "override específico", así:
Este es un uso único de (no almacenado para futuras reinstalaciones), mantener anulación específica, para reinstalar todos los paquetes en su sistema pero no oracle-java8-jre.
Si utiliza una anulación específica de mantenimiento, el paquete estará momentáneamente en un estado de mantenimiento y una aptitud no intentará instalarlo.
Una cosa muy buena si cree que su sistema se vio comprometido de alguna manera.
fuente
Si tiene Synaptic instalado, puede seleccionar el paquete y usar el menú Paquete -> Bloquear versión para evitar que se actualice.
Puede instalar Synaptic con sudo apt-get install synaptic. Personalmente, lo encuentro más útil que el Centro de software ... por otra parte, soy bastante viejo. :)
fuente
Ocasionalmente, uno podría querer retener todos los paquetes actualmente instalados. Así es cómo.
Primero guarde el estado actual, para que pueda deshacer:
Luego, para retener todos los paquetes:
Finalmente, cuando desee volver al estado anterior:
Un caso de uso para esto podría ser al crear una instantánea de VM o Amazon AMI para migrar desde un QA al entorno de producción.
fuente
Agregar detalles a los comentarios de @ soger en relación con Ubuntu 16.04.
Ubuntu 16.04 no tiene un archivo / etc / apt / preferencias existente por defecto. Si no tiene uno actualmente, simplemente cree un nuevo archivo y complételo con una estrofa como @soger describe anteriormente para excluir el paquete dado y sus dependencias de las actualizaciones.
Luego, corre
apt update
y eres GTG. : 0)Por ejemplo, tengo un servidor Ubuntu 16.04.5 LTS con tarjeta de video Intel integrada y una tarjeta NVidia. La tarjeta NVidia es la única utilizada. El servidor también usa controladores CUDA. Tuve un problema donde
apt
insistí(Controladores Intel) requirieron una actualización, pero no pudo determinar qué versión instalar. Esto me estaba volviendo loco, y no necesitaba los controladores Intel de todos modos. Ingresé este texto en el archivo de preferencias y me sonrojé, problema resuelto.
fuente