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

Tabla de contenidos

5.1. Estado de seguridad en los navegadores web
5.2. Puppet 2.7 / 3.7 compatibility
5.3. PHP 5.6 upgrade has behavioural changes
5.4. Upgrading installs the new default init system for Jessie
5.4.1. Stricter handling of failing mounts during boot under systemd
5.5. Jessie udev needs kernel with CONFIG_DEVTMPFS=y (non-standard setups)
5.6. Manual migration of disks encrypted with LUKS whirlpool (non-standard setups)

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. Estado de seguridad en los navegadores web

Debian 8 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 Jessie, 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.

Chromium - while built upon the Webkit codebase - is a leaf package, which will be kept up-to-date by rebuilding the current Chromium releases for stable. Iceweasel, Iceape and Icedove will also be kept up-to-date by rebuilding the current ESR releases for stable.

5.2. Puppet 2.7 / 3.7 compatibility

If you are using Puppet, please be aware that Puppet 3.7 is not backwards compatible with Puppet 2.7. Among other things, the scoping rules have changed and many deprecated constructs have been removed.

It is recommended that you check the log files of the puppetmaster for deprecation warnings and resolve all of these before proceeding with the upgrade. Alternatively, testing the manifests with a tool like Puppet catelog test may also find potential issues prior to the upgrade.

When upgrading a Puppet managed system from wheezy to jessie, you must ensure that the corresponding puppetmaster runs at least Puppet version 3.7. If the master is running wheezy's puppetmaster, the managed jessie system will not be able to connect to it.

For more information on incompatability changes, please have a look at Telly upgrade issues and "The Angry Guide to Puppet 3"

5.3. PHP 5.6 upgrade has behavioural changes

The upgrade to Jessie includes an upgrade of PHP from 5.4 to 5.6. This may affect any local PHP scripts and you are advised to check those scripts before upgrading. Below are a selected subset of these issues:

  • To prevent man-in-the-middle attacks against encrypted transfers client streams now verify peer certificates by default.

    As a result of this change, existing code using ssl:// or tls:// stream wrappers (e.g. file_get_contents(), fsockopen(), stream_socket_client()) may no longer connect successfully without manually disabling peer verification via the stream context's "verify_peer" setting.

    For more information about this particular issue, please read this document

  • PHP changes the handling of caseinsenstive in many cases:

    • All internal case insensitivity handling for class, function and constant names is done according to ASCII rules. Current locale settings are ignored.

    • The keywords "self", "parent" and "static" are now always case insensitive.

    • The json_decode() function no longer accepts non-lowercase variants of "boolean" values.

  • The logo GUID functions (e.g. php_logo_guid()) have been removed.

  • It is no longer possible to overwrite keys in static scalar arrays. Please see PHP bug 66015 for an example and more information about this particular issue.

  • The mcrypt_encrypt(), mcrypt_decrypt() and mcrypt_{MODE}() functions no longer accept keys or IVs with incorrect sizes. Furthermore an IV is now required if the used block cipher mode requires it.

For more information or the full list of potential issues, please have a look at upstream's list of backwards incompatible changes for PHP 5.5 and 5.6.

5.4. Upgrading installs the new default init system for Jessie

Jessie ships with systemd-sysv as default init system. If you have a preference for another init such as sysvinit-core or upstart, it is recommended to setup APT pinning prior to the upgrade. As an example, to prevent systemd from being installed during the upgrade, you can create a file called /etc/apt/preferences.d/local-pin-init with the following contents:

Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1
  
[Atención]Atención

Be advised that some packages may have degraded behaviour or may be lacking features under a non-default init system.

Please note that the upgrade may install packages containing "systemd" in their name even with APT pinning. These alone do not change your init system. To use systemd as your init system, the systemd-sysv package must be installed first.

5.4.1. Stricter handling of failing mounts during boot under systemd

The new default init system, systemd-sysv, has a stricter handling of failing "auto" mounts during boot compared to sysvinit. If it fails to mount an "auto" mount (without the "nofail" option), systemd will drop to an emergency shell rather than continuing the boot.

We recommend that all removable or "optional" mount points (e.g. non-critical network drives) listed in /etc/fstab either have the "noauto" or the "nofail" option.

5.5. Jessie udev needs kernel with CONFIG_DEVTMPFS=y (non-standard setups)

[Nota]Nota

This section is only for people, who compile their own kernel. If you use the kernels compiled by Debian, you can disregard this section.

The udev package in Jessie requires a kernel compiled with "CONFIG_DEVTMPFS=y". Please ensure your kernel is compiled with that option prior to upgrading.

5.6. Manual migration of disks encrypted with LUKS whirlpool (non-standard setups)

[Nota]Nota

This section is only for people have set up LUKS encrypted disks themselves using the whirlpool hash. The debian-installer never supported creating such disks.

If you have manually setup an encrypted disk with LUKS whirlpool, you will need to migrate it manually to a stronger hash. You can check if your disk is using whirlpool by using the following command:

    # /sbin/cryptsetup luksDump <disk-device> | grep -i whirlpool
  

For more information on migrating, please see item "8.3 Gcrypt 1.6.x and later break Whirlpool" of the cryptsetup FAQ.

[Atención]Atención

If you have such a disk, cryptsetup will refuse to decrypt it by default. If your rootdisk or other system disks (e.g. /usr) are encrypted with whirlpool, you should migrate them prior to the first reboot after upgrading cryptsetup.