V otázce Co je „dist-upgrade“ a proč upgraduje více než „upgrade“? přijatá odpověď vysvětluje, že linux-headers-3.0.0-13
je nový balíček nahrazující linux-headers-3.0.0-12
.
Jak je to nový balíček a ne jen nová verze a jak poznat (rozpoznat) rozdíl?
Dále, proč je linux-headers-3.0.0-13
uvedené ve výstupu příkazu sudo apt-get upgrade
pokud se jedná o nový balíček a ne o novou verzi již nainstalovaného balíčku?
Odpověď naznačuje argument, že je to proto, že linux-headers-3.0.0-12
a linux-headers-3.0.0-13
jsou připojeni k stejný virtuální balíček („linux-headers
je virtuální balíček, který poskytují oba linux-headers-3.0.0-12
a linux-headers-3.0.0-13
“). Je to z tohoto důvodu linux-headers-3.0.0-13
je uvedena? A pokud ano, proč nevidíme další balíčky poskytované jinými virtuálními balíčky jako upgrady?
EDIT:
Ačkoli se výše uvedený příklad týká balíčků jádra, moje otázka není zaměřena na jádro, ale je obecnější; nebo je to relevantní pouze pro jádro?
Přijatá odpověď:
Důvod metabalíčků jádra jako linux-image-generic
a linux-headers-generic
poukazování na skutečné balíčky jádra je umožnit mít více než jednu instanci jádra.
Můžete mít linux-headers-3.0.0-13-generic
a linux-headers-3.0.0-12-generic
nainstalováno ve stejnou dobu.
Když upgradujete meta linux-headers-generic
, vytáhne nejnovější skutečný balíček jako závislost. Pokud bychom měli tyto balíčky jádra jako jeden s různými verzemi, byly by vždy nahrazeny.
apt-get upgrade
neinstaluje nové balíčky
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
To je důvod, proč neaktualizuje meta balíčky, které jsou závislé na nových balíčcích.
Související:Trvalé zvyšování limitů nofile v Ubuntu 14.04 LTS?Nesouvisí s jádrem. Existuje několik dalších příkladů.