Hace un tiempo expliqué cómo utilizar los backports en Debian y derivados. A su vez, en dicho artículo expliqué que por defecto los backports tienen una prioridad de 100 (menor a la prioridad entre 500 y 990) del resto de los fuentes listados en el archivo sources.list
. Veamos entonces cómo configurar la prioridad de los backports para que sean instalados automáticamente (si hay versiones superiores de un paquete estable) cuando se actualiza el sistema.
No hace falta aclarar nuevamente que los backports son paquetes provenientes de testing compilados en un entorno estable (para no tener que actualizar librerías). Esto significa que no son paquetes estables. Sin embargo puede ser necesario o deseable contar con versiones más actualizadas de ciertos paquetes sin la necesidad de migrar a una versión inestable.
Habiendo aclarado nuevamente la naturaleza de los backports, la conclusión es que esta configuración no es 100% recomendable para servidores, aunque puede ser muy útil para sistemas de escritorio como el Devuan ASCII instalado en mi computadora personal.
Veamos directamente un ejemplo. En mi sistema Devuan ASCII actualmente tengo configurados los siguientes repositorios:
root@vaio:/home/emi# cat /etc/apt/sources.list ## package repositories deb http://pkgmaster.devuan.org/merged ascii main deb http://pkgmaster.devuan.org/merged ascii-updates main deb http://pkgmaster.devuan.org/merged ascii-security main deb http://pkgmaster.devuan.org/merged ascii-backports main
Esto es estable, parches estables, actualizaciones de seguridad y los backports provenientes desde testing.
Al actualizar el sistema con la configuración de prioridades por defecto, se observa que no hay paquetes disponibles para instalar:
root@vaio:/home/emi# apt-get update && apt-get upgrade Hit:1 http://pkgmaster.devuan.org/merged ascii InRelease Hit:2 http://pkgmaster.devuan.org/merged ascii-updates InRelease Hit:3 http://pkgmaster.devuan.org/merged ascii-security InRelease Hit:4 http://pkgmaster.devuan.org/merged ascii-backports InRelease Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Sin embargo, al apuntar a la rama de backports, se observan muchas actualizaciones disponibles:
root@vaio:/home/emi# apt-get update && apt-get -t ascii-backports upgrade Hit:1 http://pkgmaster.devuan.org/merged ascii InRelease Hit:2 http://pkgmaster.devuan.org/merged ascii-updates InRelease Hit:3 http://pkgmaster.devuan.org/merged ascii-security InRelease Hit:4 http://pkgmaster.devuan.org/merged ascii-backports InRelease Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following package was automatically installed and is no longer required: gnupg-l10n Use 'sudo apt autoremove' to remove it. The following packages have been kept back: bind9-host dirmngr dnsutils e2fslibs e2fsprogs exim4-base exim4-daemon-light gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 gnome-orca gnupg gnupg-agent gnupg2 libcomerr2 libdrm-amdgpu1 libdrm2 libegl1-mesa libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgpg-error0 libgpgme11 libjavascriptcoregtk-4.0-18 libreoffice libreoffice-avmedia-backend-gstreamer libreoffice-base libreoffice-base-core libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gtk2 libreoffice-help-en-us libreoffice-impress libreoffice-java-common libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-report-builder libreoffice-report-builder-bin libreoffice-script-provider-bsh libreoffice-script-provider-js libreoffice-script-provider-python libreoffice-sdbc-hsqldb libreoffice-sdbc-postgresql libreoffice-style-tango libreoffice-writer libss2 libwayland-egl1-mesa libwebkit2gtk-4.0-37 libxatracker2 linux-headers-amd64 linux-image-amd64 mesa-vdpau-drivers python3-requests python3-uno python3-urllib3 qpdf uno-libs3 ure The following packages will be upgraded: ant ant-optional at-spi2-core dh-python dkms exim4-config fonts-opensymbol geoip-database gir1.2-atk-1.0 gir1.2-atspi-2.0 gnupg-l10n gpgv hplip hplip-data iproute2 iptables isolinux libassuan0 libatk-adaptor libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libbrlapi0.6 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfastjson4 libhpmud0 libidn2-0 libimobiledevice6 libip4tc0 libip6tc0 libiptc0 libjs-sphinxdoc libldap-2.4-2 libldap-common liblognorm5 libreoffice-librelogo libreoffice-nlpsolver libreoffice-wiki-publisher libsane-hpaio libservlet3.1-java libsqlite3-0 libssh-gcrypt-4 libsystemd0 libtalloc2 libwayland-client0 libwayland-cursor0 libwayland-server0 libxapian30 libxtables12 linux-compiler-gcc-6-x86 linux-libc-dev live-boot live-boot-doc live-boot-initramfs-tools manpages manpages-dev printer-driver-hpcups printer-driver-hpijs printer-driver-postscript-hp python-bs4 python-chardet python-lxml python-talloc python3-brlapi python3-chardet python3-pyatspi rsyslog syslinux syslinux-common whois xbrlapi 74 upgraded, 0 newly installed, 0 to remove and 63 not upgraded. Need to get 34.1 MB of archives. After this operation, 6,671 kB of additional disk space will be used. Do you want to continue? [Y/n]
Esto se debe a la prioridad por defecto de los backports, la cual impide que reemplacen a paquetes estables. En definitiva esto hace que no se puedan actualizar paquetes provenientes desde backports, sólo instalar paquetes no disponibles en estable (tal como expliqué en mencionado artículo).
A fin de cambiar este comportamiento y permitir que se actualicen paquetes con versiones más actualizadas provenientes desde backports, es necesario crear un nuevo rchivo de preferencias:
root@vaio:/home/emi# nano /etc/apt/preferences.d/backports
Dentro del mismo, dar una prioridad de al menos 500 a los backports correspondientes a la versión estable actual (en este caso es “ascii-backports”, en Debian sería “stretch-backports”):
Package: * Pin: release n=ascii-backports Pin-Priority: 500
Luego actualizar el sistema normalmente:
root@vaio:/home/emi# apt-get update && apt-get upgrade Hit:1 http://pkgmaster.devuan.org/merged ascii InRelease Hit:2 http://pkgmaster.devuan.org/merged ascii-updates InRelease Hit:3 http://pkgmaster.devuan.org/merged ascii-security InRelease Hit:4 http://pkgmaster.devuan.org/merged ascii-backports InRelease Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following package was automatically installed and is no longer required: gnupg-l10n Use 'sudo apt autoremove' to remove it. The following packages have been kept back: bind9-host dirmngr dnsutils e2fslibs e2fsprogs exim4-base exim4-daemon-light gir1.2-javascriptcoregtk-4.0 gir1.2-webkit2-4.0 gnome-orca gnupg gnupg-agent gnupg2 libcomerr2 libdrm-amdgpu1 libdrm2 libegl1-mesa libgbm1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2-mesa libgpg-error0 libgpgme11 libjavascriptcoregtk-4.0-18 libreoffice libreoffice-avmedia-backend-gstreamer libreoffice-base libreoffice-base-core libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gtk2 libreoffice-help-en-us libreoffice-impress libreoffice-java-common libreoffice-math libreoffice-ogltrans libreoffice-pdfimport libreoffice-report-builder libreoffice-report-builder-bin libreoffice-script-provider-bsh libreoffice-script-provider-js libreoffice-script-provider-python libreoffice-sdbc-hsqldb libreoffice-sdbc-postgresql libreoffice-style-tango libreoffice-writer libss2 libwayland-egl1-mesa libwebkit2gtk-4.0-37 libxatracker2 linux-headers-amd64 linux-image-amd64 mesa-vdpau-drivers python3-requests python3-uno python3-urllib3 qpdf uno-libs3 ure The following packages will be upgraded: ant ant-optional at-spi2-core dh-python dkms exim4-config fonts-opensymbol geoip-database gir1.2-atk-1.0 gir1.2-atspi-2.0 gnupg-l10n gpgv hplip hplip-data iproute2 iptables isolinux libassuan0 libatk-adaptor libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libbrlapi0.6 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfastjson4 libhpmud0 libidn2-0 libimobiledevice6 libip4tc0 libip6tc0 libiptc0 libjs-sphinxdoc libldap-2.4-2 libldap-common liblognorm5 libreoffice-librelogo libreoffice-nlpsolver libreoffice-wiki-publisher libsane-hpaio libservlet3.1-java libsqlite3-0 libssh-gcrypt-4 libsystemd0 libtalloc2 libwayland-client0 libwayland-cursor0 libwayland-server0 libxapian30 libxtables12 linux-compiler-gcc-6-x86 linux-libc-dev live-boot live-boot-doc live-boot-initramfs-tools manpages manpages-dev printer-driver-hpcups printer-driver-hpijs printer-driver-postscript-hp python-bs4 python-chardet python-lxml python-talloc python3-brlapi python3-chardet python3-pyatspi rsyslog syslinux syslinux-common whois xbrlapi 74 upgraded, 0 newly installed, 0 to remove and 63 not upgraded. Need to get 34.1 MB of archives. After this operation, 6,671 kB of additional disk space will be used. Do you want to continue? [Y/n]
Con esta configuración tendremos un sistema más actualizado que un estable, sin llegar a ser un testing.
Referencias
man apt
man apt-get
man apt.conf
man apt_preferences
Articulo localizado en Linuxito