Kapitel 5. Dinge, die Sie über Jessie wissen sollten

Inhaltsverzeichnis

5.1. Einschränkungen bei der Sicherheitsunterstützung
5.1.1. Sicherheitsstatus von Webbrowsern
5.1.2. Fehlende Sicherheitsunterstützung rund um das Ecosystem von libv8 und Node.js
5.1.3. Vorzeitiges Ende der Sicherheitsunterstützung für Mediawiki
5.2. Standardeinstellung für OpenSSH-Server ist jetzt "PermitRootLogin without-password"
5.3. Puppet 2.7-/3.7-Kompatibilität
5.4. Aktualisierung auf PHP 5.6 enthält Änderungen bezüglich der Verhaltensweise von PHP
5.5. Inkompatible Änderungen in Apache HTTPD 2.4
5.6. Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert
5.6.1. Strengere Handhabung von fehlgeschlagenen mount-Vorgängen während des Bootens unter systemd
5.6.2. Veraltete Init-Skripte sollten entfernt werden
5.6.3. Lokal angepasste init-Skripte müssen eventuell auf systemd portiert werden
5.6.4. Plymouth wird benötigt für Boot-Prompts bei systemd-Bootvorgängen
5.6.5. Beeinflußung zwischen logind und acpid
5.6.6. Nicht unterstützte crypttab-Funktionalitäten unter systemd (z.B. "keyscript=...")
5.6.7. systemd: führt SIGKILL zu früh aus [in 8.1 behoben]
5.6.8. systemd: Funktionsweise des »halt«-Befehls
5.7. Benötigte Kernel-Konfigurationsoptionen für Jessie
5.8. Relevante Gesichtspunkte für ein Upgrade von LXC-Hosts und -Containern
5.8.1. Upgrade von LXC-Guests, die auf Wheezy-Hosts laufen
5.8.2. Upgrade von LXC-Guests, die auf Jessie-Hosts laufen
5.8.3. Weitere Informationen
5.9. Manuelle Migration von Laufwerken, die mit LUKS whirlpool verschlüsselt sind (keine Standardsysteme)
5.10. Der GNOME-Desktop erfordert grundlegende 3D-Grafikfähigkeiten
5.11. Der GNOME-Desktop funktioniert nicht mit AMDs proprietärem FGLRX-Treiber
5.12. Änderungen bei den Standard-Tastaturkürzeln in GNOME
5.13. Änderung der Standard-Shell von Systembenutzern durch base-passwd
5.14. Migration auf das neue KDE E-Mail-, Kalender- und Kontakteprogramm (Kontact)
5.15. Fehlende virtuelle Konsolen (»gettys«) bei mehreren Desktop-Umgebungen
5.16. »VGA signal out of range« / leerer Bildschirm beim Booten mit grub-pc
5.17. Strengere Kontrolle von cron-Dateien durch crontab
5.18. Änderung bei der Handhabung von nicht lesbaren Modulpfaden durch perl
5.19. Relevante Gesichtspunkte für ein Upgrade von Ganeti-Clustern
5.19.1. Problem beim Upgrade von Ganeti-Clustern mit DRBD-gesicherten Instanzen [behoben in 8.1]
5.19.2. Grundsätzliche Hinweise zum Upgrade von Ganeti-Clustern
5.20. Neue Voraussetzungen für Dateiausführung in Samba4
5.21. Cryptsetup kann das Booten mit BUSYBOX=n stören
5.22. Nicht rückwärts kompatible Änderungen im Squid-Webproxy

Manchmal haben Änderungen, die in einer neuen Veröffentlichung eingebracht werden, Nebeneffekte, die wir ohne größeren Aufwand nicht vermeiden können, oder dies würde Fehler an anderen Stellen verursachen. Dieses Kapitel dokumentiert die uns bekannten Probleme. Bitte lesen Sie auch die Errata, die relevanten Paketdokumentationen, Fehlerberichte und weitere Informationen in Abschnitt 6.1, „Weitere Lektüre“.

5.1. Einschränkungen bei der Sicherheitsunterstützung

Es gibt einige Pakete, bei denen Debian nicht versprechen kann, dass zur Behebung von Sicherheitslücken nicht minimale Rückportierungen in die Pakete mit einfließen. Diese Pakete werden in den folgenden Abschnitten behandelt.

Bitte beachten Sie, dass das Paket debian-security-support, eingeführt in Jessie Ihnen dabei hilft, den Sicherheitsstatus installierter Pakete im Blick zu behalten.

5.1.1. Sicherheitsstatus von Webbrowsern

Debian 8 enthält mehrere Browser-Engines, die einem ständigen Ansturm von Sicherheitsproblemen ausgesetzt sind. Die hohe Rate von Anfälligkeiten und die teilweise fehlende Unterstützung seitens der Originalautoren in Form von langfristig gepflegten Programmversionen machen es sehr schwierig, für diese Browser Sicherheitsunterstützung auf Basis von rückportierten Fehlerkorrekturen anzubieten. Zusätzlich machen es Abhängigkeiten zwischen beteiligten Bibliotheken unmöglich, auf neuere Upstream-(Orignal-)Versionen hochzurüsten. Browser, die auf den Engines webkit, qtwebkit und khtml aufbauen, sind daher in Jessie zwar enthalten, es besteht jedoch für sie keine Sicherheitsunterstützung. Diese Browser sollten nicht für Verbindungen zu vertrauensunwürdigen Websites verwendet werden.

Für die normale Nutzung empfehlen wir Iceweasel oder Chromium.

Das Chromium-Paket - basierend auf der Webkit-Codebasis - wird aktuell gehalten, indem die aktuellen Chromium-Veröffentlichungen für Stable neu gebaut werden. Iceweasel und Icedove werden ebenfalls über ein Neubauen der aktuellen ESR-Veröffentlichungen für Stable aktuell gehalten.

5.1.2. Fehlende Sicherheitsunterstützung rund um das Ecosystem von libv8 und Node.js

Die Node.js-Plattform wird basierend auf libv8-3.14 gebaut, das wiederum unter einer hohen Anzahl an Sicherheitslücken leidet. Innerhalb des Projekts oder des Sicherheitsteams gibt es jedoch derzeit keine Freiwilligen, die bereit sind, den hohen Zeitaufwand zu investieren, der nötig ist, um diese immer wieder neu hereinkommenden Probleme zu beheben.

Das bedeutet unglücklicherweise, dass die libv8-3.14-, nodejs- und weitere zugehörige Pakete aus dem node-*-Ecosystem nicht für unvertrauenswürdige Inhalte, wie möglicherweise belastete Daten aus dem Internet, verwendet werden sollten.

Auch wird es während der Lebenszeit von Jessie für diese Pakete keine Sicherheitsaktualisierungen geben.

5.1.3. Vorzeitiges Ende der Sicherheitsunterstützung für Mediawiki

Die Sicherheitsunterstützung durch Upstream für die 1.19-Serie von mediawiki endet während der erwarteten Lebenszeit von Jessie. Das mediawiki-Paket ist in Jessie enthalten, um Abhängigkeiten anderer Pakete zu erfüllen.

Die Sicherheitsunterstützung für mediawiki endet zusammen mit der Unterstützung für Wheezy im April 2016.

5.2. Standardeinstellung für OpenSSH-Server ist jetzt "PermitRootLogin without-password"

Um das Standard-Setup gegen Angriffe abzuhärten, wurde die Voreinstellung auf "PermitRootLogin without-password" geändert. Falls Sie Passwortauthentifizierung für den root-Benutzer verwenden, könnten Sie von dieser Änderung betroffen sein.

Der openssh-server versucht, solche Situationen zu erkennen und bei Bedarf die Priorität des debconf-Prompts zu erhöhen.

Wenn Sie weiterhin Passwortauthentifizierung für den root-Benutzer verwenden möchten, können Sie diese Frage auch per Voreinstellung unterdrücken mit:

$ echo 'openssh-server openssh-server/permit-root-login boolean false' | debconf-set-selections
# Der "false"-Wert ist in der Tat korrekt, auch wenn dies vielleicht
# verwirrend sein mag.

5.3. Puppet 2.7-/3.7-Kompatibilität

Wenn Sie Puppet verwenden, beachten Sie bitte, dass Puppet 3.7 nicht abwärts-kompatibel mit Puppet 2.7 ist. Neben anderen Dingen wurden die Scoping-Regeln verändert und viele veraltete Konstrukte entfernt. Lesen Sie die Puppet 3.x Release Notes bezüglich näherer Informationen zu einigen Änderungen, aber beachten Sie, dass es noch weitere Änderungen in 3.7 gibt.

Es ist erheblich einfacher, das Upgrade zu beenden, wenn Sie die Logdateien des derzeitigen puppetmaster auf etwaige Warnungen bezüglich veralteter Einstellungen (deprecated) kontrollieren und all diese Warnungen beseitigen, bevor Sie mit dem Upgrade fortfahren. Alternativ - oder zusätzlich - dazu können Sie auch mit einem Hilfsprogramm wie puppet catalog test potentielle Probleme vor dem Upgrade aufspüren.

Wenn Sie ein durch Puppet verwaltetes System von Wheezy auf Jessie aktualisieren, müssen Sie sicherstellen, dass auf dem dazugehörigen puppetmaster mindestens Puppet Version 3.7 läuft. Läuft auf dem Master die Wheezy-Version von puppetmaster, wird sich das verwaltete Jessie-System nicht mit dem Master verbinden können.

Weitere Informationen zu inkompatiblen Änderungen finden Sie unter Telly upgrade issues und "The Angry Guide to Puppet 3".

5.4. Aktualisierung auf PHP 5.6 enthält Änderungen bezüglich der Verhaltensweise von PHP

Das Upgrade auf Jessie enthält die Aktualisierung von PHP 5.4 auf 5.6. Davon könnten jegliche lokalen PHP-Skripte betroffen sein, und Sie sollten diese Skripte vor dem Upgrade überprüfen. Hier eine Auswahl der betroffenen Änderungen:

  • Um Man-in-the-middle-Attacken gegen verschlüsselte Übertragungen vorzubeugen, überprüfen Client-Datenübertragungen jetzt standardmäßig die Zertifikate der Gegenstelle.

    Resultierend daraus wird über vorhandenen Code mit ssl:// oder tls:// Stream-Wrappern (wie file_get_contents(), fsockopen(), stream_socket_client() ) möglicherweise keine erfolgreiche Verbindung mehr aufgebaut, solange die Überprüfung der Gegenstelle (peer verification) nicht über die "verify_peer"-Einstellung im Kontext des betreffenden Streams manuell deaktiviert wurde.

    Weitere Informationen über dieses Thema finden Sie in diesem Dokument.

  • PHP ändert in vielen Fällen die Handhabung von Groß-/Kleinschreibung:

    • Jegliche interne Handhabung von Namen für Klassen, Funktionen und Konstanten mit Ignorierung von Groß-/Kleinschreibung wird gemäß der ASCII-Regeln abgewickelt. Aktuelle Locale-Einstellungen werden ignoriert.

    • Bei den Schlüsselworten "self", "parent" und "static" wird die Groß-/Kleinschreibung jetzt nicht mehr beachtet.

    • Die Funktion json_decode() akzeptiert jetzt keine Varianten von "boolean"-Werten mit Großbuchstaben mehr.

  • Die GUID-Funktionen für Logos, wie php_logo_guid(), wurden entfernt.

  • Es ist nicht mehr möglich, Schlüssel in statischen Scalar-Arrays zu überschreiben. Ein Beispiel und weitere Informationen zu diesem Thema finden Sie im PHP-Fehlerbericht 66015.

  • Die Funktionen mcrypt_encrypt(), mcrypt_decrypt() und mcrypt_{MODE}() akzeptieren keine Schlüssel oder IVs mit inkorrekter Größe mehr. Desweiteren ist jetzt ein IV erforderlich, wenn der benutzte Blockverschlüsselungsmodus dies verlangt.

  • Aus rechtlichen Gründen wurde die JSON-Implementierung, die zu PHP gehört, durch die vom "jsonc"-PECL-Modul bereitgestellte Version ersetzt. Code, der sich auf feinere Implementierungsdetails des PHP-JSON-Parsers bezieht, muss eventuell kontrolliert werden.

  • The "short_open_tag" setting is now disabled by default. The ASP variant of the short tags ("<%" and "%>") are scheduled for removal in PHP7.

Weitere Informationen sowie eine vollständige Liste potentieller Probleme finden Sie in der Liste der PHP-Autoren über rückwärts-kompatible Änderungen für PHP 5.5 und 5.6.

5.5. Inkompatible Änderungen in Apache HTTPD 2.4

[Anmerkung]Anmerkung

Dieser Abschnitt betrifft nur Systeme, auf denen ein Apache-HTTPD-Server installiert und händisch konfiguriert worden ist.

Es gab eine ganze Reihe von Änderungen bei der Konfiguration des Apache-HTTPD-Servers in Version 2.4. Auf der Upstream-Seite wurde dabei die Syntax verändert. Erwähnenswert sind dabei die umfangreichen Änderungen an den Zugangskontrollrichtlinien, die eine händische Migration auf die neuen Richtlinien nötig machen.

In der Upgrade-Anleitung von Upstream wird das mod_access_compat-Modul als mögliche Alternative für eine direkte Migration genannt. Allerdings wird auch berichtet, dass es unter Umständen nicht immer funktioniert.

Im Debian-Paket wurde auch die Verwaltung von Konfigurationsdateien verändert. Speziell müssen jetzt alle Konfigurationsdateien auf ».conf« enden, um standardmäßig verarbeitet zu werden. Diese Änderung ersetzt auch die frühere Nutzung von /etc/apache2/conf.d/.

[Anmerkung]Anmerkung

Während dem Upgrade könnten Sie Warnungen bekommen über Konfigurationsdateien, die in /etc/apache2/conf.d/ abgelegt sind, welche von Paketen aus Debian bereitgestellt wurden. Diese Warnungen sind unvermeidbar, aber harmlos, da die betroffenen Pakete Ihre Konfigurationsdateien im Rahmen von deren Upgrade verschieben werden (was normalerweise passiert, direkt nachdem Apache HTTPD die Warnung ausgegeben hat).

Weitere Informationen und eine vollständige Liste der Änderungen finden Sie unter:

  • Upgrading to 2.4 from 2.2, ein Dokument von Apache für die Upstream-Seite.

  • Die Datei /usr/share/doc/apache2/NEWS.Debian.gz aus dem apache2-Paket.

5.6. Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert

Jessie wird mit systemd-sysv als Standard-Init-System ausgeliefert. Dieses Paket wird im Rahmen des Upgrades automatisch installiert.

Falls Sie ein anderes Init-System wie z.B. sysvinit-core oder upstart bevorzugen, wird empfohlen, vor dem Upgrade APT-Pinning einzurichten. Dies könnte auch erforderlich sein, wenn Sie LXC-Container vor dem Host-Rechner aktualisieren. In diesem Fall lesen Sie bitte Abschnitt 5.8.1, „Upgrade von LXC-Guests, die auf Wheezy-Hosts laufen“.

Um z.B. die Installation von systemd-sysv während des Upgrades zu verhindern, können Sie eine Datei namens /etc/apt/preferences.d/local-pin-init mit folgendem Inhalt erstellen:

Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1
[Achtung]Achtung

Seien Sie gewarnt, dass einige Pakete ein schlechteres Verhalten zeigen oder Funktionalitäten vermissen lassen könnten, wenn nicht das Standard-Init-System verwendet wird.

Bitte beachten Sie, dass während dem Upgrade trotz eingerichtetem APT-Pinning Pakete installiert werden könnten, die "systemd" in ihrem Namen enthalten. Durch dies allein wird nicht Ihr Init-System geändert, dazu muss zunächst das Paket systemd-sysv installiert werden.

Falls APT oder aptitude bei aktiviertem Apt-Pinning Probleme mit der Berechnung des Upgrades haben, können Sie vielleicht dabei helfen, indem Sie sysvinit-core und systemd-shim händisch installieren.

5.6.1. Strengere Handhabung von fehlgeschlagenen mount-Vorgängen während des Bootens unter systemd

Verglichen mit sysvinit reagiert das neue Standard-Init-System systemd-sysv strenger darauf, wenn mit "auto" markierte mount-Einträge während des Bootens nicht eingebunden werden können. In einem solchen Fall (und wenn nicht die Option "nofail" angegeben ist) wird systemd auf eine Notfall-Shell wechseln, statt mit dem Booten fortzufahren.

Wir empfehlen, dass alle "optionalen " mount-Einträge (z.B. für nicht-kritische Netzwerklaufwerke) oder solche für Wechseldatenträger in /etc/fstab entweder die Option "noauto" oder "nofail" enthalten.

5.6.2. Veraltete Init-Skripte sollten entfernt werden

Wenn Sie von früheren Veröffentlichungen aktualisieren, könnte Ihr System veraltete Init-Skripte enthalten, die durch (jetzt) entfernte Pakete bereitgestellt wurden. Diese Skripte könnten fehlerhafte Metadaten enthalten oder solche ohne Abhängigkeiten, was zu Abhängigkeitsschleifen in Ihrer Init-Konfiguration führen kann.

Um dies zu vermeiden, empfehlen wir, dass Sie die Liste der Pakete durchsehen, die sich im Status "rc", ("Entfernt, aber Konfigurationsdateien noch vorhanden") befinden, und zumindest die enthaltenen Init-Skripte löschen.

Bitte lesen Sie Abschnitt 4.8.1, „Vollständiges Löschen entfernter Pakete“ für Details, wie Sie entfernte Pakete finden und deren Konfigurationsdateien löschen.

5.6.3. Lokal angepasste init-Skripte müssen eventuell auf systemd portiert werden

[Anmerkung]Anmerkung

Dieser Abschnitt betrifft nur Systeme, auf denen init-Skripte, die von Debian bereitgestellt wurden, lokal verändert worden sind.

Falls Sie von Debian bereitgestellte init-Skripte lokal verändert haben, beachten Sie bitte, dass diese möglicherweise durch eine system-unit-Datei oder durch systemd selbst ersetzt worden sind. Haben Sie debsums installiert, können Sie mit folgendem Befehl nach lokal veränderten init-Skripten suchen:

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

Alternativ können Sie folgendes verwenden, wenn debsums nicht installiert ist.

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

Wenn entweder keiner dieser Befehle irgendwelche Dateien und dazugehörige Pakete ausgibt oder systemd jetzt eine systemd-unit-Datei für diesen Dienst anbietet, wird die systemd-unit-Datei sich um das lokal veränderte init-Skript kümmern. Abhängig von der Natur der Änderungen gibt es verschiedene Wege, die Migration durchzuführen.

Falls nötig, ist es möglich, die systemd-unit-Datei zu überschreiben, so dass sie das sysvinit-Skript startet. Weitere Informationen über systemd-unit-Dateien finden Sie hier:

5.6.4. Plymouth wird benötigt für Boot-Prompts bei systemd-Bootvorgängen

Wenn Ihr Bootvorgang interaktive Eingaben benötigt (z.B. ein Passwort für eine verschlüsselte Festplatte), stellen Sie bitte sicher, dass Sie plymouth installiert und konfiguriert haben. Bitte lesen Sie /usr/share/doc/plymouth/README.Debian bezüglich weiterer Informationen, wie Sie plymouth konfigurieren.

Ohne das plymouth-Paket kann es passieren, dass der Boot-Prompt verschwindet. Berichte legen nahe, dass der cryptsetup-Prompt aber trotzdem noch Eingaben akzeptiert, obwohl er nicht sichtbar ist. Wenn Sie dieses Problem bei sich feststellen, sollte es also trotzdem möglich sein, das korrekte Passwort einzugeben.

5.6.5. Beeinflußung zwischen logind und acpid

ACPI-Ereignisse können von logind oder acpid bearbeitet werden. Falls beide Dienste konfiguriert sind, solche Ereignisse auf unterschiedliche Art zu verarbeiten, kann dies zu unerwarteten Ergebnissen führen.

Wir empfehlen, jegliche Einstellungen, die nicht mehr den Standard-Einstellungen entsprechen, nach logind zu migrieren und acpid zu deinstallieren. Alternativ ist es auch möglich, logind so einzurichten, dass es ACPI-Ereignisse ignoriert. Fügen Sie dazu

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

zu /etc/systemd/logind.conf hinzu. Beachten Sie, dass dies das Verhalten von Desktop-Umgebungen verändern könnte, die sich diesbezüglich auf logind verlassen.

5.6.6. Nicht unterstützte crypttab-Funktionalitäten unter systemd (z.B. "keyscript=...")

Es gibt einige cryptsetup-Funktionen, die unglücklicherweise nicht unterstützt werden, wenn systemd als init-System läuft. Dies sind:

  • precheck

  • check

  • checkargs

  • noearly

  • loud

  • keyscript

Wenn Ihr System irgendwelche davon zum Booten benötigt, müssen Sie sysvinit (sysvinit-core) als init-System einsetzen. In Abschnitt 5.6, „Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert“ finden Sie Informationen, wie Sie die Installation eines bestimmten init-Systems vermeiden.

Sie können prüfen, ob diese Optionen auf Ihrem System verwendet werden, indem Sie folgenden Befehl ausführen:

grep -e precheck -e check -e checkargs -e noearly -e loud -e keyscript /etc/crypttab

Falls dabei nichts ausgegeben wird, nutzt Ihr System keine der betroffenen Optionen.

5.6.7. systemd: führt SIGKILL zu früh aus [in 8.1 behoben]

[Anmerkung]Anmerkung

Dieses Problem wurde in der Jessie-Zwischenveröffentlichung 8.1 behoben.

Nach der Veröffentlichung von Jessie wurde ein Rückentwicklung in systemd berichtet. Dieses Problem taucht auf während des Herunterfahrens oder Neustarts, weil systemd keine angemessene Zeit verstreichen lässt, bevor SIGKILL-Signale an verbleibende Prozesse geschickt werden. Das kann bei Prozessen, die zur Zeit des Herunterfahrens noch nicht alle Daten gesichert haben (z.B. Datenbanken), zu Datenverlust führen.

Weitere Informationen finden Sie im Debian-Fehlerbericht #784720.

5.6.8. systemd: Funktionsweise des »halt«-Befehls

Die sysvinit-Implementierung des halt-Befehls hat den Rechner auch abgeschaltet. Die systemd-sysv-Implementierung jedoch hält das System an (fährt das Betriebssystem herunter), schaltet aber nicht das Netzteil des Systems ab. Um den Rechner herunterzufahren und abzuschalten, verwenden Sie den poweroff-Befehl.

Weitere Informationen finden Sie im Debian-Fehlerbericht Debian bug #760923.

5.7. Benötigte Kernel-Konfigurationsoptionen für Jessie

[Anmerkung]Anmerkung

Dieser Abschnitt ist nur für Leute relevant, die Ihren eigenen Kernel kompilieren. Wenn Sie die von Debian vorkompilierten Kernel verwenden, können Sie dies ignorieren.

Folgende Kernel-Konfigurationsoptionen sind für Jessie entweder erforderlich oder empfohlen (zusätzlich zu den Anforderungen aus früheren Veröffentlichungen):

# Benötigt für udev
CONFIG_DEVTMPFS=y
# Benötigt für *einige* systemd-Dienste
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# Benötigt für »bluez« (GNOME)
CONFIG_BT=y
# Benötigt für cups + systemd.
CONFIG_PPDEV=y
# Benötigt für udev
CONFIG_DEVTMPFS=y
# Benötigt für *einige* systemd-Dienste
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y

Die systemd-Dienste, die CONFIG_DEVPTS_MULTIPLE_INSTANCES=y erfordern, enthalten typischerweise mindestens eine der folgenden Richtlinien:

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

Falls Sie systemd nicht verwenden oder sich sicher sind, dass keiner der systemd-Dienste die obigen Richtlinien nutzt, wird die entsprechende Konfigurationsoption auf Ihrem System eventuell nicht benötigt.

Weitere Informationen über die Anforderungen finden Sie in dem Abschnitt »REQUIREMENTS« in der README-Datei aus dem systemd-Paket.

5.8. Relevante Gesichtspunkte für ein Upgrade von LXC-Hosts und -Containern

[Anmerkung]Anmerkung

Dieser Abschnitt betrifft nur Systeme, die LXC-Hosts und -Container enthalten. Auf Systeme normaler Benutzer trifft dies üblicherweise nicht zu.

Durch das Upgrade von Wheezy auf Jessie wird Ihr System standardmäßig auf das systemd-Init-System migriert (lesen Sie dazu Abschnitt 5.6, „Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert“).

Das Upgrade eines LXC-Containers oder einer LXC-virtuellen Maschine hat verschiedene Konsequenzen abhängig davon, ob das Host-System bereits auf Jessie aktualisiert wurde oder nicht.

5.8.1. Upgrade von LXC-Guests, die auf Wheezy-Hosts laufen

Wenn Sie einen LXC-Guest-Container aktualisieren, der auf einem Wheezy-Host-System läuft, müssen Sie verhindern, dass der Guest automatisch auf systemd migriert wird. Dies erreichen Sie mittels APT-Pinning, wie in Abschnitt 5.6, „Durch ein Upgrade wird das neue Standard-Init-System für Jessie installiert“ beschrieben.

Das ist erforderlich, da dem Wheezy-Host-System Funktionalitäten fehlen, um ein System zu booten, auf dem systemd läuft.

Sobald das Host-System auf Jessie aktualisiert wurde, sollte es ohne Probleme möglich sein, den LXC-Guest auf systemd umzustellen.

5.8.2. Upgrade von LXC-Guests, die auf Jessie-Hosts laufen

Um LXC-Guests mit systemd booten zu können, müssen Sie die Konfiguration Ihres LXC-Containers anpassen. Sie finden diese normalerweise in /var/lib/lxc/CONTAINER_NAME/config. Folgende zwei Einstellungen müssen der Konfiguration hinzugefügt werden:

lxc.autodev = 1
lxc.kmsg = 0

5.8.3. Weitere Informationen

Weitere Informationen über LXC in Debian finden Sie im Debian Wiki.

5.9. Manuelle Migration von Laufwerken, die mit LUKS whirlpool verschlüsselt sind (keine Standardsysteme)

[Anmerkung]Anmerkung

Dieser Abschnitt ist nur für Leute relevant, die LUKS-verschlüsselte Laufwerke selbst mittels dem whirlpool-Hash eingerichtet haben. Der debian-installer hat nie die Erzeugung solcher Laufwerke unterstützt.

Haben Sie händisch ein verschlüsseltes Laufwerk mit LUKS whirlpool eingerichtet, müssen Sie es jetzt manuell auf ein stärkeres Hash migrieren. Sie können mit folgendem Befehl überprüfen, ob Ihr Laufwerk whirlpool verwendet:

# /sbin/cryptsetup luksDump <disk-device> | grep -i whirlpool

Weitere Informationen über die Migration finden Sie im Abschnitt "8.3 Gcrypt 1.6.x and later break Whirlpool" der cryptsetup-FAQ.

[Achtung]Achtung

Sollten Sie ein solches Laufwerk haben, wird cryptsetup sich standardmäßig weigern, es zu entschlüsseln. Sind Ihr root-Laufwerk oder andere Systemlaufwerke (z.B. /usr) mit whirlpool verschlüsselt, sollten Sie diese migrieren, bevor Sie nach der Aktualisierung des cryptsetup-Pakets einen Reboot durchführen.

5.10. Der GNOME-Desktop erfordert grundlegende 3D-Grafikfähigkeiten

GNOME 3.14 in Jessie hat keinen Ausweichmodus für Rechner ohne grundlegende 3D-Grafikfähigkeiten mehr. Um korrekt zu laufen, benötigt es entweder einen ausreichend aktuellen PC (jeder PC, der in den letzten 10 Jahren gebaut wurde, sollte die benötigte SSE2-Unterstützung bieten) oder - für andere Architekturen als i386 und amd64 - eine 3D-beschleunigte Grafikkarte mit EGL-Treibern.

5.11. Der GNOME-Desktop funktioniert nicht mit AMDs proprietärem FGLRX-Treiber

Anders als sonstige OpenGL-Treiber unterstützt der FGLRX-Treiber von AMD für Radeon-Grafikkarten nicht die EGL-Schnittstelle. Daher werden verschiedene GNOME-Anwendungen, inklusive der Kernanwendung des GNOME-Desktops, erst gar nicht starten, wenn dieser Treiber verwendet wird.

Es wird empfohlen, dass Sie stattdessen den freien radeon-Treiber verwenden, welcher in Jessie der Standardtreiber ist.

5.12. Änderungen bei den Standard-Tastaturkürzeln in GNOME

Die standardmäßigen Tastaturkürzel des GNOME-Desktops wurden geändert, um sie mehr denen einiger anderer Betriebssysteme anzupassen.

Tastaturkürzel, die vorher durch den Benutzer angepasst worden sind, werden auch über das Upgrade hinaus erhalten bleiben. Die Einstellungen für die Tastaturkürzel können nach wie vor über das GNOME Controlcenter eingerichtet werden, erreichbar über das Menü oben rechts, indem Sie auf das "Einstellungen"-Icon klicken.

5.13. Änderung der Standard-Shell von Systembenutzern durch base-passwd

Die Aktualisierung des base-passwd-Pakets setzt die Standard-Shell einiger Systembenutzer auf die »nologin«-Shell zurück. Dies betrifft folgende Benutzer:

  • daemon

  • bin

  • sys

  • sync

  • games

  • man

  • lp

  • mail

  • news

  • uucp

  • proxy

  • www-data

  • backup

  • list

  • irc

  • gnats

  • nobody

Falls Ihr System-Setup es erfordert, dass irgendeiner dieser Benutzer eine Shell bekommt, sollten Sie die Migration nicht durchführen, oder Sie führen sie durch und ändern die Shell des betreffenden Benutzers im Nachhinein. Beispiele dafür könnten lokale Backups sein, die durch den »backup«-Benutzer durchgeführt werden und eine »ssh-key«-Authentifizierung erfordern.

[Achtung]Achtung

Wenn die Debconf-Priorität auf »high« oder höher eingestellt ist, wird die Migration automatisch durchgeführt.

Möchten Sie die Shell eines bestimmten Benutzers unverändert lassen, können die Werte für die Fragen wie folgt per Voreinstellung gesetzt werden:

echo 'base-passwd base-passwd/system/username/shell/current-shell-mangled/_usr_sbin_nologin boolean false' | debconf-set-selections

Dabei ist username der Name des entsprechenden Benutzers und current-shell-mangled der bereinigte Name der Shell. Beim Bereinigen werden alle Zeichen außer alphanumerische Zeichen, Bindestriche und Unterstriche durch Unterstriche ersetzt, d.h. /bin/bash wird zu _bin_bash.

5.14. Migration auf das neue KDE E-Mail-, Kalender- und Kontakteprogramm (Kontact)

Das Personal-Information-Management-System Kontact hat ein großes Upgrade erhalten. Die neue Version nutzt Metadaten-Indexierung und alle Nutzerdaten müssen auf diesen neuen Index migriert werden.

E-Mails, Kalender- und Adressbucheinträge werden automatisch migriert, wenn der Benutzer sich anmeldet und die entsprechende Komponente gestartet wird. Einige erweiterte Einstellungen wie E-Mail-Filter und eigene Vorlagen erfordern jedoch manuelles Eingreifen. Weitere Details und Empfehlungen im Falle von Problemen sind auf einer Seite im Debian Wiki zusammengefasst.

5.15. Fehlende virtuelle Konsolen (»gettys«) bei mehreren Desktop-Umgebungen

[Anmerkung]Anmerkung

Dieser Fehlerbericht wurde als »behoben in Jessie« markiert. Sollten Sie dieses Problem immer noch reproduzieren können, melden Sie dies bitte an den Debian-Fehlerbericht #766462. Beachten Sie, dass Sie den Fehlerbericht dazu eventuell erst dearchivieren müssen (lesen Sie dazu die Dokumentation zum Debian-BTS-Controlserver).

Wenn Sie mehrere Desktop-Umgebungen zeitgleich installiert haben, könnten Sie feststellen, dass keine der »virtuellen Konsolen« einen Login-Prompt anzeigen.

Dieses Problem tritt scheinbar auf, wenn plymouth, systemd und GNOME gleichzeitig installiert sind. Es wurde als Fehler #766462 an die Debian-Fehlerdatenbank berichtet.

Berichten zufolge ist es eventuell möglich das Problem zu umgehen, indem das Argument »splash« von der Kernel-Befehlszeile entfernt wird. Schauen Sie dazu in die Datei /etc/default/grub und denken Sie daran, nach etwaigen Änderungen update-grub auszuführen.

5.16. »VGA signal out of range« / leerer Bildschirm beim Booten mit grub-pc

Es gibt ein Kompatibilitätsproblem in grub-pc mit älteren Grafikkarten (z.B. »ATI Rage 128 Pro Ultra TR«), was dazu führen kann, dass während des Bootens ein leerer Bildschirm angezeigt wird. Der Monitor könnte Meldungen wie »VGA signal out of range« oder ähnlich anzeigen.

Eine einfache Möglichkeit, dies zu umgehen, ist GRUB_TERMINAL=console in /etc/default/grub zu setzen.

5.17. Strengere Kontrolle von cron-Dateien durch crontab

Das crontab-Programm hat jetzt strengere Anforderungen und könnte das Speichern einer geänderten cron-Datei ablehnen, wenn diese ein ungültiges Format hat. Sollten Sie Probleme mit crontab -e feststellen, kontrollieren Sie bitte Ihre crontab auf mögliche Fehler.

5.18. Änderung bei der Handhabung von nicht lesbaren Modulpfaden durch perl

Seit Version 5.18 (und 5.20, welche in Jessie enthalten ist) wird Perl mit einem schwerwiegenden Fehler abbrechen, wenn es nicht lesbare Pfade für Module in @INC erkennt. Das frühere Verhalten war, solche Einträge zu überspringen. Es wird empfohlen, den Inhalt von @INC in Ihren Umgebungsvariablen auf Verzeichnisse zu kontrollieren, die nicht für alle lesbar sind, und entsprechende Maßnahmen zu ergreifen.

Sie können den Perl-Standardwert für @INC setzen, indem Sie perl -V ausführen.

5.19. Relevante Gesichtspunkte für ein Upgrade von Ganeti-Clustern

5.19.1. Problem beim Upgrade von Ganeti-Clustern mit DRBD-gesicherten Instanzen [behoben in 8.1]

[Anmerkung]Anmerkung

Dieses Problem wurde in der Jessie-Zwischenveröffentlichung 8.1 behoben.

Die in Jessie enthaltene Version von ganeti (2.12.0-3) unterstützt keine Migrationen von Installationen mit Verion 2.5 oder früher (inklusive Wheezy), wenn dabei Instanzen mit DRBD-Platten existieren. Wir hoffen, dass dieses Problem in einer Zwischen-Veröffentlichung behoben wird und empfehlen, dass Sie in der Zwischenzeit keine betroffenen Ganeti-Cluster aktualisieren. Weitere Informationen hierzu finden Sie im Debian-Fehlerbericht #783186.

5.19.2. Grundsätzliche Hinweise zum Upgrade von Ganeti-Clustern

Das empfohlene Prozedere für das Upgrade eines Ganeti-Clusters von Wheezys Version (2.5.2-1) auf die Version in Jessie (2.12.0-3) ist, alle Instanzen zu stoppen, und dann alle Nodes in einem Zug zu aktualisieren und neu zu starten. So ist sichergestellt, dass alle Instanzen mit der Hypervisor-Version aus Jessie laufen und dass auf allen Nodes die gleiche Ganeti- und DRBD-Version läuft.

Beachten Sie, dass der gemischte Betrieb eines Clusters mit 2.5- und 2.12-Nodes nicht unterstützt wird. Beachten Sie außerdem, dass - abhängig vom Hypervisor - Live-Migrationen von Instanzen zwischen Wheezy- und Jessie-Hypervisor-Versionen fehlschlagen könnten.

5.20. Neue Voraussetzungen für Dateiausführung in Samba4

Wenn ein Client die Anforderung stellt, dass eine Datei zur Ausführung geöffnet werden soll ("open for execution"), erfordert Samba4, dass zusätzlich zu der normalen Leseberechtigung das Ausführbar-Bit ("executable bit") der Datei gesetzt ist. Das führt auch dazu, dass "netlogon"-Skripte ohne jegliche Meldung ignoriert werden, wenn diesen das Ausführbar-Bit fehlt.

5.21. Cryptsetup kann das Booten mit BUSYBOX=n stören

[Anmerkung]Anmerkung

Dieser Abschnitt betrifft nur Leute, die ihre /etc/initramfs-tools/initramfs.conf-Datei händisch verändert haben, so dass busybox nicht verwendet wird.

Wenn Sie busybox und cryptsetup installiert haben und initramfs so konfiguriert ist, dass busybox nicht genutzt wird, könnte dies zu einem nicht mehr boot-fähigen System führen.

Bitte prüfen Sie Ihre busybox-Einstellungen in /etc/initramfs-tools/initramfs.conf, wenn Sie diese beiden Pakete installiert haben. Möglichkeiten, dies Problem zu umgehen, sind derzeit die Deinstallation von busybox oder das Setzen von BUSYBOX=y in /etc/initramfs-tools/initramfs.conf.

[Warnung]Warnung

Falls Sie irgendwas ändern müssen, denken Sie bitte daran, update-initramfs -u auszuführen, um das initramfs zu aktualisieren. Andernfalls könnten Sie trotzdem ein System haben, das nicht bootet.

Weitere Informationen finden Sie im Fehlerbericht Debian Bug#783297.

5.22. Nicht rückwärts kompatible Änderungen im Squid-Webproxy

[Anmerkung]Anmerkung

Dieser Abschnitt betrifft nur Systeme, auf denen der Squid-Webproxy installiert ist.

Die Konfiguration von Squid wurde geändert und ist nicht mehr rückwärtskompatibel. Zum Beispiel wurden die Namen einiger Squid-Hilfsprogramme verändert. Falls Ihre Konfiguration auf alten Funktionalitäten aufbaut, die nicht mehr existieren, oder auf den alten Namen der Hilfsprogramme, könnte der Start des Squid-Dienstes nach dem Upgrade fehlschlagen.

Lesen Sie bitte die Release Notes der Upstream-Autoren, wenn Sie weitere Informationen benötigen: