Capítulo 5. Problemas que debe tener en cuenta para wheezy

Tabla de contenidos

5.1. Soporte de LDAP
5.2. Estado de seguridad en los navegadores web
5.3. ConsoleKit y gestores de ventanas alternativos
5.4. Cambios y soporte del escritorio GNOME
5.5. Cambios en el escritorio KDE
5.6. NetworkManager
5.7. Eliminación de perl-suid
5.8. Versiones de Request Tracker
5.9. Cambios a Bootlogd
5.10. /etc/mtab y _netdev
5.11. Transición de pdksh a mksh
5.12. Compatibilidad con Puppet 2.6 / 2.7
5.13. Implicaciones de la multiarquitectura a la cadena de herramientas
5.14. Motores SQL de Cyrus SASL
5.15. Firmware para los controladores de dispositivos red y gráficos

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”.

5.1. Soporte de LDAP

Una funcionalidad en las bibliotecas criptográficas utilizadas dentro de las bibliotecas LDAP hace que los programas que utilizan LDAP e intentan cambiar sus privilegios efectivos fallen al conectarse a un servidor LDAP utilizando TLS o SSL. Esto puede causar problemas en los programas con el bit «set-uid» en los sistemas que utilicen libnss-ldap como puedan ser los programas sudo, su o schroot y también con los programas con el bit «set-uid» que hagan búsquedas LDAP como sudo-ldap.

Se recomienda reemplazar el paquete libnss-ldap por el paquete libnss-ldapd, que es una nueva biblioteca que utiliza un demonio independiente (nslcd) para todas las consultas LDAP. El sustituto de libpam-ldap es libpam-ldapd.

Tenga en cuenta que el paquete libnss-ldapd recomienda el demonio de caché NSS (nscd). Debería evaluar si este demonio es apropiado para su entorno antes de instalarlo. Puede considerar el paquete unscd como alternativa a nscd.

Puede encontrar más información en los fallos #566351 y #545414.

5.2. Estado de seguridad en los navegadores web

Debian 7.0 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 Wheezy, 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 navegadores que están basados en el motor xulrunner de Mozilla (Iceweasel y Iceape) o Chromium.

Xulrunner ha tenido una buena historia de traslado de arreglos a versiones anteriores a lo largo de los ciclos de publicación previos. Chromium, aunque esté basado en Webkit, es un paquete hoja, que se actualizará recompilando las versiones más recientes de Chromium para estable.

5.3. ConsoleKit y gestores de ventanas alternativos

ConsoleKit en Debian 7.0 no considera locales las sesiones ejecutadas con startx o con gestores de pantalla que no disponen de integración con consolekit (p.ej. xdm o slim), lo que puede impedir el acceso a algunos dispositivos.

Le recomendamos que utilice en su lugar gdm3, kdm o lightdm.

5.4. Cambios y soporte del escritorio GNOME

Por omisión, la mayoría de las herramientas de accesibilidad están habilitadas en el gestor de ventanas de GNOME (gdm3). Para poder habilitar el zoom o el teclado visual, la más forma sencilla es habilitar la shell de la pantalla de bienvenida.

Para hacer esto, edite el archivo /etc/gdm3/greeter.gsettings y quite los comentarios de lo siguiente:

session-name='gdm-shell'

y comente

session-name='gdm-fallback'

Tenga en cuenta que esto requiere una tarjeta compatible con gráficos 3D. Esa es la razón por la que no está habilitado por omisión.

5.5. Cambios en el escritorio KDE

El paquete knetworkmanager ahora es obsoleto y ha sido reemplazado por plasma-widget-networkmanagement en el nuevo espacio de trabajo KDE Plasma.

Si está utilizando la aplicación knetworkmanager de forma independiente, debería prepararse para hacer alguna configuración manual tras la actualización. Puede tener que añadir manualmente el componente «plasma-widget-networkmanagement» a su panel o escritorio.

Además, si la conexión de red no debería depender de tener un componente de gestión de red ejecutándose, quizás desee cambiar la conexión para que sea una conexión del sistema.

5.6. NetworkManager

NetworkManager puede detectar si una interfaz de red está gestionada por ifupdown para evitar conflictos, pero no puede hacer lo mismo si se está gestionando la interfaz con otros programas de gestión de red como wicd-daemon. Puede tener problemas y comportamientos inesperados si dos demonios de este tipo están gestionando la misma interfaz cuando intentan crear una conexión de red.

Por ejemplo, si está ejecutándose tanto wicd-daemon como NetworkManager, si se intenta utilizar el cliente wicd para hacer una conexión se producirá un fallo con el siguiente mensaje de error:

Conexión fallida: Contraseña incorrecta

Si intenta utilizar el cliente NetworkManager fallará de forma similar con el siguiente mensaje:

Error: NetworkManager no se está ejecutando. Por favor, arránquelo.

Se recomienda que los usuarios de GNOME consideren la instalación y utilización de NetworkManager. Sin embargo, si así lo desea, puede parar el servicio de NetworkManager de forma permanente con la siguiente orden:

# update-rc.d network-manager disable

Después de deshabilitar el servicio, se recomienda revisar los contenidos de /etc/resolv.conf. Este fichero se utiliza para especificar los servidores de DNS para hacer resolución de nombres, y es posible que los contenidos de este fichero hayan sido reemplazados por NetworkManager.

5.7. Eliminación de perl-suid

Los desarrolladores originales eliminaron el programa suidperl en la versión 5.12, por ello, también se ha eliminado el paquete perl-suid que se distribuía dentro de Debian. Como alternativas a este programa puede utilizar un sencillo programa en C que ejecute un programa Perl de una ubicación prefijada, o utilizar una herramienta más general como sudo.

5.8. Versiones de Request Tracker

Si tenía instalado en su sistema Squeeze request-tracker3.8, ha de tener en cuenta que este paquete se ha eliminado para Wheezy y se ha reemplazado por request-tracker4. Es necesario seguir algunos pasos manuales para actualizar de request-tracker3.8 a request-tracker4. Por favor, instale request-tracker4 en paralelo con su instalación de request-tracker3.8 y consulte las notas de instalación y actualización en /usr/share/doc/request-tracker4/README.Debian.gz (sección: Upgrading from request-tracker3.8 to request-tracker4).

Debe hacer lo mismo si tiene instalado el paquete request-tracker3.6 o versiones más antiguas de publicaciones anteriores de Debian. Si este es su caso, se recomienda actualizar paso a paso, siguiendo cada uno de los documentos de actualización relevantes.

5.9. Cambios a Bootlogd

Se ha movido bootlogd de sysvinit-utils a un paquete bootlogd independiente. Si desea seguir utilizando bootlogd deberá instalar el paquete bootlogd. Tenga en cuenta que ya no existe ni el fichero de configuración /etc/default/bootlogd ni la opción BOOTLOGD_ENABLE. Si no desea ejecutar bootlogd, debe eliminar el paquete bootlogd del sistema.

5.10. /etc/mtab y _netdev

Se ha modificado el fichero /etc/mtab, utilizado para mantener una lista de los sistemas actualmente montados, para que sea un enlace simbólico a /proc/mounts. En la mayoría de los casos el cambio resultará en un sistema más robusto, puesto que la lista nunca puede ser inconsistente con la situación real del sistema. Sin embargo, si utiliza la opción _netdev en /etc/fstab para indicar que un sistema de ficheros es un sistema de ficheros en red y requiere tratamiento especial, esta opción no se mantendrá configurada en /proc/mounts después de reiniciar el sistema. Esto no causará ningún problema en sistemas de ficheros en red estándar como NFS, que no dependen de la opción _netdev. Los sistemas de ficheros que no están afectados por este problema son ceph, cifs, coda, gfs, ncp, ncpfs, nfs, nfs4, ocfs2 y smbfs. Se debe utilizar un fichero estático mtab en el caso de utilizar sistemas de ficheros que dependen de la opción _netdev para que se desmonten correctamente al apagar, por ejemplo es el caso de NBD. El uso de un fichero estático es la única forma de utilizar _netdev en Wheezy. Si está utilizando este tipo de sistemas, después de completar la actualización a Wheezy debe voler a restaurar /etc/mtab para que sea un fichero estático haciendo lo siguiente:

  • Para hacer esto, edite el archivo /etc/init.d/checkroot.sh y comente las siguientes líneas:

            if [ "$rootmode" != "ro" ]; then
                    mtab_migrate
            fi
    

  • Si ha reiniciado ya el sistema, /etc/mtab será un enlace simbólico:

    # rm /etc/mtab
    # cp /proc/mounts /etc/mtab
    

    Deberá volver a añadir la opción _netdev remontando los sistemas de ficheros afectados:

    # mount -o remount sistema_de_ficheros
    

    El fichero /etc/mtab se recreará por completo cuando reinicie el sistema.

5.11. Transición de pdksh a mksh

El paquete «Public Domain Korn Shell» (N. del T. interfaz de línea de órdenes de dominio público Korn, pdksh) se ha retirado de la publicación después de wheezy, puesto que el programa pdksh ya no se puede mantener (no tiene desarrollo activo desde 1999).

El paquete «MirBSD Korn Shell» (mksh) contiene su sucesor, ha evolucionado a partir de «Public Domain Korn Shell» y se ha mantenido actualizado para cumplir el estándar POSIX en la interfaz de línea de órdenes. El paquete pdksh es un paquete de transición en Debian wheezy, que usa lksh, una variante de mksh compilada con unas opciones de compatibilidad especiales para ofrecer un enlace simbólico binario pdksh. Este binario compatible se comporta de una forma más parecida al tradicional «Public Domain Korn Shell» que el programa mksh actual. Sin embargo, este programa contiene algunos arreglos a erratas que cambian el comportamiento y no es un sustitución completamente exacta. Por ello, se le recomienda cambiar en sus programas

#!/bin/pdksh

por

#!/bin/mksh

y probarlos. Si la prueba falla es recomendable que arregle sus programas. Si, por cualquier razón, no puede arreglarlos puede cambiarlos a

#!/bin/lksh

y probarlo de nuevo. Esta prueba tiene más posibilidades de tener éxito sin que sea necesario cambiar mucho código. Tenga en cuenta, sin embargo, que en el futuro este paquete de transición se eliminará de Debian.

El binario compatible no es apropiado para utilizarlo dentro de un uso interactivo, por lo que debería ajustar la interfaz de línea de órdenes de acceso para sus usuarios de Korn Shell. Para que la interrupción de servicio sea mínima, debería hacer ésto cuando actualize el sistema operativo: instale manualmente el paquete mksh y cambie el login y/o las interfaces de líneas de órdenes interactivas de los usuarios que utilicen pdksh a mksh. Además, es muy recomendable que copie el archivo /etc/skel/.mkshrc a sus directorios personales, de esta forma dispondrán de algunas funciones útiles del intérprete como pushd, popd y dirs, así como un bonito

PS1

(guión de línea de órdenes).

5.12. Compatibilidad con Puppet 2.6 / 2.7

Cuando se actualiza un sistema gestionado mediante Puppet de Squeeze a Wheezy debe asegurarse que el «puppetmaster» que lo gestiona está ejecutando al menos la versión 2.7. Si el gestor está ejecutando la versión de Squeeze de puppetmaster, el sistema gestionado Wheezy no podrá conectarse a él.

Esta combinación dará lugar al siguiente mensaje de error al ejecutar puppet agent

Could not retrieve catalog from remote server: Error 400 on SERVER: No support for http method POST

Para poder resolver este problema debe actualizar el «puppetmaster». Un gestor en versión 2.7 podrá gestionar un sistema cliente en versión 2.6.

5.13. Implicaciones de la multiarquitectura a la cadena de herramientas

La introducción de la multiarquitectura (como se describe en Sección 2.2.2, “Multiarquitectura”) cambia la ruta de algunos ficheros, lo que puede invalidar algunas suposiciones que hacen las herramientas utilizadas para compilar. Las herramientas de Debian han sido actualizadas, pero los usuarios que intenten compilar o que utilicen compiladores externos deben ser conscientes de este cambio.

Podrá encontrar algunas pistas de cómo evitar estos problemas en /usr/share/doc/libc6/NEWS.Debian.gz y en la errata #637232.

5.14. Motores SQL de Cyrus SASL

La configuración de los motores de SQL utilizados como repositorio de datos para Cyrus SASL, tal y como se ofrecía en el paquete libsasl2-modules-sql, ha cambiado de una configuración específica de base de datos (p.ej. mysql) al complemento auxprop sql.

Deben actualizarse los archivos de configuración para las aplicaciones que utilicen SASL, por ejemplo:

auxprop_plugin: mysql

debería reemplazarse por:

auxprop_plugin: sql
sql_engine: mysql

Además, debe cambiarse en la consulta SQL (si se utiliza) la cadena %u por %u@%r, porque los valores de usuario y dominio se proporcionan ahora por separado.

5.15. Firmware para los controladores de dispositivos red y gráficos

Algunos controladores hardware, incluyendo los controladores para tarjetas de red (cableadas o inalámbricas), así como los controladores para tarjetas gráficas basadas en el chipset de ATI/AMD, necesitan de firmware cargable para poder operar correctamente.

En muchos casos, el firmware no es software libre, y por ello sólo está disponible en el repositorio «non-free» en el paquete firmware-linux y en otros paquetes.