In der Frage Was ist „dist-upgrade“ und warum aktualisiert es mehr als „upgrade“? Die akzeptierte Antwort erklärt, dass linux-headers-3.0.0-13
ist ein neues Paket, das linux-headers-3.0.0-12
ersetzt .
Wie ist es ein neues Paket und nicht einfach eine neue Version, und wie erkennt man den Unterschied?
Warum ist außerdem linux-headers-3.0.0-13
in der Ausgabe des Befehls sudo apt-get upgrade
aufgelistet ob es sich um ein neues Paket handelt und nicht um eine neue Version eines bereits installierten Pakets?
Die Antwort weist auf das Argument hin, dass dies daran liegt, dass linux-headers-3.0.0-12
und linux-headers-3.0.0-13
sind verbunden mit dasselbe virtuelle Paket („linux-headers
ist ein virtuelles Paket, das von beiden linux-headers-3.0.0-12
bereitgestellt wird und linux-headers-3.0.0-13
“). Ist aus diesem Grund linux-headers-3.0.0-13
ist aufgelistet? Und wenn ja, warum werden andere Pakete, die von anderen virtuellen Paketen bereitgestellt werden, nicht als Upgrades vorgeschlagen?
BEARBEITEN:
Obwohl das obige Beispiel Kernelpakete betrifft, ist meine Frage nicht Kernel-orientiert, sondern allgemeiner; oder ist es nur für den Kernel relevant?
Akzeptierte Antwort:
Der Grund für Kernel-Metapakete wie linux-image-generic
und linux-headers-generic
auf echte Kernel-Pakete zu zeigen bedeutet, mehr als eine Instanz eines Kernels zu haben.
Sie können linux-headers-3.0.0-13-generic
haben und linux-headers-3.0.0-12-generic
gleichzeitig installiert.
Wenn Sie meta linux-headers-generic
aktualisieren , zieht es das neueste reale Paket als Abhängigkeit. Hätten wir diese Kernelpakete als eines mit unterschiedlichen Versionen, würde es immer ersetzt werden.
apt-get upgrade
installiert keine neuen Pakete
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.
Aus diesem Grund aktualisiert es keine Metapakete, die von neuen Paketen abhängig sind.
Verwandte:Nofile-Limits in Ubuntu 14.04 LTS dauerhaft erhöhen?Es ist nicht Kernel-bezogen. Es gibt einige andere Beispiele.