Warum stimmt / usr / lib / update-notifier / apt-check nicht mit dem Upgrade von apt-get überein?

7

Ich habe eine aktuelle Ubuntu-Installation (13.10).

Wenn ich es ausführe, wird /usr/lib/update-notifier/apt-checkes zurückgegeben 7:0, dh 7 Updates sind verfügbar, keines davon ist sicher.

Wenn ich dann jedoch versuche, ein Upgrade durchzuführen, wird Folgendes angezeigt:

sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Kann jemand erklären, warum und wie man apt-check bekommt, um die richtigen Werte zurückzugeben? Wenn apt-check zurückgekehrt 3:0wäre, hätte das Sinn gemacht, aber woher kamen die 7?

Übrigens wird apt-check mit installiert sudo apt-get install update-notifier.

Luke Cousins
quelle

Antworten:

5
/usr/lib/update-notifier/apt-check 

entspricht tatsächlich den von zurückgegebenen Statistiken

apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"

und nicht

apt-get upgrade|grep "^[[:digit:]]\+ upgraded"

Zum Beispiel

/usr/lib/update-notifier/apt-check --human-readable

kehrt zurück

22 packages can be updated.
0 updates are security updates.

wohingegen

apt-get -s dist-upgrade | grep "^[[:digit:]]\+ upgraded"

kehrt zurück

18 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.

Es ist tatsächlich 18+ 4was beträgt 22.

Aus dem apt-get Handbuch:

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.

   dist-upgrade
       dist-upgrade in addition to performing the function of upgrade,
       also intelligently handles changing dependencies with new versions
       of packages; apt-get has a "smart" conflict resolution system, and
       it will attempt to upgrade the most important packages at the
       expense of less important ones if necessary. So, dist-upgrade
       command may remove some packages. The /etc/apt/sources.list file
       contains a list of locations from which to retrieve desired package
       files. See also apt_preferences(5) for a mechanism for overriding
       the general settings for individual packages.

Quelle

Stormvirux
quelle
1
Danke, das macht durchaus Sinn. Angesichts der Tatsache, dass die neueste LTS-Version in ein paar Wochen herauskommt, werde ich mich bis dahin damit abfinden.
Luke Cousins