Innehållsförteckning
libinput
dbgsym
-paket som standardnet-tools
fasas ut till förmån för
iproute2
_netdev
rekommenderas om en AoE-enhet
(ATA over ethernet) användsIbland innebär förändringar i en ny utgåva att sidoeffekter vi inte kunnat undvika uppstår, i vissa fall skapas nya fel någon annanstans. Här dokumenterar vi problem som vi känner till. Vänligen läs även erratan, dokumentationen för aktuella paket, felrapporter och annan information som nämns i Avsnitt 6.1, ”Ytterligare läsning”.
Detta kapitel beskriver detaljer runt uppgradering från jessie till stretch
![]() | Notera |
---|---|
Detta avsnitt gäller endast system som använder en anpassad kärna där
|
Montering av /usr
genom att endast använda verktyg som
finns i /
stöds inte längre. Detta har endast fungerat
för ett fåtal specifika konfigurationer och stöds nu inte alls längre.
Detta innebär att för stretch behöver alla system som hanterar
/usr
på en separat partition använda en
initramfs-generator som monterar /usr
. Alla
initramfs-generatorer i stretch gör detta.
Debians egna speglar kommer sluta tillhandahålla FTP-åtkomst. Om du har
använt FTP
-protokollet i din sources.list vänligen byt
till HTTP
. Överväg följande justering:
deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian-security stretch/updates main # tor-varianter (kräver apt-transport-tor) # deb tor+http://vwakviie2ienjx6t.onion/debian stretch main # deb tor+http://sgvtcaew4bxjd7ln.onion/debian-security stretch/updates main
Ovanstående exempel inkluderar inte non-free
and
contrib
. Lägg till dessa om du behöver komponenter
därifrån.
Läs mer om detta i kungörelsen Nedstängning av publika FTP-tjänster.
Detta är en lista med kända föråldrade paket (läs mer i Avsnitt 4.8, ”Föråldrade paket” för en beskrivning).
Listan med föråldrade paket inkluderar:
De flesta -dbg
-paketen har tagits bort från
huvudarkivet. De har ersatts av -dbgsym
-paketen som
tillhandahålls från debian-debug
-arkivet. Läs mer om
detta i Avsnitt 2.2.8, ”Nytt arkiv för debug-symboler”
Lösenordshanterarna fpm2
och
kedpm
underhålls inte längre av
utgivarna. Använd en annan lösenordshanterare, exempelvis pass
, keepassx
eller keepass2
. Hämta ut dina lösenord från
fpm2
och kedpm
innan paketen tas bort.
net-tools
är föråldrat och ersätts
av iproute2
. Läs mer om detta i
Avsnitt 5.3.10, ”net-tools
fasas ut till förmån för
iproute2
” eller
Debians referensmanual.
Övervakningsverktygen i paketet nagios3
har tagits bort från stretch. Närmsta
ersättare är paketet icinga
. Den
läser instälningarna från en annan sökväg än nagios gjorde men är i övrigt
kompatibel.
När apt-get dist-upgrade
är klar innebär detta att den
”formella” uppgraderingen är klar . För uppgraderingen till
stretch finns inga speciella åtgärder som måste genomföras före nästa
omstart.
Som standard använder Debians version av kompilatorn GNU GCC 6 positionsoberoende binärer ("position independent executables", PIE). Detta leder till att vissa typer av säkerhetsrisker helt kan undvikas.
Linuxkärnan i Debian 8 (till och med 8.7) har tyvärr ett problem som kan
innebära att vissa program som kompilerats som positionsoberoende binärer
kan krascha med ett felmeddelande som inte är särskilt beskrivande
(segmentation fault
). Detta är löst i linuxversionen som
finns i 8.8 (version 3.16.43 eller senare) och i kärnan som finns i Debian 9
(version 4.9 eller senare).
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.
Om du använder en äldre version av kärnan under uppgraderingen är rekommendationen att omedelbart starta om systemet när uppgraderingen är klar för att undvika att drabbas av detta
![]() | Notera |
---|---|
Detta avsnitt riktar sig i huvudsak till utvecklare och systemadministratörer. Skrivbordsanvändare påverkas förmodligen inte av detta avsnitt. |
Ovanstående leder också till några ändringar som är värda att känna till.
Verktyget file (bland annat) kommer att klassificera sådana binärer som ”shared object” istället för ”executables”. Om du har filter baserade på binärfiler kan dessa behöva justeras (exempelvis spamfilter).
Statiska bibliotek som kompileras till körbara filer behöver också kompileras som positionsoberoende kod. Följande felmeddelande från länkaren är ett symptom på detta:
relocation ... against '[SYMBOL]' can not be used when making a shared object; recompile with -fPIC
Observera att även om det står -fPIC i felmeddelandet så räcker det att kompilera om med -fPIE (vilket är standardinställningen i GCC 6-paketen som distribueras i stretch).
Tidigare innebar positionsoberoende binärer prestandaförluster på viss
hårdvara. Exempelvis Debians i386
-arkitektur (32 bitars
Intelmaskiner). GCC 5 och GCC 6 har förbättrat
prestandan mycket på 32 bitars Intelmaskiner men detta behöver inte
leda till att andra arkitekturer kommer dra nytta av det. Överväg att
utvärdera prestanda för din kod om ditt mål är att köra på arkitekturer med
starkt begränsat antal register.
Majoriteten av paketen för kompatibilitet med Linux Standards Base (LSB) har tagits bort från Debian på grund av bristande intresse och för att de var svårtestade.
Några utvalda nyckelpaket kommer alltjämt att tillhandahållas internt och
externt, exempelvis lsb-release
och
sysvinits initieringsfunktioner i lsb-base
. Vidare står Debian fast vid Filesystem
Hierarchy Standard (FHS) version 2.3 med vissa mindre justeringar beskrivna
i Debian Policy Manual (engelska).
Det finns ett antal paket där Debian inte kan lova minimala bakåtporteringar för säkerhetsproblem. Dessa beskrivs närmare i underavsnitten.
Paketet debian-security-support
håller reda på säkerhetsstatus för installerade paket.
Debian 9 innehåller flera webbläsarmotorer som påverkas av en strid ström av säkerhetshål. Den stora mängden fel och den partiella bristen på stöd från utgivare i form av långsiktiga utvecklingsgrenar gör det mycket svårt att ha stöd för dessa webbläsare med bakåtporterade säkerhetslagningar. Dessutom gör biblioteksberoenden det omöjligt att uppdatera dessa till nyare versioner. Webbläsare utvecklade på webkit, qtwebkit- och khtml-motorerna ingår i stretch men täcks inte av säkerhetsstödet. Dessa webbläsare ska inte användas tillsammans med webbplatser du inte litar på.
För generell webbsurfning rekommenderar vi Firefox eller Chromium.
Chromium - trots att den bygger på kodbasen Webkit - är ett löv-paket. Detta paket hålls uppdaterat genom att den aktuella Chromium-utgåvan byggs om för Debians stabila utgåva. Firefox och Thunderbird kommer också att hållas uppdaterat genom att den aktuella ESR-utgåvan byggs om för Debian stabila utgåva.
Node.js bygger på libv8-3.14
som har
haft en stor mängd säkerhetsproblem. Det finns inga frivilliga inom
projektet eller säkerhetsteamet som är intresserade nog att lägga ned den
stora tid det krävs för att mota alla dessa problem.
Detta betyder således att libv8-3.14
, nodejs
och paket på formen node-* inte ska
användas tillsammans med otillförlitlig data, exempelvis data från internet
som inte har kontrollerats innehållsmässigt.
Dessutom kommer dessa paket inte att kunna få säkerhetslagningar under stretch livstid.
I de allra flesta fallen kommer paket att uppgradera lugnt och fint mellan jessie och stretch. Det finns dock ett mindre antal tillfällen när manuella ingrepp kommer att krävas, antingen före eller under uppgraderingen. Dessa beskrivs per paket nedan.
OpenSSH 7 avaktiverade några äldre krypteringsmetoder och SSH1-protokollet som standard. Var försiktig när du uppgraderar maskiner som endast kan nås via 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.
Läs mer i dokumentationen för OpenSSH för mer information.
Detta avsnitt beskriver några ändringar i APT som inte är kompatibla med äldre versioner och som kan påverka ditt system.
APT försöker lämna rot-rättigheterna innan filer hämtas från speglar. APT kan hitta vissa vanliga fall där detta misslyckas och går då tillbaka till att hämta filer som rot-användaren, en varning visas. Det kan förstås förekomma andra tillfällen som inte kan identifieras (exempelvis brandväggsregler baserat på UID).
Om du upplever besvär med detta byt till användaren _apt
och kontrollera att den:
har läsrättighet till filer i /var/lib/apt/lists
och
/var/cache/apt/archives
.
har läsrättighet till APT:s förtroendearkiv
(/etc/apt/trusted.gpg
och
/etc/apt/trusted.gpg.d/
)
kan slå upp DNS-namn och hämta filer. Exempel på metoder för att testa:
# Från paketet dnsutils (används tor ska istället tor-resolve användas). $ nslookup debian.org > /dev/null || echo "Kan inte slå upp debian.org" $ wget -q https://debian.org/ -O- > /dev/null || echo "Kan inte hämta index-sidan för debian.org"
För problem med DNS kontrollera att /etc/resolv.conf
är
läsbar.
I APT 1.1 finns en ny motor för att hantera fastnålade paket, denna motsvarar vad som beskrivs i manualen.
Den äldre motorn satte fast en prioritet per paket, den nya sätter en prioritet per version. Den väljer sedan den version som har högst nålning som inte innebär en nedgradering eller som har nålvärde över 1000.
Detta ändrar effekten för en del nålningar, speciellt negativa. Tidigare innebar att en fastnålad version på -1 i princip förhindrade paketet från att installeras (paketets nålvärde var -1), numera är det bara den versionen av paketet som inte kan installeras.
![]() | Notera |
---|---|
Detta avsnitt är bara tillämpbart om du har använt (eller kommer att använda) förråd från tredjepart eller om du tillhandahåller ett APT-förråd. |
För att öka stabiliteten i hämtningen och för att säkerställa det hämtade materialet så kommer APT nu kräva följande från APT-förråd:
Filen InRelease måste vara tillgänglig.
Alla metadata måste inkludera åtminstone kontrollberäkningar i SHA256 för samtliga delar. Detta inkluderar GPG-signaturen av InRelease-filen.
Signatur på InRelease-filen ska göras med en nyckel som är 2048 bitar eller större.
Om du förlitar dig på ett tredjeparts förråd som inte kan lösa ovanstående så bör du be dem uppgradera sitt förråd. Mer information om InRelease-filen kan hittas på Debians Wiki (engelska).
![]() | Notera |
---|---|
Detta kapitel gäller bara för de som anpassat inställningarna för inmatning i Xorg. |
I jessie är standarddrivrutinen för inmatning evdev
. I
stretch har standarddrivrutinen bytts till libinput
. Om
du har inställningar för Xorg som vilar på
evdev
-drivrutinen så behöver du antingen konvertera detta
till libinput
-drivrutinen eller justera systemet att
använda evdev
-drivrutinen.
Följande är ett exempel på inställningar för libinput
för
att aktivera funktionen att emulera tre musknappar
(”Emulate3Buttons”).
Section "InputClass" Identifier "mouse" MatchIsPointer "on" Driver "libinput" Option "MiddleEmulation" "on" EndSection
Detta placeras i
/etc/X11/xorg.conf.d/41-middle-emulation.conf
starta
sedan om (systemet eller bara Xservern, vilket som känns enklast) och
emuleringen ska vara aktiverad.
Drivrutinen evdev
kan installeras genom paketet
xserver-xorg-input-evdev
.
På grund av falnande stöd från utgivaren så har uppstartssystemet Upstart tagits bort från stretch. Om ditt system bygger på detta paket behöver du notera att det inte kommer att uppgraderas i Debian 9. Upstart-jobb kan komma att tas bort från paket i och med Debian 10 (buster).
Vänligen överväg att byta till ett uppstartssystem med stöd, exempelvis systemd eller OpenRC.
Standardinställningarna för u-boot från HP funkar inte längre med Debian stretch. Före uppgradering till Debian 9 måste några inställningar göras i u-boot. De nya inställningarna fungerar med både Debian 7 och Debian 8 därför rekommenderas att ändringen görs före uppgradering. Har du tillgång till mv2120 över serieanslutning kan en del kommandon köras i u-boot. Avbryt uppstartsprocessen genom att trycka en tangent och skriva sedan följande:
setenv loadAddr 0x0600000 setenv bootcmd 'bootext2 0,1:1,2 0x0600000 /boot/uImage /dev/sda /dev/sdb' saveenv
Om du inte har tillgång till seriell anslutning kan ändringarna göras från Debian. Kör följande kommando:
cat > /etc/fw_env.config <<EOF /dev/mtd0 0x00000 0x1000 0x20000 EOF fw_setenv loadAddr 0x0600000 fw_setenv bootcmd "bootext2 0,1:1,2 0x0600000 /boot/uImage /dev/sda /dev/sdb"
Detta skapar en instöällningsfil så att u-boot-miljön kan modifieras och använder fw_setenv för att uppdatera två flaggor för uppstarten.
Observera att Debian 9 är den sista utgåvan som stöder HP mv2120.
![]() | Notera |
---|---|
Detta avsnitt vänder sig främst till utvecklare och organisationer som bygger sina egna debian-paket. |
Verktygen i debhelper-sviten skapar nu dbgsym
-paket som
standard för ELF-binärer. Om du utvecklar och paketerar binärer vänligen
kontrollera att dina verktyg har stöd för dessa extra automatiskt skapade
paket.
Om du använder reprepro
så vill du
uppgradera till åtminstone version 4.17.0. Aptly
behöver åtminstone version 1.0.0, som
tyvärr inte finns tillgänglig i Debian stretch.
Om dina verktyg inte kan hantera dessa snyggt så kan du avaktivera denna
funktion i debhelper genom att lägga till
”noautodbgsym
” i variabeln DEB_BUILD_OPTIONS
i din byggtjänst. Läs även manualsidan
för dh_strip (engelska).
Programmet openssl förväntar sig flaggor före icke-flaggor. Bland annat så fungerar inte detta längre:
openssl dsaparam 2048 -out file
medan detta fungerar:
openssl dsaparam -out file 2048
Kommandot openssl enc har bytt från MD5 till SHA256 som kryptografisk hashfunktion som standard. Hashfunktionen kan anges med flaggan -md ifall gamla filer behöver avkrypteras med en nyare openssl (eller tvärtom).
Krypteringsmetoderna 3DES och RC4 är inte längre tillgängliga för TLS/SSL-kommunikation. Serverar länkade mot OpenSSL kan inte längre tillhandahålla dessa krypteringsmetoder och klienter kan inte ansluta till servrar som bara tillhandahåller dessa. Detta innebär att OpenSSL och Windows XP inte delar några krypteringsfunktioner.
Paketet libssl-dev
tillhandahåller
huvudfiler för att kompilera mot OpenSSL 1.1.0. En mängd API-förändringar
har gjorts och det är möjligt att mjukvaran inte längre kan kompileras. En
genomgång av ändringarna finns att läsa i OpenSSL;s
wiki (engelska). Om du inte kan uppgradera mjukvaran så finns dock
paketet libssl1.0-dev
som
tillhandahåller huvudfiler för OpenSSL 1.0.2.
![]() | Notera |
---|---|
Detta avsnitt täcker kod som hanteras utanför Debian - lokala, trdjeparts eller gamla Perl-skript och -moduler. |
Vissa moduler har tagits bort från Perls kärna och levereras nu i separata
paket. Exempelvis CGI
i paketet libcgi-pm-perl
och
Module::Build
genom libmodule-build-perl
.
Den aktuella katalogen (.
) har tagits bort från
standardlistan med inkluderade kataloger - @INC
. Detta
kan påverka användandet av require()
,
do()
med flera där argumentet är filer i den aktuella
katalogen.
Alla perl-program och -moduler som skeppas med Debian ska ha blivit korrigerad för att adressera inkompatibilitet med ovanstående; vänligen rapportera eventuella fel som uppstår. I och med att den här justeringen även är gjord i perl 5.26.0 så behöver tredjeparts-mjukvara också lagas. Information om hur dessa problem justeras av utvecklare finns att läsa i perl 5.26 kommentarer till utgåvan, särskilt avsnittet SECURITY (engelska).
För att temporärt justera det hela kan .
läggas till i
@INC
globalt genom att kommentera bort en rad i
/etc/perl/sitecustomize.pl
men detta ska endast göras
om du är med på att systemet utsätts för risker. Vägen runt kommer att tas
bort i Debian 10. Miljövariabeln PERL_USE_UNSAFE_INC
kan
aktiveras i specifika kontext för att uppnå samma effekt.
En komplett lista med ändringar i Perl sedan versionen i Debian 8 kan studeras på engelska i perl522delta och perl524delta.
Paketet för procedurspråket PostgreSQL PL/Perl i Jessie är inte kompatibelt
med Perl-versionen i stretch. Paketet postgresql-plperl-9.4
kommer att tas bort vid
uppgraderingen, detta innebär att Perl-procedurer på serversidan inte kommer
fungera. Uppgradering till PostgreSQL 9.6 ska inte påverkas, procedurer ska
fungera i den nya versionen av PostgreSQL-klustret om postgresql-plperl-9.6
är installerat. Om
osäkerhet råder bör en säkerhetskopia tas av PostgreSQL 9.4-klustret innan
uppgraderingen till stretch genomförs.
Paketet net-tools
installeras inte
längre som standard på nya installationer eftersom prioriteten sänkts från
viktig (important) till valbar (optional). Användare hänvisas istället till
den mer moderna uppsättningen verktyg som finns i iproute2
(som har varit med som standard i många
tidigare utgåvor). Skulle du föredra att använda programmen i net-tools
kan dessa installeras genom
apt install net-tools
Här följer en lista med net-tool-kommandon och deras motsvarighet i iproute2:
net-tools-kommando | ersättning i 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 (för netstat -r), ip -s link (för netstat -i), ip maddr (för netstat -g) |
route | ip r (ip route) |
![]() | Notera |
---|---|
Detta gäller endast system som har ATA över ethernet-enheter (AoE) monterade. Om systemet inte monterar nätverksenheter kan du hoppa över det här kapitlet. |
I och med en uppstädning i hanteringen av upprensningen av
nätverksinställningar hanteras in AoE-enheter som förväntat vid
nedstängning. Detta kan leda till upphakning och/eller att data
förloras. För att undvika detta är förslaget att använda monteringsflaggan
_netdev
. Flaggan är tillgänglig när du använder swap på
AoE också.
Vid uppgraderingen kan det hända att du ser varningar likt:
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. OBS! Ovanstående exempel på engelska kan mycket väl förekomma i en svensk motsvarighet. Det ligger utanför målet med den här översättningen att täcka in dessa strängar då de härstammar från Perl och inte Debian självt.
Dessa är ofarliga och inträffar om paketet perl-base
uppgraderas före debconf
-paketet.
![]() | Notera |
---|---|
Detta avsnitt berör bara system som använder SELinux, detta är inte ett standardläge. |
I stretch har platsen frö SELinux policy flyttats från
/etc/selinux/
till
<policy_namn>
/var/lib/selinux/
.
Vidare har formatet ändrats.
<policy_name>
Policier som tillhandahålls av Debian (i paketet selinux-policy-default
) kommer att migreras
automatiskt. Systemspecifika policier kommer att migreras automatiskt.
semanage-utils
-paketet
tillhandahåller ett skript för att hantera övergången;
/usr/lib/selinux/semanage_migrate_store
.
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.