Capitolo 5. Problemi di cui essere al corrente per stretch


5.1. Upgrade specific items for Stretch
5.1.1. Late mounting of /usr is no longer supported
5.1.2. Noteworthy obsolete packages
5.1.3. Deprecated components for Stretch
5.1.4. Things to do post upgrade before rebooting
5.1.5. Executables are now compiled as position independent executables (PIE) by default
5.1.6. 32-bit MIPS now requires an R2 processor
5.2. Limitazione nel supporto per la sicurezza
5.2.1. Stato della sicurezza dei browser web
5.2.2. Mancanza di supporto di sicurezza per l'ecosistema di libv8 e Node.js
5.3. Package specific issues
5.3.1. Protocollo SSH1 e cifrari più vecchi disabilitati in OpenSSH in modo predefinito
5.3.2. Possible backwards incompatible changes to APT
5.3.3. The Xorg server is no longer setuid root by default
5.3.4. Upstart removed
5.3.5. The debhelper tool now generates dbgsym packages by default

A volte i cambiamenti introdotti da un nuovo rilascio comportano effetti collaterali che non si possono ragionevolmente evitare o che espongono a errori da altre parti. In questa sezione sono documentati i problemi noti. Si leggano anche le errata corrige, la documentazione dei pacchetti interessati, le segnalazioni di errori e altre informazioni riportate in Sezione 6.1, «Ulteriori letture».

5.1. Upgrade specific items for Stretch

This section covers items related to the upgrade from Jessie to Stretch

5.1.1. Late mounting of /usr is no longer supported


This section only applies to systems using a custom kernel, where /usr is on a separate mount point from /. If you use the kernel packages provided by Debian, you are unaffected by this issue.

Mounting of /usr using only tools found in / is no longer supported. This has only worked for a few specific configurations in the past, and now they are explicitly unsupported.

This means that for stretch all systems where /usr is a separate partition need to use an initramfs generator that will mount /usr. All initramfs generators in Stretch do so.

5.1.2. Noteworthy obsolete packages

The following is a list of known and noteworthy obsolete packages (see Sezione 4.8, «Pacchetti obsoleti» for a description).

The list of obsolete packages includes:

5.1.3. Deprecated components for Stretch

With the next release of Debian 10 (codenamed Buster) some features will be deprecated. Users will need to migrate to other alternatives to prevent trouble when updating to 10.

This includes the following features:

  • TODO: Add items if any

5.1.4. Things to do post upgrade before rebooting

When apt-get dist-upgrade has finished, the «formal» upgrade is complete, but there are some other things that should be taken care of before the next reboot.

      add list of items here

5.1.5. Executables are now compiled as position independent executables (PIE) by default


This section mainly intended for developers or system administrators. Desktop users are unlikely to be affected by this section.

By default, the GNU GCC 6 compiler provided by Debian stretch will compile all executables as position independent. This provides a mitigation for an entire class of vulnerabilities, but it also leads to some changes that are worth being aware of.

  • The file tool (among other) will classify such binaries as "shared object" rather than an "executable". If you have filters based on binary files, these may need to be updated (e.g. spamfilters).

  • Static libraries being compiled into an executable now also need to be compiled as position independent code. The following error message from the linker is a symptom of this:

    relocation ... against '[SYMBOL]' can not be used when making a shared object; recompile with -fPIC

  • Historically, position independent executables have been associated with performance loss on some hardware. Notably the Debian architecture i386 (32-bit Intel machines). While GCC 5 and GCC 6 have greatly improved performance for position independent executables on 32-bit Intel, this optimisation may not be applicable to all architectures. Please consider evaluating the performance of your code if you are targetting machine architectures with very limited number of registers.

5.1.6. 32-bit MIPS now requires an R2 processor

The 32-bit MIPS support (both big and little endian) now requires a processor supporting MIPS32 Release 2 of the MIPS instruction set. Notably the Loongson-2E/2F and systems based on them (including the Yeeloong laptop) are no longer supported.

The following shell script can be used to indicate if your machine supports R2 (assuming only one type of processor is present). Note that Loongson-3 processors are supported even though they only claim to support MIPS32 Release 1.

if grep -E -q '^isa.*\bmips(32|64)r2\b' /proc/cpuinfo; then
	echo "OK (R2 supported)"
elif grep -q '^cpu model.*\bICT Loongson-3\b' /proc/cpuinfo; then
	echo "OK (Loongson 3)"
	echo "NOT OK: R2 not supported"

5.2. Limitazione nel supporto per la sicurezza

Ci sono alcuni pacchetti per i quali Debian non può garantire di fornire i backport minimi per ragioni di sicurezza. Questi verranno trattati nelle sottosezioni che seguono.

Notare che il pacchetto debian-security-support aiuta a tenere traccia dello stato del supporto di sicurezza per i pacchetti installati.

5.2.1. Stato della sicurezza dei browser web

Debian 9 contiene diversi motori per browser che sono affetti da varie vulnerabilità di sicurezza. L'alto tasso di vulnerabilità e la parziale mancanza di supporto a lungo termine da parte degli autori originali complica l'attività di supporto di questi browser tramite l'applicazione delle correzioni di sicurezza alle versioni precedenti. Inoltre la dipendenza reciproca delle librerie rende impossibile aggiornare a una nuova versione. Perciò, in Stretch sono presenti browser basati sui motori webkit, qtwebkit e khtml, ma non sono coperti dal supporto di sicurezza. Non si dovrebbe usare questi browser con siti web non fidati.

Per un browser web di uso generico si raccomanda Firefox oppure Chromium.

Chromium, pur essendo costruito sul codice Webkit, è un pacchetto foglia che verrà mantenuto aggiornato ricompilando i rilasci correnti di Chromium per stable. Firefox e Icedove verranno anch'essi mantenuti aggiornati ricompilando i rilasci ESR correnti per stable.

5.2.2. Mancanza di supporto di sicurezza per l'ecosistema di libv8 e Node.js

La piattaforma Node.js è costruita sulla base di libv8-3.14 che ha un grande volume di problemi di sicurezza ma al momento non ci sono volontari all'interno del progetto o nel Team di sicurezza sufficientemente interessati e con la volontà di investire la grande quantità di tempo richiesto per limitare questi problemi in arrivo.

Sfortunatamente ciò significa che libv8-3.14, nodejs e l'ecosistema di pacchetti node-* associati attualmente non dovrebbe essere usato con contenuti non fidati, come dati non ripuliti presi da Internet.

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

5.3. Package specific issues

In most cases, packages should upgrade smoothly between Jessie and Stretch. There are a small number of cases where some intervention may be required, either before or during the upgrade; these are detailed below on a per-package basis.

5.3.1. Protocollo SSH1 e cifrari più vecchi disabilitati in OpenSSH in modo predefinito

Il rilascio di OpenSSH 7 ha disabilitato in modo predefinito alcuni vecchi cifrari e il protocollo SSH1. Fare attenzione quando si aggiornano macchine a cui si ha accesso solo via SSH.

Fare riferimento alla documentazione di OpenSSH per maggiori informazioni.

5.3.2. Possible backwards incompatible changes to APT

This section covers some of the incompatible changes to APT that may affect your system. APT now fetches files with an unprivileged user ("_apt")

APT will now attempt to discard all root privileges before fetching files from mirrors. APT can detect some common cases where this will fail and fallback to fetching things as root with a warning. However, it may fail to detect some exotic setups (e.g. uid-specific firewall rules).

If you experience issues with this feature, please change to the "_apt" user and check that it:

  • has read access to files in /var/lib/apt/lists and /var/cache/apt/archives.

  • has read access to the APT trust store (/etc/apt/trusted.gpg and /etc/apt/trusted.gpg.d/)

  • can resolve DNS names and download files. Example methods for testing:

    # From the dnsutils package (if using tor, please check with tor-resolve instead).
    $ nslookup >/dev/null || echo "Cannot resolve"
    $ wget -q -O- > /dev/null || echo "Cannot download index page of"

    For DNS issues, please check that /etc/resolv.conf is readable. New requirements for APT repository


This section only applies if you have (or intend to use) third-party repositories enabled or if you maintain an APT repository.

To improve the download stability and ensure security of the downloaded content, APT now requires the following from an APT repository:

  • The InRelease file must be available

  • All metadata must include at least SHA256 checksums of all items. This includes the gpg signature of the InRelease file.

  • Signatures on the InRelease file should be done with a key at the size of 2048 bit or larger.

If you rely on a third-party repository that cannot comply with the above, please urge them to upgrade their repository. More information about the InRelease file can be found on the Debian Wiki.

5.3.3. The Xorg server is no longer setuid root by default


This change only applies if your X Display Manager supports running X as rootless (or if you start X manually via startx). Currently the only known display manager supporting this is gdm. Other display managers simply start X as root regardless of this change.

This reduces the risk of privilege escalation via bugs in the X server. However, it has some requirements for working:

  • It needs logind and libpam-systemd.

  • It needs a kernel video driver (as Xorg cannot talk directly to the hardware anymore).

  • It needs to run on the virtual console it was started from.

When run as a regular user, the Xorg log will be available from ~/.local/share/xorg/.

If these requirements are not possible, please install the xserver-xorg-legacy package to reinstate the setuid Xorg.

5.3.4. Upstart removed

Due to the lack of upstream maintainers, the Upstart init system has been removed from Stretch. If your system relies on this package, you should note that it will not be updated during the lifetime of Debian 9, and starting from Debian 10 (Buster), upstart jobs could be removed from packages.

Please consider switching to a supported init system, like systemd or openrc.

5.3.5. The debhelper tool now generates dbgsym packages by default


This section mainly intended for developers or organizations that build their own debian packages.

The debhelper tool suite will now generate "dbgsym" packages by default for ELF binaries. If you develop and package binaries, please check that your tooling supports these extra auto-generated packages.

If you use reprepro, you want to upgrade it to at least version 4.17.0. At the time of writing, the aptly does not support dbgsym packages.

Should your tooling be unable to cope with these gracefully, you can ask debhelper to disable this feature by adding "noautodbgsym" in the DEB_BUILD_OPTIONS variable of your build service. Please see the dh_strip manpage for more information