web-dev-qa-db-fra.com

Est-ce que Sudo apt list --upgradeable affiche les mises à jour du noyau?

Je me demandais si

Sudo apt list --upgradeable 

affiche les mises à jour du noyau dans la liste ou non?

7
Mazal

Oui. Après avoir exécuté Sudo apt-get update, s'il y a une mise à jour du noyau, alors apt list --upgradeable devrait afficher des packages tels que linux-headers-4.4.0-something et linux-image-4.4.0-something.

6
Thanos Apostolou

En fait, je ne vois pas les paquets du noyau via apt list --upgradable. Comparer:

apt list --upgradable | wc -l
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
141

Contre:

apt --recon upgrade | grep ^Inst | wc -l
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
145

Et cette dernière valeur correspond au résultat de la mise à niveau lorsque je consulte le journal /var/log/apt/history et que je calcule les valeurs pour les lignes Install: et Upgrade:. Les paquetages du noyau sont placés dans la rangée Install:.

1
pbojczuk

Seuls les noyaux mis à jour méta-paquets sont généralement affichés dans le résultat de apt list --upgradeable.

Presque toutes les mises à jour du noyau sont fournies sous forme de nouveaux packages, plutôt que de nouvelles versions de packages existants. Vous pouvez donc conserver vos anciens noyaux pendant un certain temps au cas où la mise à jour casse quelque chose et que vous devez démarrer le système avec un noyau plus ancien. Ce sont les paquets qui ont des numéros de version dans leurs noms, comme linux-image-4.15.0-60-generic.

Pour que vous puissiez recevoir de telles mises à jour de paquetages, il existe des métapaquets de noyau qui servent uniquement à déclarer les paquets qui fournissent le noyau en tant que dépendances. Lorsque de nouveaux packages de noyau sont publiés, les métapaquets sont eux-mêmes mis à jour pour en dépendre.

Ces métapaquets apparaissent comme pouvant être mis à niveau dans la sortie de apt list --upgradeable, ce qui est correct car vous les avez déjà installés et une nouvelle version est disponible. Les nouveaux packages ne sont pas répertoriés , car vous ne les avez pas encore. Comme observé par pbojczuk , ces paquets ne seront pas mis à jour , ils vont l'être installé .

Il est possible que ces paquets apparaissent dans le résultat de apt list --upgradeable, mais ils sont rares. Cela pourrait se produire si une mise à jour était publiée pour résoudre un problème qui ne change pas le noyau lui-même. Par exemple, s'il existait un bogue dans les scripts d'installation ou de suppression d'un paquet contenant des fichiers du noyau, le correctif de ce bogue serait probablement fourni comme une mise à jour de ce paquet, et non en tant que paquet noyau séparé avec une version dans le nom.


Vous pouvez voir ce qui sera réellement fait en exécutant apt -s upgrade.

Après avoir exécuté Sudo apt update pour extraire des informations sur les packages disponibles à partir de quelle version et de quelle version, l'exécution de apt list --upgradeable répertorie les métapaquets mais pas les packages qui fournissent le nouveau noyau et les fichiers associés:

ek@Kip:~$ apt list --upgradeable
Listing... Done
linux-generic/bionic-proposed 4.15.0.60.62 i386 [upgradable from: 4.15.0.59.61]
linux-headers-generic/bionic-proposed 4.15.0.60.62 i386 [upgradable from: 4.15.0.59.61]
linux-image-generic/bionic-proposed 4.15.0.60.62 i386 [upgradable from: 4.15.0.59.61]
linux-libc-dev/bionic-proposed 4.15.0-60.67 i386 [upgradable from: 4.15.0-59.66]

Si vous voulez voir tout ce qui serait installé en exécutant Sudo apt upgrade sans l'exécuter, vous pouvez dire à apt d'exécuter une simulation, en utilisant apt -s upgrade:

ek@Kip:~$ apt -s upgrade
NOTE: This is only a simulation!
      apt needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  linux-headers-4.15.0-60 linux-headers-4.15.0-60-generic linux-image-4.15.0-60-generic
  linux-modules-4.15.0-60-generic linux-modules-extra-4.15.0-60-generic
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic linux-libc-dev
4 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Inst linux-modules-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Inst linux-image-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Inst linux-modules-extra-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Inst linux-generic [4.15.0.59.61] (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386]) []
Inst linux-image-generic [4.15.0.59.61] (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386]) []
Inst linux-headers-4.15.0-60 (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [all]) []
Inst linux-headers-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386]) []
Inst linux-headers-generic [4.15.0.59.61] (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386])
Inst linux-libc-dev [4.15.0-59.66] (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-modules-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-image-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-modules-extra-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-generic (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-image-generic (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-headers-4.15.0-60 (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [all])
Conf linux-headers-4.15.0-60-generic (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-headers-generic (4.15.0.60.62 Ubuntu:18.04/bionic-proposed [i386])
Conf linux-libc-dev (4.15.0-60.67 Ubuntu:18.04/bionic-proposed [i386])

Ce n'est pas la seule façon de le faire, mais lorsque vous voulez savoir ce qu'une mise à niveau fera avant de la réaliser, c'est ce que je suggère. La sortie est généralement très facile à comprendre et peut révéler d’autres effets inattendus de la mise à niveau.

La sortie que j’ai montrée provient d’une machine sur laquelle les référentiels -proposed sont activés et où de nouveaux noyaux sont installés. (Notez que ce n'est généralement pas une bonne idée sur les machines de production, car ces noyaux ne sont pas encore complètement testés sur Ubuntu.) Mais vous verrez une sortie similaire avec des paquets de noyau entièrement stables, fournis dans -security ou -updates.

0
Eliah Kagan