Apt-mark: Excluir paquetes en una actualización en Ubuntu
Hoy vamos a ver como excluir de una actualización uno o varios paquetes, en un sistema Ubuntu 18.04, mediante la herramienta apt-mark
Excluir paquetes en una actualización en Ubuntu mediante apt-mark
Se me ocurren muchos escenarios en los que sería necesarios excluir una serie de paquetes de la actualización general del sistema operativo. Por ejemplo, si no utilizamos la última versión de PHP en el caso de un servidor web, o no queremos realizar una subida de versión del “engine” de Docker. En otros sistemas con paquetería RPM, es bastante sencillo, mediante el parámetro “exclude” pero en Ubuntu no lo tenía claro.
Y aquí es donde entra en escena apt-mark, que nos permite “marcar” un programa o paquete para que no reciba actualizaciones. Con él también podemos indicar que un paquete se actualice de manera manual o automática, pero de eso quizás hablemos otro día.
La mejor manera de decir es hacer. Hoy mismo al realizar el “apt upgrade” en mi laptop o portátil, me han aparecido un buen puñado de actualizaciones. Entre ellas está el paquete de “openssl” y a modo de test, lo vamos a marcar para que no se actualice, esto lo haremos así:
sudo apk-mark hold openssl
Quedando así:
davidochobits@hpenvyi7:/etc/apt/sources.list.d$ sudo apt-mark hold openssl
openssl fijado como retenido.
Además podemos listar todos los paquetes marcados de esta manera, utilizando el parámetro “showhold” Tal como sigue:
davidochobits@hpenvyi7:/etc/apt/sources.list.d$ apt-mark showhold
openssl
Para comprobar que efectivamente el paquete no se va a actualizar:
Si queremos, volver a marcarlo como disponible para actualizar, sería así:
sudo apk-mark unhold openssl
Esta herramienta tiene muchas más posibilidades, os invito a conocerlas:
manpages.ubuntu.com – Apt-mark
Fuentes consultadas:
Yo hacía este proceso desde synaptic (Paquete>Bloquear versión), pero obvio que era dar muchas vueltas. Me pregunto si habrá una opción para hacerlo de manera puntual sin agregar el paquete a una lista de bloqueo. Es decir, ‘apt upgrade’ me muestra la lista de paquetes a actualizar y antes de, por ejemplo, utilitzar un ‘sudo apt full-upgrade’ excluir el paquete en específico. No sé, puede que uno se olvide que ha metido en la congeladora algún paquete, y si solo lo excluimos para la próxima actualización no tendríamos que preocuparnos de los paquetes bloqueados.