Inhoudsopgave
libinput
dbgsym
-pakkettennet-tools
wordt verlaten ten gunste
van iproute2
_netdev
te
gebruiken met mount als u gebruik maakt van AoE-apparaten (ATA over
ethernet).Soms hebben veranderingen die in een nieuwe uitgave geïntroduceerd worden, neveneffecten die redelijkerwijs niet te vermijden zijn en soms brengen zij ergens anders bugs aan het licht. In dit hoofdstuk behandelen we kwesties waarvan wij ons bewust zijn. Gelieve ook de errata te lezen, de documentatie bij de betreffende pakketten, bugrapporten en andere informatiebronnen die vermeld worden in Paragraaf 6.1, “Literatuurverwijzingen”.
Deze paragraaf behandelt onderwerpen in verband met de opwaardering van jessie naar stretch
![]() | Opmerking |
---|---|
Deze paragraaf geldt enkel voor systemen waarop een aangepaste kernel
gebruikt wordt en waarop |
Het aankoppelen van /usr
, waarbij enkel gebruik gemaakt
wordt van hulpmiddelen die in /
te vinden zijn, wordt
niet langer ondersteund. In het verleden heeft dit enkel voor enkele
specifieke configuraties gewerkt en nu worden die uitdrukkelijk niet langer
ondersteund.
Voor stretch betekent dit dat alle systemen waarop
/usr
zich op een aparte partitie bevindt, een
initramfs-generator moeten gebruiken die /usr
aankoppelt. Alle initramfs-generatoren in stretch doen dit.
Door Debian gehoste spiegelservers zullen ophouden FTP-toegang aan te
bieden. Indien u in het bestand sources.list gebruik maakte van het
ftp:
-protocol, moet u overschakelen naar
http:
. U kunt zich op het volgende voorbeeld baseren om
over te schakelen:
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security stretch/updates main # tor-variant (vereist apt-transport-tor) # deb tor+http://vwakviie2ienjx6t.onion/debian stretch main # deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
In de bovenstaande voorbeelden worden non-free
en
contrib
niet gebruikt. Denk eraan om deze wel te
vermelden als u het nodig heeft om deze componenten te activeren.
Voor bijkomende informatie kunt u de aankondiging Shutting down public FTP services raadplegen.
Hierna volgt een lijst van bekende vermeldenswaardige uitgefaseerde pakketten (zie Paragraaf 4.8, “Verouderde pakketten” voor een beschrijving).
Tot de uitgefaseerde pakketten behoren:
De meeste -dbg
-pakketten werden uit het hoofdarchief
verwijderd. Ze werden vervangen door -dbgsym
-pakketten
die te vinden zijn in het archief debian-debug
. Gelieve
Paragraaf 2.2.8, “Een nieuw archief voor debug-symbolen” te raadplegen.
De wachtwoordbeheerders fpm2
en
kedpm
worden niet langer onderhouden
door de toeleveraars ervan. Gelieve een ander programma voor
wachtwoordbeheer te gebruiken, zoals pass
, keepassx
, of keepass2
. Zorg ervoor om uw wachtwoorden eerst
uit te pakken uit fpm2
of
kedpm
vooraleer u het pakket
verwijdert.
Het gebruik van het pakket net-tools
wordt gestopt ten gunste van iproute2
. Zie Paragraaf 5.3.9, “net-tools
wordt verlaten ten gunste
van iproute2
” of het
handboek
Debian reference manual voor bijkomende informatie.
Het toezichthoudend gereedschap nagios3
werd uit stretch verwijderd. Het pakket
dat het dichtst in de buurt komt om het te vervangen is icinga
. De bestanden waaruit het zijn
configuratie haalt, staan op een andere plaats, maar voor het overige is het
compatibel.
Wanneer apt-get dist-upgrade
beëindigd is, is de
opwaardering “formeel” afgerond. Bij de opwaardering naar
stretch moet u verder geen speciale acties meer ondernemen voor u de
computer herstart.
Standaard zal de GNU GCC 6 compiler die in Debian stretch zit, alle uitvoerbare bestanden als positie-onafhankelijke bestanden compileren. Dit biedt een risicobeperking voor een hele groep kwetsbaarheden.
Jammer genoeg heeft de Linuxkernel uit Debian 8 (tot en met 8.7) een
probleem dat ertoe leidt dat sommige programma's die gecompileerd werden als
positie-onafhankelijk uitvoerbaar bestand, crashen met de weinig
verduidelijkende melding segmentatiefout
. Dit probleem
werd opgelost in de Linuxversie die in 8.8 (versie 3.16.43 of recenter)
aanwezig is en in de kernel uit Debian 9 (versie 4.9 of recenter).
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.
Indien u tijdens de opwaardering een versie van de kernel gebruikt die door dit probleem getroffen wordt, raden we u aan om onmiddellijk na de opwaardering van de kernel een herstart uit te voeren met de kernel uit stretch om te vermijden dat u met dit probleem te maken krijgt.
![]() | Opmerking |
---|---|
Deze paragraaf is hoofdzakelijk bedoeld voor ontwikkelaars en systeembeheerders. Het is onwaarschijnlijk dat desktopgebruikers hiermee te maken zullen krijgen. |
Het bovenstaande heeft ook enkele wijzigingen tot gevolg waarvan u zich best bewust bent.
Het hulpmiddel file (onder meer) zal dergelijke binaire bestanden als “shared object” (gedeeld object) classificeren in plaats van als “executable” (uitvoerbaar bestand). Als u filters gebruikt, die filteren op binaire bestanden, zullen die wellicht opgewaardeerd moeten worden (bijvoorbeeld spamfilters).
Statische bibliotheken die naar een binair bestand gecompileerd worden, moeten nu ook als positie-onafhankelijke code gecompileerd worden. De volgende foutmelding van de linker is daarvan een symptoom:
relocation ... against '[SYMBOOL]' can not be used when making a shared object; recompile with -fPIC
Merk op dat hoewel de foutmelding het heeft over -fPIC, het volstaat om een hercompilatie uit te voeren met -fPIE (hetgeen standaard is voor de pakketten met GCC 6 uit stretch).
Vroeger werden op sommige hardware positie-onafhankelijke uitvoerbare
bestanden geassocieerd met prestatieverlies. In het bijzonder gold dit voor
de Debian architectuur i386
(32-bits Intel
computers). Hoewel GCC 5 en GCC 6 gezorgd hebben voor aanzienlijke prestatieverbeteringen
voor positie-onafhankelijke uitvoerbare bestanden op 32-bits Intel
systemen, geldt deze optimalisatie mogelijk niet voor alle
architecturen. Denk eraan om de prestaties van uw code te evalueren als u
codeert voor computerarchitecturen die slechts een zeer beperkt aantal
registers hebben.
Wegens een gebrek aan interesse en mogelijkheden om ze te testen heeft Debian de overgrote meerderheid van de LSB(Linux Standard Base)-compatibiliteitspakketten uit het archief verwijderd.
Debian blijft nog steeds enkele geselecteerde sleutelhulpprogramma's in
verband met LSB aanbieden die intern en extern gebruikt worden, zoals
lsb-release
en de sysvinit
init-functies in lsb-base
. Daarenboven blijft Debian nog steeds
erg conform versie
2.3 van de Filesystem Hierarchy Standard (FHS) met de minimale wijzigingen
die beschreven worden in het handboek Debian Policy Manual.
Voor sommige pakketten kan Debian niet garanderen dat er bij veiligheidsproblemen minimale backports (oplossingen overgenomen van een recentere pakketversie) beschikbaar gesteld zullen worden. Daarover gaan de volgende paragrafen.
Merk op dat het pakket debian-security-support
helpt om de situatie op
het gebied van beveiligingsondersteuning van geïnstalleerde pakketten na te
gaan.
Debian 9 bevat verschillende webbrowsertoepassingen die blijvend te maken krijgen met kwetsbaarheden op het gebied van beveiliging. Het hoge aantal kwetsbaarheden en het deels ontbreken van ondersteuning door de toeleveraar in de vorm van het langdurig onderhouden van sommige versies van hun toepassing, maakt het erg moeilijk om deze browsers te ondersteunen met beveiligingsoplossingen die aan nieuwere versies van de toepassing ontleend moeten worden. Daarenboven maakt de onderlinge verwevenheid van bibliotheken het onmogelijk om naar recentere versies van de toeleveraar op te waarderen. Om die reden worden browsers die gebouwd zijn rond de achterliggende raamwerken webkit, qtwebkit en khtml wel opgenomen in stretch, maar niet gedekt door de beveiligingsondersteuning. Met deze browsers zou u geen onbetrouwbare websites mogen bezoeken.
Als webbrowser voor algemeen gebruik bevelen we Firefox of Chromium aan.
Chromium dat, hoewel gebouwd bovenop de Webkit-codebasis, een pakket is waarvan geen enkel ander pakket afhankelijk is, zal up-to-date gehouden worden door de nieuwere releases van Chromium te hercompileren voor “stable”, de recentste officiële uitgave van Debian. Ook Firefox en Thunderbird zullen up-to-date gehouden worden door de recentste ESR-uitgave ervan te hercompileren voor “stable”.
Het platform Node.js wordt gebouwd bovenop libv8-3.14
, dat te maken krijgt met een hoog
aantal beveiligingsproblemen. Momenteel zijn er echten binnen het project en
binnen het beveiligingsteam geen voldoende geïnteresseerde vrijwilligers die
bereid zijn er de noodzakelijke aanzienlijke hoeveelheid tijd in te
investeren die nodig is om aan deze binnenkomende problemen het hoofd te
bieden.
Jammer genoeg betekent dit dat libv8-3.14
, nodejs
en het ermee verbonden ecosysteem van
node-*-pakketten momenteel niet gebruikt zouden mogen worden voor
onbetrouwbare inhoud, zoals niet-gecontroleerde data van het internet.
Daarenboven zullen deze pakketten tijdens de levenscyclus van de stretch release geen enkele beveiligingsupdate krijgen.
In de meeste gevallen kunnen pakketten probleemloos opgewaardeerd worden van jessie naar stretch. In een klein aantal gevallen kan enige tussenkomst vereist zijn voor of tijdens het opwaarderingsproces. Hierna wordt dit per pakket besproken.
Met de uitgave van OpenSSH 7 werden sommige oudere encryptie-algoritmes en het SSH1-protocol standaard uitgeschakeld. Besteed de nodige zorg aan de opwaardering van computers waar u enkel via SSH toegang toe heeft.
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.
Raadpleeg de documentatie bij OpenSSH voor bijkomende informatie.
In deze paragraaf bespreken we enkele van de incompatibele aanpassingen aan APT waarmee uw systeem te maken kan krijgen.
APT zal nu proberen om alle root-privileges af te werpen vooraleer het bestanden ophaalt van spiegelservers. APT kan sommige gebruikelijke situaties waarin dit niet zou lukken, detecteren en terugvallen op het ophalen van bestanden als root-gebruiker, waarbij het een waarschuwing geeft. Het is echter mogelijk dat sommige zonderlinge configuratie-instellingen (bijv. UID-specifieke firewall-regels) niet gedetecteerd worden.
Indien u problemen ondervindt met deze functionaliteit, wordt dan gebruiker
_apt
en ga na of die
leestoegang heeft tot bestanden in /var/lib/apt/lists
en /var/cache/apt/archives
.
leestoegang heeft tot de opslagruimte van vertrouwen van APT,
(/etc/apt/trusted.gpg
en
/etc/apt/trusted.gpg.d/
)
DNS-namen kan opzoeken en bestanden kan downloaden. Dit zijn voorbeelden van testmethodes:
# Uit het pakket dnsutils (als u tor gebruikt, controleer dan met tor-resolve). $ nslookup debian.org >/dev/null || echo "Kan debian.org niet vinden" $ wget -q https://debian.org/ -O- > /dev/null || echo "Kan de indexpagina van debian.org niet downloaden"
Ga bij DNS-problemen na of /etc/resolv.conf
kan gelezen
worden.
Met APT 1.1 wordt een nieuw verankeringsmechanisme (pinningmechanisme) geïntroduceerd dat nu beantwoordt aan de beschrijving in de man-pagina.
Met het oude mechanisme kon men een pin-prioriteit aan een pakket toekennen, met het nieuwe mechanisme is dat per versie. Het mechanisme pikt er dan de versie met de hoogste pin-waarde uit die geen downgrade is of die een pin-waarde > 1000 heeft.
Dit wijzigt het effect van sommige pins, in het bijzonder de negatieve. Wanneer u vroeger een versie vastpinde op -1 verhinderde dit daadwerkelijk dat het pakket geïnstalleerd werd (de pinwaarde van het pakket was -1), maar nu verhindert dit enkel dat die versie van het pakket geïnstalleerd wordt.
![]() | Opmerking |
---|---|
Deze paragraaf is enkel van toepassing als u gebruik maakt van pakketbronnen van derden (of van plan bent dat te doen) of zelf een APT-pakketbron onderhoudt. |
Om de downloadstabiliteit te verbeteren en de veiligheid van de gedownloade inhoud te verzekeren, vereist APT voortaan het volgende van een APT-pakketbron:
Het bestand InRelease moet aanwezig zijn.
Alle metadata moeten minstens SHA256-controlegetallen bevatten voor alle elementen. Daaronder valt ook de GPG-ondertekening van het bestand InRelease.
Het ondertekenen van het bestand InRelease moet gebeuren met een sleutel die 2048 bits groot of groter is.
Indien u een pakketbron van een derde partij nodig heeft die niet aan de bovenstaande vereisten voldoet, dring er dan op aan dat deze zijn pakketbron opwaardeert. Meer informatie over het bestand InRelease is te vinden op de Debian Wiki-pagina's.
![]() | Opmerking |
---|---|
Dit onderdeel is enkel van belang indien u morrelde aan de standaard invoerconfiguratie van Xorg of die moet aanpassen. |
In jessie was het standaard invoerstuurprogramma voor Xorg het
stuurprogramma evdev
. In stretch werd overgeschakeld op
libinput
als standaard. Indien u een Xorg-configuratie
heeft die steunt op het stuurprogramma evdev
, zult u deze
ofwel moeten omzetten naar het stuurprogramma libinput
,
ofwel uw systeem herconfigureren om het stuurprogramma
evdev
te gebruiken.
Hierna volgt een configuratievoorbeeld dat met libinput
de functie “Emulate3Buttons” activeert.
Section "InputClass" Identifier "mouse" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "on" EndSection
Voeg dit in het bestand
/etc/X11/xorg.conf.d/41-middle-emulation.conf
in,
herstart de computer (of uw Xserver) en de functie zal geactiveerd zijn.
Het stuurprogramma evdev
is nog steeds beschikbaar via
het pakket xserver-xorg-input-evdev
.
Omdat bij de toeleveraar de mankracht ontbreekt om dit init-systeem te blijven onderhouden, werd Upstart verwijderd uit stretch. Indien uw systeem dit pakket gebruikt, moet u zich realiseren dat het niet meer bijgewerkt zal worden tijdens de levenscyclus van Debian 9 en dat het mogelijk is dat, te beginnen bij Debian 10 (buster), pakketten geen Upstart-job meer zullen bevatten.
Gelieve de mogelijkheid te onderzoeken om over te schakelen op een ondersteund init-systeem, zoals systemd of OpenRC.
![]() | Opmerking |
---|---|
Deze paragraaf is hoofdzakelijk bedoeld voor ontwikkelaars en voor organisaties die hun eigen debian-pakketten bouwen. |
De gereedschappensuite debhelper zal nu standaard
dbgsym
-pakketten genereren voor uitvoerbare bestanden van
het type ELF. Indien u binaire bestanden ontwikkelt en verpakt, ga dan na of
het gereedschap dat u daarvoor gebruikt, deze automatisch gegenereerde
bijkomende pakketten ondersteunt.
Indien u reprepro
gebruikt, zult u
het minstens naar versie 4.17.0 moeten opwaarderen. Van aptly
heeft u minstens versie 1.0.0 nodig, maar
die is jammer genoeg niet beschikbaar in Debian stretch.
Mocht het zijn dat het gereedschap dat u gebruikt hiermee niet vlot overweg
kan, dan kunt u debhelper vragen om deze functionaliteit uit te schakelen
door aan de variabele DEB_BUILD_OPTIONS van uw bouwsysteem
“noautodbgsym
” toe te voegen. Raadpleeg voor
bijkomende informatie de
man-pagina voor dh_strip
De toepassing openssl verwacht dat optie-argumenten vooraf gaan aan niet-optieargumenten. Het volgende werkt bijvoorbeeld niet langer:
openssl dsaparam 2048 -out file
terwijl het volgende wel nog steeds werkt:
openssl dsaparam -out file 2048
Het commando openssl enc schakelde over van MD5 naar SHA256 als standaard hash-algoritme (waarmee op basis van een wachtwoordzin een sleutel aangemaakt wordt). Met de optie -md kan een hash-algoritme opgegeven worden voor het geval oudere bestanden met behulp van een recentere versie van OpenSSL ontsleuteld moeten worden (of andersom).
De encryptie-algoritmes 3DES en RC4 kunnen niet langer gebruikt worden voor TLS/SSL-communicatie. Servers die met OpenSSL gelinkt zijn, kunnen ze niet aanbieden en clients kunnen geen verbinding maken met servers die enkel deze algoritmes aanbieden. Dit houdt in dat OpenSSL en Windows XP geen gemeenschappelijk algoritme meer hebben.
Het pakket libssl-dev
bevat de
hoofdingbestanden voor een compilatie tegenover OpenSSL 1.1.0. De API
onderging aanzienlijke wijzigingen en het is mogelijk dat het daardoor niet
langer lukt om bepaalde software te compileren. Er bestaat een pagina met
een overzicht van de
veranderingen. Indien u uw software niet kunt bijwerken, kunt u nog
altijd teruggrijpen naar libssl1.0-dev
dat hoofdingbestanden bevat voor
een compilatie tegenover OpenSSL 1.0.2.
![]() | Opmerking |
---|---|
Deze paragraaf is van toepassing op code die buiten Debian onderhouden wordt - lokale en oudere Perl-scripts en -modules of scripts en modules van derden. |
Sommige modules werden weggehaald uit het kernpakket van Perl en worden nu
in aparte pakketten ter beschikking gesteld. Vermeldenswaardige voorbeelden
zijn CGI
, te vinden in het pakket libcgi-pm-perl
en
Module::Build
, te vinden in het pakket libmodule-build-perl
.
De map waarin momenteel gewerkt wordt (.
) werd verwijderd
van de standaardlijst van include-mappen, @INC
. Dit kan
zijn invloed hebben op het gebruik van require()
,
do()
, enz., als de argumenten bestanden uit de huidige
map zijn.
In alle door Debian geleverde perl-programma's en -modules zouden eventuele door het bovenstaande ontstane incompatibiliteitsproblemen opgelost moeten zijn. Mocht dit niet het geval blijken te zijn, stuur dan een bugrapport in. Vermits deze aanpassing doorgevoerd werd in perl 5.26.0, zou nu ook software van derden daaraan aangepast moeten worden. Ontwikkelaars vinden informatie over het aanpakken van deze zaak in de perl 5.26 release notes (kijk onder de afdeling SECURITY).
Zo nodig kunt u .
in @INC
opnieuw
algemeen instellen door het commentaarteken weg te halen van de regel in
/etc/perl/sitecustomize.pl
, maar u zou dit enkel mogen
doen met kennis van de mogelijke risico's. In Debian 10 zal
deze mogelijkheid om de kwestie te omzeilen, weggelaten worden. In een
specifieke context kunt u ook de omgevingsvariabele
PERL_USE_UNSAFE_INC
instellen, wat hetzelfde effect
heeft.
De volledige lijst van in Perl aangebrachte wijzigingen sinds de versie in Debian 8 is te vinden in perl522delta en perl524delta.
Het pakket in jessie met de procedurele taal PL/Perl van PostgreSQL is niet
compatibel met de versie van Perl in stretch. Het pakket postgresql-plperl-9.4
zal tijdens de
opwaardering verwijderd worden, waardoor Perl-procedures aan de serverkant
niet langer behoorlijk zullen werken. Bij een opwaardering naar PostgreSQL
9.6 zou u daar geen hinder van mogen hebben; in het nieuwe
PostgreSQL-cluster zullen de procedures behoorlijk werken als het pakket
postgresql-plperl-9.6
geïnstalleerd
is. Als u zich onzeker voelt, neem dan een reservekopie van uw PostgreSQL
9.4 clusters voor u naar stretch opwaardeert.
Het pakket net-tools
maakt standaard
geen deel meer uit van een nieuwe installatie, vermits de prioriteit ervan
verlaagd werd van important (belangrijk) naar optional
(optioneel). Gebruikers wordt aangeraden om de moderne gereedschapsset
iproute2
(die reeds sinds meerdere
releases geïnstalleerd wordt bij een nieuwe installatie) te
gebruiken. Indien u verkiest om de programma's van net-tools
nog verder te blijven gebruiken, dan
kunt u het pakket gewoon installeren met
apt install net-tools
Hier volgt een samenvatting van de commando's van net-tools samen met hun iproute2-equivalent:
oude net-tools commando's | commando's van de vervangende iproute2 |
---|---|
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 (for netstat -r), ip -s link (for netstat -i), ip maddr (for netstat -g) |
route | ip r (ip route) |
![]() | Opmerking |
---|---|
Dit geldt enkel voor systemen die aangekoppelde AoE-apparaten (ATA over ethernet) gebruiken. Indien het systeem geen gedeelde netwerkopslag gebruikt, kunt u deze paragraaf gewoon overslaan. |
Ten gevolge van een opschoning van de manier waarop de netwerkdeconfiguratie
afgehandeld wordt, wordt niet langer zoals verwacht omgegaan met in gebruik
zijnde AoE-apparaten bij het afsluiten van het systeem, hetgeen eventueel
kan leiden tot gegevensverlies of tot het gaan hangen van het systeem. Om
aan deze situatie te verhelpen wordt aangeraden om deze apparaten aan te
koppelen met de optie _netdev
van mount. U kunt deze
optie ook gebruiken als u werkt met wisselgeheugen (swap) over AoE.
Tijdens de opwaardering zou u waarschuwingen kunnen zien in de zin van:
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.
Deze zijn onschuldig en worden gegeven als perl-base
voor het pakket debconf
opgewaardeerd wordt.
![]() | Opmerking |
---|---|
Deze paragraaf geldt enkel voor systemen die SELinux gebruiken, hetgeen standaard niet geactiveerd is. |
In stretch werd de locatie waar het SELinux-beleid opgeslagen wordt,
verplaatst van
/etc/selinux/
naar
<beleidslijn_naam>
/var/lib/selinux/
.
Daarenboven werd de indeling die binnen de opslag gebruikt wordt, gewijzigd.
<beleidslijn_naam>
De beleidslijnen die geleverd worden door Debian (bijv. met het pakket
selinux-policy-default
) zullen
automatisch overgezet worden. Systeemspecifieke beleidslijnen zullen echter
handmatig overgezet moeten worden.
Het pakket semanage-utils
bevat het
script /usr/lib/selinux/semanage_migrate_store
om deze
overgang door te voeren.
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.