HOWKING: Toto je velmi detailní a správné pozorování. Rozdíl mezi aktualizací přes terminál a přes GUI v Debianu (a dalších distribucích) je především v úrovni automatizace a opatrnosti, kterou poskytuje grafický správce softwaru (jako je GNOME Software nebo Balíkovač).
Základní odpověď je: Terminál vám dává plnou kontrolu, zatímco GUI se chová jako automatizovaný nástroj, který se snaží zajistit bezpečnější a komplexnější instalaci aktualizací kritických součástí.
Proč se to liší: Terminál vs. GUI
1. Rozsah spravovaných balíčků
Terminál (apt): Příkazy sudo apt upgrade spravují pouze balíčky spravované systémem APT (většinou ve formátu .deb).
GUI (App Store): Grafický správce softwaru často integruje aktualizace pro více systémů najednou, včetně Snap, Flatpak a samotných balíčků APT. Navíc je navržen tak, aby se choval "uživatelsky přívětivěji" a automatizoval složité kroky.
2. Aktualizace kritických systémových komponent (Kernel a Initrd)
Pokud aktualizujete jádro operačního systému (kernel) nebo hlavní systémové knihovny (jako glibc), jsou tyto soubory často v okamžiku instalace používány systémem.
GUI automatizace (bezpečnější cesta):
GUI (pomocí interních skriptů) ví, že se aktualizuje kritická část (např. nové jádro).
Pro zajištění, že se nové jádro a s ním související soubory správně nainstalují a použijí od samého začátku, spustí fázi mimo běžící GNOME/Wayland prostředí. Tento proces probíhá v minimálním textovém režimu (někdy nazývaný unattended upgrade nebo podobný mechanismus, který běží jako skript před spuštěním plného grafického sezení). Tím se minimalizuje riziko, že by běžící programy držely staré verze souborů.
Dvojitý restart: První restart spustí tento instalační proces v minimalistickém režimu. Druhý restart je nutný k tomu, aby systém skutečně nabootoval do nového jádra a začal používat všechny nově nainstalované komponenty od čistého startu.
Terminál (sudo apt upgrade):
Příkaz apt upgrade nainstaluje nové soubory jádra, ale nedomůže se automatického restartu (až na výjimky).
Aktuálně běžící jádro zůstává staré a systém pokračuje v běhu.
Proč to funguje? Systém Linux umožňuje instalovat nová jádra a systémové knihovny za chodu. Nové jádro se jednoduše přidá do zavaděče (GRUB), a k jeho aktivaci dojde až při nejbližším restartu. apt se spoléhá na to, že uživatel (profesionál) si je vědom, že pro aktivaci jádra je nutný restart. Pokud restart neprovedete, systém běží dál bez problémů, ale s neošetřenými bezpečnostními chybami v jádře nebo se starými verzemi kritických knihoven používaných běžícími procesy (viz níže).
3. Kontrola nutnosti restartu
Terminálové prostředí v Linuxu má nástroje, které vám řeknou, zda je restart nutný, ale nevykonají ho automaticky:
Indikátor restartu: Po aktualizaci kritických balíčků se obvykle vytvoří soubor /var/run/reboot-required.
Nástroj needrestart: Můžete použít nástroj jako sudo needrestart, který kontroluje, které spuštěné programy stále používají smazané nebo zastaralé knihovny (např. po aktualizaci glibc), a může vás vyzvat k restartu nebo nabídnout restart dotčených služeb. GUI to dělá automaticky.
Shrnutí: Funkčnost vs. Bezpečnost
Obě cesty fungují, ale z různých důvodů: