Tabla de contenidos
libinput
dbgsym
por
omisiónnet-tools
está obsoleto y
ha sido reemplazado por iproute2
_netdev
cuando se
utilizan dispositivos AoE («ATA over ethernet»)Algunas veces los cambios tienen efectos colaterales que no podemos evitar, o aparecen fallos en otro lugar. A continuación se documentan los problemas que conocemos. Puede leer también la fe de erratas, la documentación de los paquetes relevantes, los informes de fallos y otra información mencionada en Sección 6.1, “Para leer más”.
Esta sección cubre los elementos relacionados con la actualización de jessie a stretch
![]() | Nota |
---|---|
Esta sección solo aplica a aquellos sistemas que utilizan un núcleo a
medida, y donde |
No se proporciona soporte al montaje de /usr
utilizando solo las herramientas en /
. Esta
configuración solo funcionaba para configuraciones específicas del sistema
en el pasado y ahora deja de estar soportado explícitamente.
Esto significa que para stretch todos los sistemas donde
/usr
es una partición separada tienen que utilizar un
generador de «initramfs» que monte /usr
. Todos los
generadores de stretch lo hacen.
Las réplicas hospedadas por Debian dejarán de ofrecer acceso FTP. Si ha
estado utilizando el protocolo ftp://
en su
sources.list
deberá migrar las entradas a
http:
. Tenga en cuenta el siguiente ejemplo cuando haga
la migración:
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security stretch/updates main # variante tor (requiere apt-transport-tor) # deb tor+http://vwakviie2ienjx6t.onion/debian stretch main # deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
El ejemplo anterior no incluye las áreas non-free
and
contrib
. Debe incluir éstas si su sistema necesita tener
esos componentes habilitados.
PAra más información puede consultar el anuncio: Apagando los servicios públicos FTP.
A continuación se muestra una lista de los paquetes conocidos y notables que ahora están obsoletos (consulte Sección 4.8, “Paquetes obsoletos” para obtener una descripción).
La lista de paquetes obsoletos incluye:
La mayoría de los paquetes -dbg
se han eliminado del
archivo principal. Se han reemplazado por paquetes
-dbgsym
que están disponibles en el archivo
debian-bug
. Por favor, vea Sección 2.2.8, “Nuevo archivo para símbolos de depuración”
Los gestores de contraseñas fpm2
y
kedpm
ya no están siendo mantenidos
por los desarrolladores originales. Se recomienda que utilice otros gestores
de contraseñas como pass
,
keepassx
, o keepass2
. Asegúrese de extraer sus contraseñas
de fpm2
o de kedpm
antes de eliminar estos paquetes.
El paquete net-tools
va a dejar de
utilizarse y se reemplazará por iproute2
. Para más infomación consulte Sección 5.3.9, “El paquete net-tools
está obsoleto y
ha sido reemplazado por iproute2
” o el Manual
de referencia de Debian.
Se han eliminado las herramientas de monitorización nagios3
de stretch. El paquete icinga
es el reemplazo más próximo. Lee los
archivos de configuración de una ruta distinta a la de Nagios, pero es
compatible en cualquier otro aspecto.
Cuando haya terminado apt-get dist-upgrade
la
actualización “formal” se habrá completado. No hay que hacer
ninguna acción especial antes del siguiente reinicio del sistema tras la
actualización a stretch.
El compilador de GNU GCC 6 que se ofrece en Debian stretch compila, por omisión, todos los ejecutables como independientes de posición. Esto ofrece una mitigación para una clase entera de vulnerabilidades.
Desgraciadamente, el núcleo de Linux que se ofrece en Debian 8 (hasta la
versión 8.7) tenía un problema que provocaba que algunos programas
compilados como ejecutables independientes de posición se interrumpierran
con un error poco descriptivo como fallo de
segmentación
. Este fallo se ha solucionado en la versión del
núcleo de Linux que se proporciona en la versión 8.8 (versión 3.16.43 o
superior) y en el núcleo proporcionado en Debian 9 (versión 4.9 o superior).
We recommend that you upgrade your kernel to a fixed version and then reboot before starting the upgrade to stretch. If you are running the kernel from Debian 8.8 or newer, you are not affected by this issue.
Si vd. está ejecutando una versión afectada del núcleo durante la actualización, le recomendamos encarecidamente que realice un reinicio del núcleo de stretch justo después de la actualización para evitar encontrarse con este problema.
![]() | Nota |
---|---|
Esta sección será fundamentalmente de interés para desarrolladores y administradores de sistemas. Es poco probable que los usuarios del entorno de escritorio estén afectados por estos cambios. |
Lo anterior también lleva a algunos cambios que es importante conocer.
La herramienta file (entre otras) clasifica ahora este tipo de binarios como “objetos compartidos” en lugar de como “ejecutables”. Si tiene filtros que se basan en objetos (como por ejemplo, filtros de correo basura) puede ser necesario actualizarlos.
Las librerías estáticas que se compilen dentro de un ejecutable también tienen que compilarse como código independiente de posición. El siguiente mensaje de error es un síntoma de este problema:
relocation ... against '[SYMBOL]' can not be used when making a shared object; recompile with -fPIC
Tenga en cuenta que aunque el mensaje de error diga -fPIC, es suficiente con recompilarlo con -fPIE (que es la opción por omisión en los paquetes GCC 6 que son parte de stretch).
Historicamente, los ejecutables independientes de posición se han asociado a
problemas de rendimientos en algún hardware. Un caso notable es la
architectura i386
de Debian (máquinas Intel de 32
bits). Aunque GCC 5 y GCC 6 han mejorado
notablemente el rendimiento de los ejecutables independientes de posición en
Intel de 32 bits, esta optimización puede no ser aplicable a todas
las arquitecturas. Considere como posibilidad la evaluación del rendimiento
de su código si va a ejecutarlo en máquinas con arquitecturas con un número
limitado de registros.
Debido a una falta de interés y de capacidad de pruebas, Debian ha eliminado la gran mayoría de los paquetes de compatibilidad de Linux Standard Base (LSB).
Debian continuará proporcionando un conjunto seleccionado de herramientas
LSB clave que se utilizan tanto internamente como externamente, como la
herramienta lsb-release
y las
funciones de inicialización de sysvinit en lsb-base
. Más aún, Debian sigue defendiendo
firmemente el Estándar
de Jerarquía de Ficheros («Filesystem Hierarchy Standard», FHS) versión 2.3
con las alteraciones menores descritas en el Manual de Política de
Debian.
Hay algunos paquetes para los que Debian no puede comprometerse a proporcionar versiones actualizadas resolviendo problemas de seguridad. La información de estos paquetes se cubre en las siguientes subsecciones.
Tenga en cuenta que el paquete debian-security-support
ayuda a supervisar el
estado de soporte de seguridad de los paquetes instalados en el sistema.
Debian 9 incluye varios motores de navegadores web que están afectados por un flujo constante de vulnerabilidades de seguridad. La alta tasa de vulnerabilidades y la falta de un soporte por parte de los desarrolladores a versiones anteriores hace muy difícil dar soporte a estos navegadores con arreglos de seguridad preparados para las versiones distribuidas. Además, las interdependencias entre bibliotecas hacen imposible actualizar a las nuevas versiones distribuidas. Por tanto, los navegadores basados en los motores de webkit, qtwebkit y khtml están incluidos en stretch, pero no están cubiertos por el soporte completo de seguridad. No deberían utilizarse estos navegadores para acceder a sitios no confiables.
Para el uso general de navegación web recomendamos el uso de Firefox o Chromium.
Chromium, aunque basado en el código fuente de Webkit, es un paquete menor. Este paquete se mantendrá actualizado compilando las versiones actuales de Chromium para la versión «estable» de Debian. Firefox y Icedove también se mantendrán actualizadas recompilando la última versión de ESR para la versión «estable».
La plataforma Node.js está construida sobre el paquete libv8-3.14
, que ha tenido múltiples problemas de
seguridad en el pasado. Actualmente no hay suficientes voluntarios dentro
del proyecto o del equipo de seguridad interesados y dispuestos a dedicar el
elevado tiempo necesario para resolver los problemas de seguridad que puedan
aparecer en el futuro.
Esto significa que, desgraciadamente, los paquetes libv8-3.14
, nodejs
, y el ecosistema de paquetes node-* no
deberían utilizarse junto con contenido no confiable, como pueda ser datos
no saneados obtenidos de Internet.
Adicionalmente, no se van a proporcionar actualizaciones de seguridad para estos paquetes durante el ciclo de vida de stretch.
La actualización de los paquetes entre jessie y stretch debería ser esencial en la mayoría de los casos. Existe un pequeño número de casos en los que es necesaria una intervención manual, bien antes o bien después de la actualización. Estos casos se detallan a continuación para cada paquete.
La versión 7 de OpenSSH ha deshabilitado algunos algoritmos de cifrado antiguos así como el protocolo SSH1 por omisión. Tenga esto en cuenta al actualizar sistemas en los que solo tiene acceso SSH.
Moreover, the default of the "UseDNS" configuration option has changed from yes to no. This may cause users who use the "from=" functionality in authorized_keys to limit ssh access by host to be locked out, which is especially troublesome if upgrading remotely.
Consulte la documentación de OpenSSH para más información.
Esta sección cubre algunos cambios a APT incompatibles con versiones anteriores que pueden afectar a su sistema.
APT intentará ahora descartar todos los privilegios de administrador antes de descargar ficheros de cualquier réplica. APT puede detectar algunos casos habituales en los que esto no funcionará y seguirá actualizando ficheros como administrador con un aviso. Sin embargo, puede no ser capaz de detectar algunas configuraciones poco habituales (p.ej. el uso de reglas de cortafuegos específicas por identificador de usuario).
Si detecta problemas con esta nueva funcionalidad, modifique el usuario
_apt
y compruebe que:
puede leer los ficheros en /var/lib/apt/lists
y
/var/cache/apt/archives
.
tiene acceso para leer el almacén de confianza de APT
(/etc/apt/trusted.gpg
y
/etc/apt/trusted.gpg.d/
)
puede hacer resolución DNS de nombres y descargar ficheros. Unos ejemplos para probar ésto son los siguientes:
# Del paquete dnsutils (si utiliza tor, utilice en su lugar tor-resolve). $ nslookup debian.org > /dev/null || echo "No se puede resolver debian.org" $ wget -q https://debian.org/ -O- > /dev/null || echo "No se puede descargar la página de índice de debian.org"
Si se encuentra con problemas en la resolución de nombres DNS, compruebe que
puede leer /etc/resolv.conf
.
APT 1.1 introduce un nuevo mecanismo de fijación que ahora coincide con la descripción en la página de manual.
El mecanismo antiguo asignaba una prioridad de fijación por paquete. El nuevo mecanismo asigna prioridades de fijación por versión. A continuación escoje la versión con el valor de fijación mayor que no es una versión anterior o que tiene un valor > 1000.
Esto cambia el efecto de algunas fijaciones, especialmente las que tienen valor negativo. Anteriormente, si se fijaba una versión a -1 esto impedía de forma efectiva que el paquete se instalara (el valor fijado del paquete era -1). Ahora sólo impide que la versión de ese paquete se instale.
![]() | Nota |
---|---|
Esta sección solo le aplica si tiene (o va a tener) activo la descarga desde repositorios de terceros o si mantiene un repositorio de APT. |
APT requiere ahora lo siguiente de cualquier repositorio de paquetes APT, con el fin de mejorar la estabilidad de las descargas y poder garantizar la seguridad del contenido descargado:
El fichero InRelease debe estar disponible.
Todos los metadatos deben incluir al menos una suma de comprobación SHA256 para todos los elementos. Esto incluye también la firma GPG en el archivo «InRelease».
Las firmas del archivo InRelease deben hacerse con una clave de tamaño 2048 bits o mayor.
Si vd. depende de repositorios de terceros que no cumplen con las condiciones descritas anteriormente, debe ponerse en contacto con ellos para que actualicen su repositorio. Encontrará más información sobre el archivo «InRelease» en el Wiki de Debian.
![]() | Nota |
---|---|
Esta sección sólo es relevante si ha modificado o tiene que modificar la configuración de entrada de Xorg por omisión. |
En jessie, el controlador de entrada por omisión para Xorg es el controlador
evdev
. En stretch, el controlador por omisión ha cambiado
a libinput
. Si tiene una configuración de Xorg que
depende del controlador evdev
, tendrá que o bien
convertirlo al controlador libinput
o reconfigurar su
sistema para utilizar el controlador evdev
.
El siguiente ejemplo muestra una configuración para
libinput
para utilizar la funcionalidad de
“Emulate3Buttons”.
Section "InputClass" Identifier "mouse" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "on" EndSection
Introduzca esta configuración en
/etc/X11/xorg.conf.d/41-middle-emulation.conf
, reinicie
el sistema (o reinicie su servidor X) y esta configuración debería
activarse.
El controlador evdev
sigue estando disponible en el
paquete xserver-xorg-input-evdev
.
Se ha eliminado el sistema de arranque «Upstart» de stretch debido a la falta de mantenimiento por los desarrolladores originales. Si su sistema depende de este paquete tiene que tener en cuenta que no se actualizará durante el ciclo de vida de Debian 9. A partir de la versión de Debian 10 (buster), las tareas de arranque de «Upstart» podrían eliminarse de los paquetes.
Valore la posibilidad de cambiar a un sistema de init soportado, como «systemd» u «OpenRC».
![]() | Nota |
---|---|
Esta sección está destinada para desarrolladores u organizaciones que construyen sus propios paquetes debian. |
El conjunto de herramientas debhelper ahora generan paquetes
dbgsym
por omisión para binarios ELF. Compruebe que sus
herramientas tienen soporte para estos paquetes extra generados
automáticamente si desarrolla o empaqueta binarios.
Tendrá que actualizar a la versión 4.17.0 el paquete reprepro
si lo utiliza. Para aptly
necesitará al menos la versión 1.0.0 que,
desgraciadamente, no está disponible en Debian stretch.
Si sus herramientas no pueden gestionar este cambio, puede deshabilitar esta
funcionalidad de «debhelper» añadiendo
“noautodbgsym
” a la variable
DEB_BUILD_OPTIONS en su servicio de construcción de paquetes. Puede
consultar la página
de manual de dh_strip para más información.
La aplicación openssl ahora espera los argumentos con opciones antes de los argumentos sin opciones. Por ejemplo, la siguiente ejecución no funcionará a partir de la actualización:
openssl dsaparam 2048 -out file
mientras que sí funcionará lo siguiente:
openssl dsaparam -out file 2048
La orden openssl enc ha modificado la suma de comprobación (utilizada para crear la clave de la frase de contraseña) y ahora utiliza SHA256 en lugar de MD5. Puede especificar el algoritmo que desea con la opción -md si tiene que descifrar archivos antiguos con la nueva versión de OpenSSL (o al contrario).
Los algorimos de cifrado 3DES y RC4 ya no están disponibles para comunicaciones TLS/SSL. Los servidores que utilicen OpenSSL no ofrecerán estos algoritmos y los clientes no podrán conectarse a aquellos servidores que ofrezcan solo éstos. Esto significa que OpenSSL y Windows XP no comparten ningún algoritmo de cifrado.
El paquete libssl-dev
proporciona
los ficheros de cabecera para compilar contra la versión 1.1.0 de
OpenSSL. La interfaz de programación (API) ha cambiado sustancialmente y es
posible que algunos programas no compilen. Puede consultar un resumen de los
cambios. También puede utilizar libssl1.0-dev
si necesita las cabeceras de la
versión 1.0.2 de OpenSSL.
![]() | Nota |
---|---|
Esta sección aplica a los programas que se mantienen fuera de Debian. Lo que incluye programas y módulos de Perl locales, de terceros o antiguos. |
Algunos módulos se han eliminado de Perl y se distribuyen ahora en paquetes
separados. Algunos ejemplos importantes son CGI
, que está
disponible en el paquete libcgi-pm-perl
, y
Module::Build
, que está disponible en el paquete
libmodule-build-perl
.
Se ha eliminado el directorio de trabajo actual (.
) de la
lista de directorios donde se buscan ficheros a incluir por omisión
(variable @INC
). Este cambio puede afectar al uso de
require()
, do()
, etc., cuando los
argumentos son ficheros que están en el directorio de trabajo actual.
Todos los programas y módulos de Perl distribuídos con Debian deberían estar arreglados para resolver las incompatibilidades causadas por lo anterior. Por favor, envíe informes de erratas si no es el caso. Como el cambio se ha aplicado ya en Perl 5.26.0, los programas de terceros deberían también empezar a arreglarse. Se ofrece información a los desarrolladores de cómo resolver este problema en las notas de publicación de Perl 5.26 (consulte la sección de SEGURIDAD).
Si tiene que introducir de nuevo temporalmente, y de forma global, el valor
.
en @INC
puede comentar la línea
correspondiente en /etc/perl/sitecustomize.pl
. Sólo
debería hacer ésto si entiende los riesgos potenciales que introduce. Esta
alternativa se eliminará en Debian 10. También puede fijar el
valor de la variable de entorno PERL_USE_UNSAFE_INC
en un
contexto específico, lo que tendrá el mismo efecto.
Puede consultar la lista completa de los cambios en Perl desde la versión de Debian 8 en perl522delta y perl524delta.
El paquete del lenguaje procedimental PostgresSQL PL/Perl en jessie es
incompatible con la versión de Perl en stretch. El paquete postgresql-plperl-9.4
se eliminará durante la
actualización, haciendo que los procedimientos en el lado del servidor de
Perl dejen de funcionar. La actualización a PostgreSQL 9.6 no debería estar
afectado. Los procedimientos funcionarán en el nuevo clúster PostgreSQL si
se instala el paquete postgresql-plperl-9.6
. Si no está seguro, haga
una copia de seguridad de sus clústers PostgreSQL 9.4 antes de actualizar a
stretch.
El paquete net-tools
ya no es parte
de las nuevas instalaciones por omisión, porque su prioridad se ha rebajado
de importante a opcional. Se recomienda a los usuarios utilizar en su lugar
el conjunto de herramientas más moderno iproute2
(que ha sido parte de las nuevas
instalaciones desde hace ya varias publicaciones). Si quiere seguir
utilizando los programas de net-tools
puede instalarlo simplemente via
apt install net-tools
A continuación se muestra un resumen de las órdenes net-tools, junto con la orden equivalente con iproute2:
órdenes antiguas net-tools | órdenes de iproute2 que las reemplazan |
---|---|
arp | ip n (ip neighbor) |
ifconfig | ip a (ip addr), ip link, ip -s (ip -stats) |
iptunnel | ip tunnel |
nameif | ip link |
netstat | ss, ip route (para netstat -r), ip -s link (para netstat -i), ip maddr (para netstat -g) |
route | ip r (ip route) |
![]() | Nota |
---|---|
Esta sección sólo aplica a aquellos sistemas que tienen dispositivos «ATA over ethernet» (AoE) montados. Si su sistema no monta ninguna unidad de red puede omitir esta sección. |
Debido a una limpieza en la gestión de la desconfiguración de red, los
dispositivos AoE en uso no se gestionan como se podría esperar durante un
apagado del sistema. Esto podría provocar bloqueos y/o pérdida de
información. Para mitigar esta situación, se sugiere que monte estos
dispositivos con la opción de montaje _netdev
. Esta
opción también está disponible cuando se monta la zona de intercambio
también con AoE.
Durante la actualización puede llegar a ver algunos avisos como:
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at /usr/share/perl5/Debconf/Question.pm line 72. Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line 30.
Estos son inocuos y se producen si se actualiza perl-base
antes del paquete debconf
.
![]() | Nota |
---|---|
Esta sección solo aplica a los sistemas que utilizan SELinux, que no está activo por omisión. |
El almacen de las políticas de SELinux se ha movido en stretch de
/etc/selinux/
a
<policy_name>
/var/lib/selinux/
.
Además, el formato utilizado en el almacen ha cambiado.
<policy_name>
Se migrarán de forma automática las políticas que se ofrecen en Debian (de
p.ej. el paquete selinux-policy-default
package). Pero las
políticas específicas del sistema deberán migrarse manualmente.
El paquete semanage-utils
ofrece el
programa /usr/lib/selinux/semanage_migrate_store
para
realizar esta transición.
The iSCSI Enterprise Target (IET), packaged in the iscsitarget
package in previous releases, is no
longer in Debian, as it will not work with recent kernel versions, and the
project has seen no development activity in recent years.
Users of IET are encouraged to switch to the LIO stack, which is fully
supported in Debian stretch. The package targetcli-fb
provides the configuration utility
for the LIO iSCSI target.
As the LIO stack was developed independently of the IET, the configuration has to be migrated manually.