Chapitre 5. Problèmes à connaître pour Jessie

Table des matières

5.1. Limitations de la prise en charge de sécurité
5.1.1. État de sécurité des navigateurs web
5.1.2. Manque de prise en charge de sécurité pour l'écosystème autour de libv8 et Node.js
5.2. Le serveur OpenSSH est réglé par défaut sur « PermitRootLogin without-password »
5.3. Compatibilité de Puppet 2.7 et 3.7
5.4. PHP 5.6 upgrade has behavioral changes
5.5. Modifications incompatible dans Apache HTTPD 2.4
5.6. La mise à niveau installe le nouveau système d'initialisation par défaut de Jessie
5.6.1. Gestion plus stricte des échecs de montage lors du démarrage sous systemd
5.6.2. Obsolete init-scripts should be purged
5.6.3. Les scripts de démarrage modifiés localement peuvent nécessiter d'être portés vers systemd
5.6.4. Plymouth nécessaire aux invites de commandes au démarrage pour les démarrages sous systemd
5.6.5. Interaction between logind and acpid
5.7. Option de noyau requises pour Jessie
5.8. Considérations au sujet de la mise à niveau des hôtes et conteneurs LXC
5.8.1. Upgrading LXC guests running on Wheezy hosts
5.8.2. Upgrading LXC guests running on Jessie hosts
5.8.3. Informations supplémentaires
5.9. Migration manuelle de disques chiffrés avec LUKS whirlpool (configurations non standard)
5.10. Le bureau GNOME nécessite des graphismes 3D de base
5.11. Le bureau GNOME ne fonctionne pas avec le pilote AMD propriétaire FGLRX
5.12. Modifications des raccourcis clavier par défaut de GNOME
5.13. Modifications dans l'interpréteur de commande par défaut pour les utilisateurs système fournie par base-passwd.
5.14. Migration to new KDE E-mail, Calendar, and Contacts (Kontact)
5.15. Consoles virtuelles (« getty ») manquantes avec plusieurs environnements de bureau
5.16. "Signal VGA hors de portée" / écran noir lors du démarrage avec grup-pc
5.17. Validation plus stricte des fichiers cron dans crontab
5.18. Change in handling of unreadable module paths by perl

Parfois, des changements ont des effets de bord que nous ne pouvons pas raisonnablement éviter sans nous exposer à des bogues à un autre endroit. Cette section documente les problèmes que nous connaissons. Veuillez également lire l'errata, la documentation des paquets concernés, les rapports de bogues et les autres sources d'informations mentionnées en Section 6.1, « Lectures pour aller plus loin ».

5.1. Limitations de la prise en charge de sécurité

There are some packages where Debian cannot promise to provide minimal backports for security issues. These are covered in the following subsections.

Veuillez noter que le paquet debian-security-support, introduit dans Jessie, aide à suivre le statut de la prise en charge du suivi de sécurité des paquets installés.

5.1.1. État de sécurité des navigateurs web

Debian 8 inclut plusieurs moteurs de navigateur web qui sont affectés par un flot continu de vulnérabilités de sécurité. Ce taux élevé de vulnérabilités ainsi que le manque partiel de prise en charge amont sous la forme de branches maintenues à long terme rendent difficiles les corrections de sécurité rétroportées. De plus, les interdépendances des bibliothèques rendent impossible la mise à niveau vers une nouvelle version. Par conséquent les navigateurs basés sur les moteurs webkit, qtwebkit et khtml sont inclus dans Jessie mais ne sont pas couverts par une prise en charge complète de la sécurité. Ces navigateurs ne devraient pas être utilisés sur des sites web non fiables.

Pour un usage général de navigation web, nous recommandons Iceweasel et Chromium.

Chromium − bien qu'il soit construit sur Webkit − est un paquet sans dépendance, qui sera maintenu à jour en reconstruisant les versions actuelles de Chromium pour stable. Iceweasel et Icedove seront également maintenus à jour en reconstruisant les versions ESR actuelles pour stable.

5.1.2. Manque de prise en charge de sécurité pour l'écosystème autour de libv8 et Node.js

The Node.js platform is built on top of libv8-3.14, which experiences a high volume of security issues, but there are currently no volunteers within the project or the security team sufficiently interested and willing to spend the large amount of time required to stem those incoming issues.

Unfortunately, this means that libv8-3.14, nodejs, and the associated node-* package ecosystem should not currently be used with untrusted content, such as unsanitized data from the Internet.

In addition, these packages will not receive any security updates during the lifetime of the Jessie release.

5.2. Le serveur OpenSSH est réglé par défaut sur « PermitRootLogin without-password »

Afin de renforcer la sécurité de l'installation par défaut, la configuration de openssh-server est maintenant réglée avec « PermitRootLogin without-password » par défaut. Si vous utilisez l'authentification par mot de passe pour l'utilisateur root, vous pourriez être affecté par ce changement.

openssh-server essaiera de détecter de tels cas et augmentera la priorité de son invite debconf.

Si vous souhaitez conserver l'authentification par mot de passe pour l'utilisateur root, vous pouvez également pré-répondre à cette question en utilisant :

$ echo 'openssh-server openssh-server/permit-root-login boolean true' | debconf-set-selections
    

5.3. Compatibilité de Puppet 2.7 et 3.7

Si vous utilisez Puppet, soyez conscient que Puppet 3.7 n'est pas rétrocompatible avec Puppet 2.7. Entre autres choses, les règles de portée (« scoping ») ont changé et beaucoup de constructions dépréciées ont été supprimées. Veuillez consulter les notes de publication de Puppet 3.x pour quelques-unes des modifications, mais gardez à l'esprit qu'il y en a davantage dans la version 3.7.

Vérifier les fichiers de journaux de votre puppetmaster actuel à la recherche d'avertissements de dépréciation et résoudre tous ces avertissements avant de procéder à la mise à niveau simplifiera grandement les choses. Autrement ou en complément, le test des manifestes avec un outil comme le test de catalogue de Puppet pourrait également trouver des problèmes potentiels avant la mise à niveau.

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.

Pour davantage d'informations sur les changements d'incompatibilité, veuillez consulter les problèmes de mise à niveau Telly et « The Angry Guide to Puppet 3 ».

5.4. PHP 5.6 upgrade has behavioral changes

La mise à niveau vers Jessie comprend une mise à niveau de PHP de la version 5.4 vers la version 5.6. Cela pourrait affecter tous les scripts PHP locaux et il vous est recommandé de vérifier ces scripts avant de mettre à niveau. Un sous-ensemble de ces problèmes est présenté ci-dessous :

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

    En résultat de ces changements, un code existant utilisant des enveloppes de flux ssl:// ou tls:// (par exemple file_get_contents(), fsockopen() et stream_socket_client()) pourraient ne plus réussir à se connecter sans désactiver manuellement la vérification des pairs grâce au réglage « verify_peer » du contexte de flux.

    Pour davantage d'informations sur ces problèmes particuliers, veuillez lire ce document

  • PHP modifie la gestion de l'insensibilité à la casse dans de nombreux cas :

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

    • La fonction json_decode() n'accepte plus les variantes non minuscules des valeurs booléennes.

  • Les fonctions de GUID logo (comme php_logo_guid()) ont été supprimées.

  • Il n'est plus possible d'écraser les clés dans les tableaux scalaires statiques. Veuillez consulter le bogue 66015 de PHP pour un exemple et plus d'informations sur ce problème.

  • Les fonctions mcrypt_encrypt(), mcrypt_decrypt() et mcrypt_{MODE}() n'acceptent plus les clés ou vecteurs d'initialisation de taille incorrecte. De plus, un vecteur d'initialisation est maintenant nécessaire si l'algorithme de bloc utilisé le nécessite.

  • For legal reasons, the JSON implementation bundled with PHP has been replaced with the version provided by the "jsonc" PECL module. Code that makes assumptions about the finer implementation details of the PHP JSON parser may need to be reviewed.

Pour plus d'informations ou la liste complète des problèmes potentiels, veuillez consulter la liste amont des modifications qui ne sont pas rétrocompatibles pour PHP pour les versions 5.5 et 5.6.

5.5. Modifications incompatible dans Apache HTTPD 2.4

[Note]Note

This section only applies to systems which have installed an Apache HTTPD server and configured it manually.

There have been a number of changes to the configuration of the Apache HTTPD server in version 2.4. On the upstream side, the syntax has changed. Notably, the access control directives have changed considerably and will need manual migration to the new directives.

Le module mod_access_compat est mentionné dans le guide amont de mise à niveau comme une alternative possible à la migration immédiate. Cependant, les rapports laissent penser que cela ne fonctionne pas toujours.

The managing of configuration files has also been changed in the Debian packaging. In particular, all configuration files and sites must now end with ".conf" to be parsed by default. This change also replaces the existing use of /etc/apache2/conf.d/.

[Note]Note

During the upgrade, you may also see warnings about configuration files placed in /etc/apache2/conf.d/, which are provided by packages from Debian. This warning is unavoidable but harmless as the affected packages will move their configuration once their upgrade completes (which will generally happen after the Apache HTTPD emits its warning).

Pour davantage d'informations et la liste complète des modifications, veuillez vous référer à :

  • Upgrading to 2.4 from 2.2 fourni par Apache pour la partie amont.

  • Le fichier /usr/share/doc/apache2/NEWS.Debian.gz fourni par le paquet apache2.

5.6. La mise à niveau installe le nouveau système d'initialisation par défaut de Jessie

Jessie ships with systemd-sysv as default init system. This package is installed automatically on upgrades.

If you have a preference for another init such as sysvinit-core or upstart, it is recommended to set up APT pinning prior to the upgrade. This may also be required if you are upgrading LXC containers before the host. In this case, please refer to Section 5.8.1, « Upgrading LXC guests running on Wheezy hosts ».

As an example, to prevent systemd-sysv 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
  
[Attention]Attention

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

Veuillez noter que la mise à niveau pourrait installer des paquets contenant « systemd » dans leur nom malgré le pinning APT. Ces paquets seuls ne peuvent pas changer votre système d'initialisation. Pour utiliser systemd comme système d'initialisation, le paquet systemd-sysv doit d'abord être installé.

If APT or aptitude has issues computing an upgrade path with the pin in place, you may be able to help it by manually installing both sysvinit-core and systemd-shim.

5.6.1. Gestion plus stricte des échecs de montage lors du démarrage sous systemd

Le nouveau système d'initialisation par défaut, systemd-sysv, gère les échecs de montages « auto » de façon plus stricte que ne le fait sysvinit. S'il échoue à monter un montage « auto » (sans l'option « nofail »), systemd lancera un shell d'urgence au lieu de poursuivre le démarrage.

Nous recommandons que tous les points de montage démontables ou optionnels (« optional ») listés dans /etc/fstab, tels que les disques réseau non critiques, aient l'option « noauto » ou « nofail ».

5.6.2. Obsolete init-scripts should be purged

If you are upgrading from previous releases, your system may contain obsolete init-scripts provided by (now) removed packages. These scripts may have inaccurate or no dependency metadata, which can lead to dependency cycles in your init configuration.

To avoid this, we recommend that you go and review the list of packages that are in the "rc" ("Removed, but Config-files remain") state, and purge at least all those containing init-scripts.

Please see Section 4.8.1, « Purger les paquets supprimés » for details on finding and purging removed packages.

5.6.3. Les scripts de démarrage modifiés localement peuvent nécessiter d'être portés vers systemd

[Note]Note

This section only applies to systems where Debian-provided init scripts have been modified locally.

If you have modified some of the init scripts provided by Debian, please be aware that these may now have been superseded by a systemd unit file or by systemd itself. If you have debsums installed, you can check for locally modified init scripts by using the following shell command.

debsums -c -e | grep ^/etc/init.d
  

Autrement, la commande suivante peut-être utilisée en l'absence de debsums.

  dpkg-query --show -f'${Conffiles}' | sed 's, /,\n/,g' | \
    grep /etc/init.d | awk 'NF,OFS="  " {print $2, $1}' | \
    md5sum --quiet -c

Si l'une de ces commandes désigne des fichiers et leurs paquets correspondants ou que systemd fournit désormais un fichier unit pour ce service, le fichier unit de systemd aura la priorité sur votre script de démarrage modifié localement. En fonction de la nature de la modification, il existe différentes manières d'effectuer la migration.

Au besoin, il est possible de passer outre le fichier unit de systemd pour le faire lancer le script de démarrage. Pour davantage d'informations sur les fichiers unit systemd, veuillez consulter les ressources suivantes :

5.6.4. Plymouth nécessaire aux invites de commandes au démarrage pour les démarrages sous systemd

If your boot is interactive (e.g. needs a password for an encrypted disk), please ensure that you have plymouth installed and configured. Please refer to /usr/share/doc/plymouth/README.Debian for information on how to configure plymouth.

Without plymouth, you may find that your boot prompt disappears. Reports suggest that the cryptsetup prompt still accepts input despite not being visible. Should you experience this issue, typing the correct password may still work.

5.6.5. Interaction between logind and acpid

ACPI events can be handled by logind or acpid. In case both services are configured to handle events in different ways, this can lead to undesired results.

We recommend to migrate any non-default settings to logind and uninstall acpid. Alternativly it is also possible to configure logind to ignore ACPI events by adding:

    HandlePowerKey=ignore
    HandleSuspendKey=ignore
    HandleHibernateKey=ignore
    HandleLidSwitch=ignore

to /etc/systemd/logind.conf. Note that this might change behaviour of desktop environments relying on logind.

5.7. Option de noyau requises pour Jessie

[Note]Note

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

Les options suivantes de configuration du noyau sont maintenant requises ou recommandées pour Jessie (en plus des options déjà présentes dans les distributions antérieures) :

# Required for udev
CONFIG_DEVTMPFS=y
# Required for *some* systemd services
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# Required by "bluez" (GNOME)
CONFIG_BT=y
# Required for cups + systemd.
CONFIG_PPDEV=y

The systemd services which require CONFIG_DEVPTS_MULTIPLE_INSTANCES=y will typically contain at least one of the following directives:

PrivateTmp=yes
PrivateDevices=yes
PrivateNetwork=yes
ProtectSystem=yes
  

Si vous n'utilisez pas systemd ou savez qu'aucun des services de systemd n'utilise les directives mentionnées, l'option de configuration peut ne pas être nécessaire à votre système.

For more information about the requirements, please refer to the section called "REQUIREMENTS" in the README file for the package systemd.

5.8. Considérations au sujet de la mise à niveau des hôtes et conteneurs LXC

[Note]Note

Cette section ne concerne que les systèmes ayant des conteneurs et hôtes LXC. Les utilisateurs normaux n'en ont normalement pas.

The upgrade from Wheezy to Jessie will migrate your system to the systemd init system by default (see Section 5.6, « La mise à niveau installe le nouveau système d'initialisation par défaut de Jessie »).

When upgrading an LXC container or an LXC virtual machine, this will have different consequences depending on whether the host system has already been upgraded to Jessie or not.

5.8.1. Upgrading LXC guests running on Wheezy hosts

Si vous mettez à niveau un conteneur invité LXC tournant sur un système hôte sous Wheezy, il vous faudra empêcher l'invité de migrer automatiquement vers systemd. Cela est faisable grâce au pinning, décrit dans Section 5.6, « La mise à niveau installe le nouveau système d'initialisation par défaut de Jessie ».

Ceci est nécessaire car l'hôte sous Wheezy n'a pas les fonctionnalités permettant de faire démarrer un systèmes utilisant systemd.

Vous devriez être capable de passer à systemd dans un invité LXC après avoir mis à niveau le système hôte vers Jessie. Veuillez lire le paragraphe suivant pour savoir ce qui doit être adapté sur les hôtes sous Jessie.

5.8.2. Upgrading LXC guests running on Jessie hosts

Afin de pouvoir démarrer des invités LXC avec systemd, vous devez adapter la configuration de votre conteneur LXC. La configuration du conteneur se trouve généralement dans /var/lib/lxc/NOM_DU_CONTENEUR/config. Vous devez ajouter les réglages suivants à la configuration :

lxc.autodev = 1
lxc.kmsg = 0

5.8.3. Informations supplémentaires

Vous pouvez trouver de plus amples informations sur LXC dans Debian dans le wiki Debian.

5.9. Migration manuelle de disques chiffrés avec LUKS whirlpool (configurations non standard)

[Note]Note

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

If you have manually set up 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
  

Pour davantage d'information sur la migration, veuillez consulter l'élément « 8.3 Gcrypt 1.6.x and later break Whirlpool » de la FAQ cryptsetup.

[Attention]Attention

Si vous avez un tel disque, cryptsetup refusera de le déchiffrer par défaut. Si votre disque racine ou d'autres disques système (par exemple /usr) sont chiffrés avec whirlpool, vous devriez les migrer avant le premier redémarrage suivant la mise à niveau de cryptsetup.

5.10. Le bureau GNOME nécessite des graphismes 3D de base

Le bureau GNOME 3.14 de Jessie ne propose plus de prise en charge de secours pour les machines ne disposant pas de graphismes 3D de base. Pour fonctionner correctement, il nécessite soit un PC suffisamment récent (toute machine fabriquée ces 10 dernières années devrait avoir la prise en charge requise de SSE2) ou, pour les architectures autres qu'i386 et amd64, un adaptateur graphique 3D accéléré avec les pilotes EGL.

5.11. Le bureau GNOME ne fonctionne pas avec le pilote AMD propriétaire FGLRX

Contrairement aux autres pilotes OpenGL, le pilote AMD FGLRX pour les adaptateurs Radeon ne prend pas en charge l'interface EGL. Ainsi, plusieurs applications GNOME, dont le cœur du bureau GNOME, ne démarreront pas du tout quand ce driver sera utilisé.

Il est recommandé d'utiliser à la place le pilote libre radeon, qui est le pilote par défaut de Jessie.

5.12. Modifications des raccourcis clavier par défaut de GNOME

Les raccourcis clavier par défaut du bureau GNOME ont changé afin de mieux correspondre à ceux utilisés sur d'autres systèmes d'exploitation.

Shortcut settings previously modified by the user will be preserved upon upgrade. These settings can still be configured from the GNOME control center, accessible from the top right menu by clicking on the "settings" icon.

5.13. Modifications dans l'interpréteur de commande par défaut pour les utilisateurs système fournie par base-passwd.

The upgrade of the base-passwd package will reset the shell of some system users to the "nologin" shell. This includes the following users:

  • daemon

  • bin

  • sys

  • games

  • man

  • lp

  • mail

  • news

  • uucp

  • proxy

  • www-data

  • backup

  • list

  • irc

  • gnats

  • nobody

If your local setup requires that any of these users have a shell, you should say no to migrating, or migrate and then change the shell of the corresponding users. Notable examples include local backups done via the "backup" user with "ssh-key" authentication.

[Attention]Attention

La migration se fera automatiquement si la priorité de votre question debconf est « high » ou plus.

Si vous savez que vous souhaitez conserver l'interpréteur de commande d'un utilisateur donné, vous pouvez pré-répondre à cette question en utilisant :

    echo 'base-passwd base-passwd/system/nom_utilisateur/shell/shell-actuel-modifié/_usr_sbin_nologin boolean false' | debconf-set-selections
  

Where username is the name of the user in question and current-shell-mangled is the mangled name of the shell. The mangling is done by replacing all characters other than alphanumerics, dashes, and underscores with underscores. E.g. /bin/bash becomes _bin_bash.

5.14. Migration to new KDE E-mail, Calendar, and Contacts (Kontact)

Le système Kontact de gestion d'informations personnelles a subi une mise à niveau majeure. La nouvelle version utilise beaucoup plus l'indexation des métadonnées et les données de chaque utilisateur doivent être migrées vers ce nouvel index.

E-mail, calendar events, and addressbook contacts are automatically migrated when the user logs in and the relevant component is started. Some advanced settings such as e-mail filters and custom templates require manual intervention. Further details and troubleshooting suggestions are collected on the Debian Wiki.

5.15. Consoles virtuelles (« getty ») manquantes avec plusieurs environnements de bureau

Si vous avez installé plusieurs environnements de bureau, il se peut qu'aucune des « consoles virtuelles » ne montre une invite de connexion.

This issue seems to occur when plymouth, systemd, and GNOME are all installed. This issue is reported as Debian Bug#766462.

It has been reported that removing the "splash" argument from the kernel command-line may work around the issue. Please see /etc/default/grub and remember to run update-grub after updating the file.

5.16. "Signal VGA hors de portée" / écran noir lors du démarrage avec grup-pc

Il existe un problème de compatibilité dans grup-pc avec des cartes graphiques anciennes (par exemple la "ATI Rage 128 Pro Ultra TR") qui peut provoquer un écran noir lors du démarrage. L'écran peut afficher un message "Signal VGA hors de portée" (ou quelque chose de similaire).

Un contournement simple est de régler GRUB_TERMINAL=console dans /etc/default/grub.

5.17. Validation plus stricte des fichiers cron dans crontab

Le programme crontab est maintenant plus strict et pourrait refuser de sauvegarder un fichier cron si celui-ci est invalide. Si vous rencontrez des problèmes avec crontab -e, veuillez verifiez votre crontab.

5.18. Change in handling of unreadable module paths by perl

From version 5.18 (and 5.20, which is included in Jessie), Perl will exit with a fatal error if it encounters unreadable module paths in @INC. The previous behavior was to skip such entries. It is recommended to check the contents of @INC in your environment for directories which are not world-readable, and take appropriate action.

You can see the default @INC for Perl by running perl -V.