Table des matières
libinput
dbgsym
par défautnet-tools
sera déconseillé
en faveur de iproute2
_netdev
est recommandée lors de
l'utilisation de périphériques AoE (ATA over ethernet)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 ».
Cette section concerne les éléments liés à la mise à niveau de Jessie vers Stretch
![]() | Note |
---|---|
Cette section ne s'applique qu'aux systèmes utilisant un noyau personnalisé,
où |
Le montage de /usr
en n'utilisant que des outils
trouvés dans /
n'est plus pris en charge. Cela n'a
fonctionné dans le passé que pour quelques configurations spécifiques et est
désormais explicitement non pris en charge.
Cela signifie que pour Stretch tous les systèmes dans lesquels
/usr
est une partition séparée doivent utiliser un
générateur d'initramfs qui montera /usr
. Tous les
générateurs d'initramfs présents dans Stretch le font.
Les miroirs hébergés par Debian vont cesser de fournir un accès FTP. Si vous
utilisez le protocole ftp:
dans votre sources.list,
veuillez migrer vers http:
. Vous pouvez utiliser
l'exemple suivant :
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security stretch/updates main # variante tor (nécessite apt-transport-tor) # deb tor+http://vwakviie2ienjx6t.onion/debian stretch main # deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
Les exemples ci-dessus ne comprennent pas non-free
ni
contrib
. N'oubliez pas de les inclure si vous avez besoin
de ces composants.
Pour davantage d'informations, veuillez consulter l'annonce : Fermeture des services FTP publics.
La liste suivante contient des paquets connus et obsolètes (voir Section 4.8, « Paquets obsolètes » pour une description).
La liste des paquets obsolètes contient :
la plupart des paquets -dbg
ont été supprimés de
l'archive principale. Ils ont été remplacés par des paquets
-dbgsym
qui sont disponibles dans l'archive
debian-debug
. Veuillez consulter la Section 2.2.8, « Une nouvelle archive pour les symboles de débogage ».
Les gestionnaires de mots de passe fpm2
et kedpm
ne sont plus maintenus en amont. Veuillez
utiliser un autre gestionnaire de mots de passe tel que pass
, keepassx
ou keepass2
. Assurez-vous d'avoir extrait vos mots
de passe de fpm2
et kedpm
avant de supprimer les paquets.
Le paquet net-tools
est déconseillé
en faveur de iproute2
. Veuillez
consulter la Section 5.3.9, « Le paquet net-tools
sera déconseillé
en faveur de iproute2
» ou le manuel
de référence Debian pour de plus amples informations.
Les outils de surveillance nagios3
ont été supprimés de Stretch. Le paquet icinga
en est le remplaçant le plus proche. Il
est globalement compatible, mais lit les fichiers de configuration à un
emplacement différent.
Lorsque apt-get dist-upgrade
a terminé, la mise à niveau
« formelle » est complète. Pour la mise à niveau vers
Stretch il n'y a rien de particulier à faire avant de redémarrer.
Par défaut, le compilateur GNU GCC 6 fourni par Debian Stretch compilera tous les exécutables pour être indépendants de l'emplacement. Cela fournit une limitation de toute une classe de vulnérabilités.
Malheureusement, le noyau Linux fournit dans Debian 8 (jusqu'à 8.7) cause un
problème avec certains programmes compilés pour être des exécutables
indépendants de l'emplacement en les faisant planter avec une erreur peu
descriptive comme erreur de segmentation
. Ce problème est
corrigé dans la version de Linux fournit dans Debian 8.8 (version 3.16.43 ou
ultérieure) et dans le noyau fourni dans Debian 9 (version 4.9 ou
ultérieure).
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 vous exécutez une version affectée du noyau pendant la mise à niveau, nous vous recommandons fortement de procéder à un redémarrage vers le noyau de Stretch juste après la mise à niveau pour éviter les problèmes.
![]() | Note |
---|---|
Cette section est principalement destinée aux développeurs ou aux administrateurs système. Les utilisateurs classiques ne devraient pas être affectés par cette section. |
Ce qui précède conduit également à quelques changements qu'il est bon de connaître.
L'outil file (entre autres) classera ces exécutables en tant qu'« objets partagés » plutôt que comme des « exécutables ». Si vous avez des filtres basés sur les fichiers exécutables, ceux-ci pourraient devoir être mis à jour (par exemple les filtres anti-pourriels).
Les bibliothèques statiques compilées en exécutables doivent maintenant être compilées comme du code indépendant de l'emplacement. Le message d'erreur suivant de l'éditeur de liens en est un symptôme :
relocation ... against '[SYMBOL]' can not be used when making a shared object; recompile with -fPIC
Veuillez noter que bien que le message d'erreur mentionne -fPIC, il est suffisant de recompiler avec -fPIE (qui est l’option par défaut dans les paquets GCC 6 faisant partie de Stretch).
Historiquement, les exécutables indépendants de l'emplacement étaient
associés avec une perte de performance sur certains matériels, notamment
pour l'architecture Debian i386
(machines Intel
32 bits). Bien que GCC 5 et GCC 6 aient grandement amélioré
les performances des exécutables indépendants de l'emplacement sur
l'architecture Intel 32 bits, cette optimisation pourrait ne pas
s'appliquer à toutes les architectures. Veuillez évaluer la performance de
votre code si vous visez des architectures ayant un nombre de registres très
limité.
En raison d'un manque d'intérêt et de testabilité, Debian a supprimé la majeure partie des paquets de compatibilité LSB (« Linux Standard Base »).
Debian continuera à fournir quelques utilitaires clés de LSB utilisés en
interne et en dehors du projet, comme lsb-release
et les fonctions de démarrage de
sysvinit dans lsb-base
. De plus,
Debian soutient toujours la version 2.3
du standard de hiérarchie de système de fichiers FHS (« Filesystem
Hierarchy Standard ») à quelques modifications mineures près décrites
dans le manuel de la charte Debian.
Il y a certains paquets pour lesquels Debian ne peut pas garantir de rétroportages minimaux pour les problèmes de sécurité. Ceux-ci sont couverts dans les sous-sections suivantes.
Veuillez noter que le paquet debian-security-support
aide à suivre le statut
de la prise en charge du suivi de sécurité des paquets installés.
Debian 9 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 Stretch 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 Firefox 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. Firefox et Thunderbird seront également maintenus à jour en reconstruisant les versions ESR actuelles pour stable.
La plate-forme Node.js est construite sur libv8-3.14
qui souffre d'un grand nombre de
problèmes de sécurité, mais le projet et l'équipe de sécurité manquent de
volontaires suffisamment intéressés et souhaitant investir beaucoup de temps
pour corriger ces problèmes.
Malheureusement, cela signifie que libv8-3.14
, nodejs
et l'écosystème de paquets node-* associé
ne devraient pas être actuellement utilisés avec du contenu non sûr, par
exemple des données non validées depuis Internet.
De plus, ces paquets ne recevront aucune mise à jour de sécurité pendant la durée de vie de la distribution Stretch.
Dans la plupart des cas, les paquets devraient se mettre à jour sans incident entre Jessie et Stretch. Il existe un petit nombre de cas pour lesquels une intervention pourrait être nécessaire, avant ou pendant la mise à niveau ; ces cas sont détaillés ci-dessous paquet par paquet.
La version 7 d'OpenSSH a désactivé certains anciens algorithmes de chiffrement et le protocole SSH1 par défaut. Soyez prudents en mettant à niveau des machines pour lesquelles vous n'avez qu'un accès 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.
Veuillez vous référer à la documentation d'OpenSSH pour plus d'informations.
Cette section couvre certaines des modifications d'APT qui pourraient affecter votre système.
APT essaiera désormais de se passer des droits du superutilisateur avant de récupérer des fichiers depuis les miroirs. APT peut détecter certains cas courants pour lesquels cela échouera et se rabattra sur une récupération avec les droits du superutilisateur avec un avertissement. Néanmoins, il pourrait échouer à détecter certaines configurations exotiques (comme par exemple des règles de pare-feu spécifiques à un UID).
Si vous rencontrez des problèmes avec cette fonctionnalité, veuillez vous
authentifier comme l'utilisateur _apt
et vérifier que :
il peut lire les fichiers dans /var/lib/apt/lists
et
/var/cache/apt/archives
;
il peut lire dans le dépôt de confiance APT
(/etc/apt/trusted.gpg
et
/etc/apt/trusted.gpg.d/
) ;
il peut résoudre les noms DNS et télécharger des fichiers. Exemples de méthodes pour tester :
# Depuis le paquet dnsutils (si vous utilisez tor, veuillez plutôt vérifier avec tor-resolve). $ nslookup debian.org >/dev/null || echo "Ne peut pas résoudre debian.org" $ wget -q https://debian.org/ -O- > /dev/null || echo "Ne peut pas télécharger la page d'index de debian.org"
Pour les problèmes de DNS, veuillez vérifier que
/etc/resolv.conf
est accessible en lecture.
APT 1.1 a introduit un nouveau moteur d'épinglage que correspond maintenant à la description de la page de manuel.
L'ancien moteur affectait une priorité d'épinglage par paquet, tandis que le nouveau affecte les priorités d'épinglage par version. Il choisit ensuite la version ayant la priorité la plus élevée qui n'est pas une rétrogradation ou il choisit la version ayant une priorité supérieure à 1000.
Cela modifie l'effet de certaines priorités, en particulier les priorités négatives. Auparavant, fixer une version à -1 empêchait le paquet d'être installé (la priorité du paquet était -1), maintenant cela empêche juste cette version du paquet d'être installée.
![]() | Note |
---|---|
Cette section ne s'applique que si vous avez (ou comptez utiliser) des dépôts tiers activés ou si vous maintenez un dépôt APT. |
Pour améliorer la stabilité de téléchargement et assurer la sécurité du contenu téléchargé, APT requiert maintenant ce qui suit des dépôts APT :
le fichier InRelease doit être disponible ;
Toutes les métadonnées doivent inclure au moins les sommes de contrôle SHA256 de tous les éléments. Cela comprend la signature GPG du fichier InRelease.
Les signatures du fichier InRelease doivent être faites au moyen d'une clé de taille 2048 bits ou plus.
Si vous utilisez des dépôts tiers qui ne peuvent se conformer aux prérequis mentionnés, veuillez les inciter à mettre leur dépôt à jour. Plus d'informations sur le fichier InRelease sont disponibles sur le wiki Debian.
![]() | Note |
---|---|
Cette section n'est pertinente que si vous avez personnalisé ou avez besoin de modifier la configuration par défaut des entrées de Xorg. |
Dans Jessie, le pilote d'entrée par défaut est
evdev
. Dans Stretch, le pilote par défaut est
libinput
. Si votre configuration de Xorg dépend du pilote
evdev
, il vous faudra soit la convertir pour le pilote
libinput
, soit reconfigurer votre système pour utiliser
le pilote evdev
.
Ce qui suit est un exemple de configuration pour activer la fonctionnalité
« Emulate3Buttons » avec libinput
.
Section "InputClass" Identifier "mouse" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "on" EndSection
Insérez-le dans
/etc/X11/xorg.conf.d/41-middle-emulation.conf
,
redémarrez (ou relancez votre serveur X) et la fonctionnalité devrait
maintenant être activée.
Le pilote evdev
est toujours disponible dans le paquet
xserver-xorg-legacy
.
À cause du manque de mainteneurs amont, le système de démarrage Upstart a été supprimé de Stretch. Si votre système dépend de ce paquet, notez qu'il ne sera pas mis à jour pendant le cycle de vie de Debian 9 et que les tâches upstart pourraient être supprimées des paquets à partir de Debian 10 (Buster).
Veuillez envisager de passer à un système de démarrage pris en charge, comme systemd ou OpenRC.
![]() | Note |
---|---|
Cette section est principalement destinée aux développeurs ou aux organisations construisant leurs propres paquets Debian. |
La suite d'outils debhelper génère maintenant les paquets
dbgsym
par défaut pour les exécutables ELF. Si vous
développez et empaquetez des exécutables, veuillez vérifier que vos outils
prennent en charge ces paquets supplémentaires générés automatiquement.
Si vous utilisez reprepro
, il vous
faudra mettre à niveau vers la version 4.17.0 au minimum. Pour aptly
, il vous faudra au minimum la
version 1.0.0, qui n'est malheureusement pas disponible dans Debian Stretch.
Si vos outils ne sont pas capables de gérer cela, vous pouvez demander à
debhelper de désactiver cette fonctionnalité en ajoutant
« noautodbgsym
» à la variable
DEB_BUILD_OPTIONS de votre service de compilation. Veuillez consulter la
page de manuel de dh_strip pour plus d'informations.
L'application openssl attend les arguments optionnels avant les arguments obligatoires. Par exemple, ceci ne fonctionne plus :
openssl dsaparam 2048 -out file
mais ceci fonctionne toujours :
openssl dsaparam -out file 2048
La commande openssl enc a changé son algorithme par défaut (utilisé pour créer la clé depuis une phrase de passe) de MD5 vers SHA256. L'algorithme peut être indiqué avec l'option -md au cas où d'anciens fichiers devraient être déchiffrés avec une nouvelle version d'OpenSSL (ou l'inverse).
Les algorithmes de chiffrement 3DES et RC4 ne sont plus disponibles pour la communication par TLS/SSL. Les serveurs liés à OpenSSL ne peuvent plus les proposer et les clients ne peuvent plus se connecter à des serveurs ne proposant que ces algorithmes. Cela signifie qu'OpenSSL et Windows XP n'ont aucun algorithme de chiffrement en commun.
Le paquet libssl-dev
fournit les
fichiers d'en-tête pour compiler avec OpenSSL 1.1.0. L'API a beaucoup changé
et il est possible que des logiciels ne soient plus compilables. Il existe
un aperçu
des modifications. Si vous ne pouvez mettre votre logiciel à jour,
il existe également libssl1.0-dev
qui fournit les en-têtes pour OpenSSL 1.0.2.
![]() | Note |
---|---|
Cette section s'applique au code maintenu en dehors de Debian – les scripts et modules Perl locaux, tiers ou anciens. |
Certains modules ont été supprimés du cœur de Perl et sont maintenant livrés
dans des paquets séparés. Les exemples notables sont CGI
,
disponible dans le paquet libcgi-pm-perl
, et
Module::Build
, disponible dans le paquet libmodule-build-perl
.
Le répertoire de travail courant (.
) a été supprimé de
la liste par défaut des répertoires inclus, @INC
. Cela
pourrait affecter l'utilisation de require()
,
do()
, etc., quand les arguments sont des fichiers dans le
répertoire courant.
Tous les programmes et modules Perl fournis par Debian devraient avoir été corrigés pour éviter toute incompatibilité causée par les modifications mentionnées ci-dessus ; veuillez rapporter les bogues si ce n'est pas le cas. Les modifications ayant été faites dans Perl 5.26.0, les logiciels tiers devraient également commencer à être corrigés. Des informations pour les développeurs concernant le moyen de corriger ce problème sont disponibles dans les notes de publication de perl 5.26 (voir la section SECURITY).
En cas de besoin, vous pouvez remettre temporairement .
dans @INC
globalement en commentant la ligne dans
/etc/perl/sitecustomize.pl
mais vous ne devriez le
faire qu'en pleine connaissance des risques potentiels. Ce contournement
sera supprimé dans Debian 10. Vous pouvez aussi régler la
variable d'environnement PERL_USE_UNSAFE_INC
dans un
contexte spécifique, ce qui aura le même effet.
La liste complète des modifications dans Perl depuis la version de Debian 8 est disponible dans perl522delta et perl524delta.
Le paquet du langage procédural PL/Perl pour PostgreSQL dans Jessie est
incompatible avec la version de Perl dans Stretch. Le paquet postgresql-plperl-9.4
sera supprimé pendant la
mise à jour, rendant les procédures Perl dysfonctionnelles côté serveur. La
mise à niveau vers PostgreSQL 9.6 ne devrait pas être affectée ; les
procédures fonctionneront dans la nouvelle grappe PostgreSQL si le paquet
postgresql-plperl-9.6
est
installé. En cas de doute, faites une sauvegarde de vos grappes
PostgreSQL 9.4 avant de mettre à niveau vers Stretch.
Le paquet net-tools
ne fait plus
partie des nouvelles installations par défaut car sa priorité est passée
d'importante à optionnelle. Il est conseillé aux utilisateurs d'utiliser à
la place l'ensemble d'outils iproute2
(qui fait partie des nouvelles
installations depuis déjà plusieurs versions). Si vous préférez continuer à
utiliser les programmes de net-tools
, vous pouvez simplement l'installer
grâce à :
apt install net-tools
Voici une liste des commandes de net-tools, avec la commande équivalente dans iproute2 :
anciennes commandes net-tools | commandes iproute2 de remplacement |
---|---|
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 (pour netstat -r), ip -s link (pour netstat -i), ip maddr (pour netstat -g) |
route | ip r (ip route) |
![]() | Note |
---|---|
Cette recommandation ne s'applique qu'aux systèmes ayant monté des périphériques ATA over ethernet (AoE). Si votre système ne monte aucun partage réseau, vous pouvez passer cette section. |
À cause d'un nettoyage dans la gestion de la déconfiguration réseau, les
périphériques AoE en cours d'utilisation ne sont plus gérés comme prévu
pendant l'extinction, ce qui pourrait résulter en des ralentissements et/ou
des pertes de données. Pour éviter cette situation, il est recommandé de
monter ces périphériques avec l'option de montage
_netdev
. Cette option est aussi disponible pour
l'utilisation de swap sur AoE.
Pendant la mise à niveau, vous pourriez voir des avertissements tels que :
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.
Il s'agit de messages sans conséquence pouvant s'afficher si perl-base
est mis à niveau avant le paquet
debconf
.
![]() | Note |
---|---|
Cette section ne concerne que les systèmes utilisant SELinux, qui n'est pas activé par défaut. |
Dans Stretch, le stockage de politiques SELinux a été déplacé de
/etc/selinux/
vers
<policy_name>
/var/lib/selinux/
.
De plus, le format utilisé au sein du stockage a changé.
<policy_name>
Les politiques fournies par Debian (par exemple par le paquet selinux-policy-default
) seront déplacées
automatiquement. Cependant, la migration des politiques spécifiques au
système doit se faire manuellement.
Le paquet semanage-utils
fournit le
script /usr/lib/selinux/semanage_migrate_store
pour
accomplir cette transition.
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.