Můj spouštěcí oddíl je na SSD, takže tam není místo pro více než 8 nainstalovaných verzí jádra a nakonec se některá aktualizace jádra nenainstaluje, protože můj spouštěcí oddíl je plný starých verzí. Existuje mnoho otázek o tom, jak odstranit staré verze (dokonce i jak tento proces zautomatizovat), ale moje otázka je jednoduše tato:Proč apt-get autoremove
automaticky je detekovat a odstranit a existuje způsob, jak to mohu provést ? Myslím, apt-get
je to, co je stejně nainstalovalo, takže o nich ví, tak proč se rozhodl nechat všechny staré verze?
Nejlepší odpověď
Odpověď proč najdete v souboru /etc/apt/apt.conf.d/01autoremove-kernels
Jak můžete vidět, aptu je řečeno, aby nikdy automaticky neodstraňoval jádra , jak říká jiný soubor (script), /etc/kernel/postinst.d/apt-auto-removal
. A tady to je:
Pokud ručně nainstalujete 2 vybraná jádra, tj. první a aktuální, apt-autoremove vždy odstraní pouze starší verze, které jste ručně nenainstalovali, takže budete mít vždy tyto 2 možnosti plus ať už je ta nejnovější.
Aktualizace:
V /etc/kernel/postinst.d/apt-auto-removal
je tu tato část:
if [ "$latest_version" != "$installed_version" ]
|| [ "$latest_version" != "$running_version" ]
|| [ "$installed_version" != "$running_version" ]
then
# We have at least two kernels that we have reason to think the
# user wants, so don't save the second-newest version.
previous_version=
fi
Pokud tedy porovnáte výstup 01autoremove-kernels
soubor a uname -r
uvědomíte si, že aktuálně běžící jádro a nejnovější před ním jsou udržovány tak, aby je tento skript nikdy neodstranil. Ukázalo se, že existuje další soubor /etc/apt/apt.conf.d/01autoremove
, kde jsou řádky:
APT
{
NeverAutoRemove
{
"^firmware-linux.*";
"^linux-firmware$";
};
VersionedKernelPackages
{
# linux kernels
"linux-image";
"linux-headers";
"linux-image-extra";
"linux-signed-image";
# kfreebsd kernels
"kfreebsd-image";
"kfreebsd-headers";
# hurd kernels
"gnumach-image";
# (out-of-tree) modules
".*-modules";
".*-kernel";
"linux-backports-modules-.*";
# tools
"linux-tools";
};
Můžete je tedy okomentovat a umožní vám to automaticky odstranit jádra pomocí apt-autoremove
, ale pamatujte – to děláte na vlastní nebezpečí