Když děláte apt-get upgrade
Občas se mi zobrazí zpráva „Následující balíčky byly uchovány zpět“. Například:
$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-headers-server linux-image-server linux-server
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Co to přesně znamená? Balíčky byly samozřejmě zadrženy a nebyly nainstalovány, ale proč?
Následující otázka by zněla: jak upgradovat tyto udržované zpětné balíčky?
Pokud by upgrade vyžadoval odstranění jiného balíčku nebo instalaci nového balíčku, balíček bude „ponechán zpět“. Jak manuálová stránka pro aktualizaci apt-get vysvětluje:
Aktuálně nainstalované balíčky s novými dostupnými verzemi jsou stahovány a upgradovány; za žádných okolností nejsou aktuálně nainstalované balíčky odstraněny nebo balíčky, které ještě nejsou nainstalovány, jsou načteny a nainstalovány.
Chcete-li se přes to, můžete
Sudo apt-get --with-new-pkgs upgrade
To umožňuje instalaci nových balíčků. Dá vám vědět, jaké balíčky by byly nainstalovány, a vyzve vás, než skutečně provedete instalaci.
Základní zpráva je, že apt-get upgrade
neaktualizuje balíčky, pro které by správce balíčků chtěl balíček odstranit a znovu nainstalovat. To se děje v bezpečnostních záplatách hodně, protože často to byly vlastně knihovny předchůdce finální distribuovatelné kompilace, které byly opraveny. Funkce „pokračovat a smazat věci“ žije v apt-get dist-upgrade
ale nezapomeňte spustit apt-get update
nejprve jen v případě, že proti proudu kluci přišli na něco, co jste se naposledy pokusili. Někdy věci postrádají a rychle je opraví.
Zkuste apt-get dist-upgrade
. Ze stránky man:
dist-upgrade
dist-upgrade
Kromě výkonu funkceupgrade
také inteligentně zpracovává měnící se závislosti s novými verzemi balíčků;apt-get
Má „chytrý“ systém řešení konfliktů a v případě potřeby se pokusí upgradovat nejdůležitější balíčky na úkor méně důležitých balíčků. Příkazdist-upgrade
Tedy může odebrat některé balíčky. Soubor/etc/apt/sources.list
Obsahuje seznam umístění, ze kterých lze načíst požadované soubory balíčku. Viz takéapt_preferences(5)
pro mechanismus pro potlačení obecných nastavení pro jednotlivé balíčky.
Zatímco tento příkaz je slouží k upgradu na novou hlavní verzi operačního systému, ve výchozím nastavení to dělá ne. Soubor /etc/apt/sources.list
Musí být změněn na novou verzi a pak a je použit dist-upgrade
.
Jen to udělej
Sudo apt-get install linux-headers-server linux-image-server linux-server
upgradovat pozastavené balíčky.
Poté spusťte apt-get upgrade
a budete v pořádku.
zpráva označuje potenciálně nebezpečný stav
pokud jste si jisti, že chcete, aby k této změně došlo, můžete jen
Sudo apt-get install xxxxx
kde xxxx je držený balíček (balíčky) ... obvykle se to stane, když systém ví, že provedením této instalace bude muset odinstalovat další balíčky ... například
Sudo apt-get --with-new-pkgs upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
libc6 libc6-dbg
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
nicméně jsem v pořádku, když budu pokračovat a dělám aktualizace těch držených balíčků, takže budu běžet
Sudo apt-get install libc6 libc6-dbg
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libx11-xcb1:i386
Use 'Sudo apt autoremove' to remove it.
Suggested packages:
glibc-doc
The following packages will be REMOVED:
libatomic1:i386 libbsd0:i386 libc6:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386
libexpat1:i386 libffi6:i386 libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libidn2-0:i386 libllvm9:i386
libnvidia-compute-430:i386 libnvidia-decode-430:i386 libnvidia-encode-430:i386 libnvidia-fbc1-430:i386 libnvidia-gl-430:i386 libnvidia-ifr1-430:i386 libpciaccess0:i386
libsensors5:i386 libstdc++6:i386 libtinfo6:i386 libunistring2:i386 libx11-6:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386
The following packages will be upgraded:
libc6 libc6-dbg
2 upgraded, 0 newly installed, 47 to remove and 0 not upgraded.
Need to get 8,459 kB of archives.
After this operation, 525 MB disk space will be freed.
Do you want to continue? [Y/n]
protože provedením nějakého výzkumu jsem v pořádku, dělám tento upgrade, říkám Y výše Výzva ... nyní byly nainstalovány tyto držené balíčky a cena byla eliminace nepotřebných doplňkových 32bitových balíčků ... samozřejmě budete mít jinou sadu balíčků způsobujících toto The following packages have been kept back
nebo podobná zpráva