Mythen VI: Linux braucht kein Neustart nach Updates

  1. Mythen I: Desktopumgebungen
  2. Mythen II: Entwicklung bei den Desktopumgebungen
  3. Mythen III: Um deinen Akku zu schonen musst du…
  4. Mythen IV: E-Mail Programme werden nicht mehr genutzt
  5. Mythen V: KDE benötigt viele Ressourcen
  6. Mythen VI: Linux braucht kein Neustart nach Updates

Windows und macOS verbinden Updates nahezu immer mit einem erzwungenen Neustart. Linux-Enthusiasten verweisen darauf immer mit viel Häme in den entsprechenden Diskussionskanälen und behaupten, Linux benötige das nicht. Wirklich nicht?

Rund um Linux haben sich im Laufe der Jahre viele Mythen und Halbwahrheiten angesammelt. Liebevoll weitergetragen von einer Fangemeinde und selten hinterfragt. Eines davon ist: Linux braucht keine Neustarts.

Das war bezogen auf den Kernel natürlich schon immer Quatsch. Sammelthemen in Foren, in denen sich Administratoren mit der Laufzeit ihrer Systeme brüsteten, sind somit eher Hitlisten der Inkompetenz. Zwar gibt es im Enterprise-Segment inzwischen Werkzeuge, um den Kernel mittels sogenanntem Live Patching ohne Neustart zu patchen, aber das sind keine Lösungen für Privatanwender oder kleine Firmen.

Das Problem besteht aber auch außerhalb des Kernels. OpenSUSE bietet für seine Paketverwaltung zypper einen schönen Befehl, der zeigt, welche Prozesse neu gestartet werden sollten, da diese auf veralteten Dateien basieren.

# zypper ps -s 

Heute morgen gab es unter anderem ein Update von glibc. Die Ausgabe sieht wie folgt aus:

Die folgenden aktiven Prozesse verwenden gelöschte Dateien:

PID   | PPID | UID  | User     | Command                           | Service
------+------+------+----------+-----------------------------------+-----------------
1241  | 1    | 0    | root     | irqbalance                        | irqbalance
1247  | 1    | 472  | polkitd  | polkitd                           | polkit
1333  | 1    | 0    | root     | ModemManager                      | ModemManager
1334  | 1    | 0    | root     | python3.8                         | firewalld
1466  | 1    | 0    | root     | NetworkManager                    | NetworkManager
1700  | 1    | 0    | root     | iio-sensor-proxy                  | iio-sensor-proxy
1709  | 1    | 0    | root     | sddm                              | display-manager
1710  | 1    | 0    | root     | boltd                             | bolt
1756  | 1709 | 0    | root     | Xorg.bin                          | display-manager
1850  | 1    | 0    | root     | bluetoothd                        | bluetooth
2347  | 1709 | 0    | root     | sddm-helper                       | 
2356  | 2347 | 1000 | gerrit   | startplasma-wayland               | 
2378  | 2377 | 1000 | gerrit   | kwin_wayland                      | 
2400  | 1    | 1000 | gerrit   | startplasma-waylandsession        | 
2423  | 1    | 1000 | gerrit   | kdeinit5                          | 
2425  | 2423 | 1000 | gerrit   | klauncher                         | 
2434  | 1    | 1000 | gerrit   | kded5                             | 
2437  | 1    | 1000 | gerrit   | ksmserver                         | 
2445  | 1    | 1000 | gerrit   | polkit-kde-authentication-agent-1 | 
2447  | 1    | 1000 | gerrit   | org_kde_powerdevil                | 
2449  | 1    | 1000 | gerrit   | xembedsniproxy                    | 
2451  | 1    | 1000 | gerrit   | baloo_file                        | 
2453  | 1    | 1000 | gerrit   | kaccess                           | 
2455  | 1    | 1000 | gerrit   | plasmashell                       | 
2462  | 1    | 0    | root     | udisksd                           | udisks2
2463  | 2349 | 1000 | gerrit   | kactivitymanagerd                 | 
2465  | 2349 | 1000 | gerrit   | dconf-service                     | 
2470  | 1    | 1000 | gerrit   | kdeconnectd                       | 
2474  | 1    | 1000 | gerrit   | gmenudbusmenuproxy                | 
2491  | 1    | 1000 | gerrit   | yakuake                           | 
2503  | 1    | 1000 | gerrit   | korgac                            | 
2506  | 1    | 0    | root     | upowerd                           | upower
2621  | 1    | 1000 | gerrit   | akonadi_control                   | 
2636  | 2621 | 1000 | gerrit   | akonadiserver                     | 
2648  | 2349 | 1000 | gerrit   | obexd                             | 
2651  | 2349 | 1000 | gerrit   | kwalletd5                         | 
2685  | 2621 | 1000 | gerrit   | akonadi_archivemail_agent         | 
2686  | 2621 | 1000 | gerrit   | akonadi_birthdays_resource        | 
2687  | 2621 | 1000 | gerrit   | akonadi_davgroupware_resource     | 
2688  | 2621 | 1000 | gerrit   | akonadi_followupreminder_agent    | 
2689  | 2621 | 1000 | gerrit   | akonadi_imap_resource             | 
2690  | 2621 | 1000 | gerrit   | akonadi_imap_resource             | 
2691  | 2621 | 1000 | gerrit   | akonadi_imap_resource             | 
2692  | 2621 | 1000 | gerrit   | akonadi_indexing_agent            | 
2693  | 2621 | 1000 | gerrit   | akonadi_maildir_resource          | 
2694  | 2621 | 1000 | gerrit   | akonadi_maildispatcher_agent      | 
2695  | 2621 | 1000 | gerrit   | akonadi_mailfilter_agent          | 
2696  | 2621 | 1000 | gerrit   | akonadi_mailmerge_agent           | 
2697  | 2621 | 1000 | gerrit   | akonadi_migration_agent           | 
2698  | 2621 | 1000 | gerrit   | akonadi_newmailnotifier_agent     | 
2699  | 2621 | 1000 | gerrit   | akonadi_sendlater_agent           | 
2702  | 2621 | 1000 | gerrit   | akonadi_unifiedmailbox_agent      | 
2964  | 2349 | 1000 | gerrit   | kiod5                             | 
3175  | 1    | 1000 | gerrit   | cloud-drive-ui                    | 
3180  | 2455 | 1000 | gerrit   | kmail                             | 
3195  | 2455 | 1000 | gerrit   | akregator                         | 
3222  | 3180 | 1000 | gerrit   | QtWebEngineProcess                | 
3223  | 3180 | 1000 | gerrit   | QtWebEngineProcess                | 
3225  | 3223 | 1000 | gerrit   | QtWebEngineProcess                | 
3245  | 3195 | 1000 | gerrit   | QtWebEngineProcess                | 
3246  | 3195 | 1000 | gerrit   | QtWebEngineProcess                | 
3248  | 3246 | 1000 | gerrit   | QtWebEngineProcess                | 
3287  | 3180 | 1000 | gerrit   | QtWebEngineProcess                | 
3288  | 3225 | 1000 | gerrit   | QtWebEngineProcess                | 
3343  | 3195 | 1000 | gerrit   | QtWebEngineProcess                | 
3347  | 3248 | 1000 | gerrit   | QtWebEngineProcess                | 
3412  | 1    | 1000 | gerrit   | kio_http_cache_cleaner            | 
3506  | 2423 | 1000 | gerrit   | kdeinit5                          | 
3507  | 2423 | 1000 | gerrit   | kdeinit5                          | 
3537  | 3195 | 1000 | gerrit   | QtWebEngineProcess                | 
3634  | 2349 | 1000 | gerrit   | baloorunner                       | 
3825  | 2349 | 1000 | gerrit   | at-spi-bus-launcher               | 
4263  | 2455 | 1000 | gerrit   | keepassxc                         | 
4645  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4646  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4648  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4651  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4653  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4655  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4674  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4684  | 2423 | 1000 | gerrit   | kdeinit5                          | 
4844  | 2455 | 1000 | gerrit   | firefox                           | 
4943  | 4844 | 1000 | gerrit   | firefox                           | 
5003  | 4844 | 1000 | gerrit   | firefox                           | 
5070  | 4844 | 1000 | gerrit   | kmozillahelper                    | 
5095  | 4844 | 1000 | gerrit   | plasma-browser-integration-host   | 
5096  | 4844 | 1000 | gerrit   | keepassxc-proxy                   | 
5099  | 4844 | 1000 | gerrit   | firefox                           | 
5153  | 4844 | 1000 | gerrit   | firefox                           | 
32464 | 2423 | 1000 | gerrit   | kdeinit5                          | 
32470 | 2423 | 1000 | gerrit   | kdeinit5                          | 

Diese Prozesse sollten neu gestartet werden.
Informationen über die Bedeutung der Werte in der obigen Tabelle finden Sie unter 'man zypper'.

Keine Core-Bibliotheken oder Dienste wurden aktualisiert.
Ein Neustart ist wahrscheinlich nicht notwendig.

Der Befehl sagt natürlich selbst, dass ein Neustart nicht zwingend ist, aber die Liste umfasst meinen kompletten Desktop plus noch ein bisschen mehr. Ich müsste mich also mindestens einmal abmelden und wieder anmelden, um den Displayserver neu zu starten. Bei einem halbwegs modernen System mit SSD ist ein kompletter Neustart vermutlich sogar schneller.

In vielen Fällen führen fehlende Neustarts auch zu Fehlern. Gerade bei Versionssprüngen von Desktopumgebungen. Die Supportforen sind voll von Leuten, die ihre Probleme mit einem simplen Neustart lösen konnten.

Es ist deshalb nachvollziehbar, dass GNOME seit längerem versucht Updates mit einem Neustart zu verbinden.

Linux folgt damit auf dem Desktop endlich Windows und macOS. Weil es sinnvoller ist und viele Probleme vermeidet. Wer glaubt das selbst entscheiden zu können, kann es natürlich wie immer abschalten – es ist ja Linux.

Linux braucht keine Neustarts? Doch brauchen schon, es erzwingt sie nur nicht.

2 Kommentare

  1. Die eigentliche Ursache der Unbeliebtheit von Neustarts ist, dass man dann manuell die meisten Programme starten, Dateien öffnen und die Fenster sortieren muss, was viel länger als der Neustart dauert. Praktisch war Linux da tatsächlich „überlegen“, da man ja einfach nie mehr neustartete (und viele installierte Programmupdates nicht wirklich angewendet wurden. Bei der Geschwindigkeit von SSDs wäre ein erzwungener (evt. unmittelbarer) Neustart total belanglos, wenn dem Nutzer der Zustand des Desktops (geöffnete Programme, Dateien und Fensterpositionen) und der Zustand der Anwendungen wiederhergestellt würde. Selbst Windows Explorer kann das, Nautilus aber nicht.

    Klar ist das zum Teil Verantwortlichkeit der Programme (IDEs laden üblicherweise ihren Anwendungszustand), aber anstatt eine unzuverlässige Implementierung aus dem Desktop zu entfernen (Gnome 2), hätte man das über FreeDesktop Standards und APIs vereinheitlichen und forcieren können.

Kommentarfunktion ist geschlossen.

Mehr aus dem Blog

Tipp: PDFs bearbeiten mit PDF Mix Tool

Manchmal möchte man aus einem PDF eine Seite entfernen oder nachträglich eine Seite hinzufügen. Für GNOME und GTK-basierte Desktop-Umgebungen gibt es Werkzeuge wie Sand...

Synologys alternde Basis

Synologys DiskStation Manager (DSM) ist eine letztlich eine Linux-Distribution mit einer Mischung aus Open-Source-Software und proprietären Eigenentwicklungen. Diese Basis ist dabei recht konventionell zusammen...

Wofür ich mein Synology NAS nutze

In den letzten Jahren habe ich immer wieder über Synology und die verschiedenen Funktionen des Disk Station Manager (DSM) geschrieben. Aber was davon benutze...

Synology Photos im Praxistest

Seit einigen Jahren besitze ich ein Synology NAS. Es ist ein zentraler Bestandteil meiner Datenschutzstrategie, da man damit ohne großen Aufwand viele Dienste auch...