Por que o / usr / lib / update-notifier / apt-check não concorda com o apt-get upgrade?

5

Eu tenho uma instalação atualizada do Ubuntu (13.10).

Quando executo /usr/lib/update-notifier/apt-check , ele retorna 7:0 , ou seja, 7 atualizações disponíveis, nenhuma delas é de segurança.

No entanto, quando tento atualizar, obtenho o seguinte:

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.

Alguém pode explicar por que e como obter o apt-check para retornar os valores corretos? Se o apt-check tivesse retornado 3:0 , então isso pareceria fazer sentido, mas de onde vieram os 7?

Btw, o apt-check é instalado com sudo apt-get install update-notifier .

    
por Luke Cousins 01.04.2014 / 14:25

1 resposta

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

é, na verdade, equivalente às estatísticas retornadas por

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

e não

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

Por exemplo

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

retorna

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

enquanto

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

retorna

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

Na verdade, 18 + 4 , que equivale a 22 .

Do manual do apt-get:

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.

fonte

    
por Stormvirux 01.04.2014 / 15:01