Ubuntu 16.04 - les paquets du noyau ont été conservés

18

J'ai couru sudo apt-get upgradeet j'obtiens ceci:

The following packages have been kept back:  
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04  
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

J'ai peur que si je lance sudo apt-get dist-upgradequelque chose pourrait mal tourner et pourrait gâcher mon installation Ubuntu. J'ai vu des questions similaires ici, mais je pense qu'elles sont différentes de mon problème. Que devrais-je faire ?

NikosL24
la source
@Yaron, je ne pense pas que ce soit la même chose.
NikosL24
C'est la même chose. Lisez les réponses.
pzkpfw
Apt n'effectue jamais d'opérations au-delà de celles explicitement demandées sans rétroaction de l'utilisateur; il suffit de répondre à la question par npour "non" (ou l'équivalent de la langue utilisée par Apt). Si vous n'êtes toujours pas sûr de ce qui pourrait se produire pendant une opération Apt, vous pouvez utiliser les options de ligne de commande -s/ --simulate/ --just-print/ --dry-run/ --recon/ --no-actpour voir ce que ferait Apt sans le faire.
David Foerster

Réponses:

6

Bien que le sujet général "les paquets ont été conservés " ait été répondu ici auparavant: il se passe quelque chose d'étrange aujourd'hui ... quand j'ai exécuté il y sudo apt updatea quelques heures, le nouveau noyau 4.8.0-42 a été proposé pour l'installation. J'ai exécuté sudo apt dist-upgradeet après le redémarrage du système (station de travail Ubuntu 16.10), j'exécutais ce nouveau noyau.

Quelques heures plus tard, je voulais mettre à niveau l'installation de mon serveur Ubuntu, mais aucun nouveau noyau n'était proposé. Pour revérifier la situation, j'ai restauré mon image de sauvegarde du système clonezilla d'hier sur le poste de travail Ubuntu pour revérifier la situation. Cette fois, le nouveau noyau n'était plus proposé. Il semble que le noyau 4.8.0-42 a été accidentellement poussé vers le référentiel principal et est en passe d'être renvoyé vers le référentiel proposé - peut-être que Canonical a trouvé un bogue.

Vous avez opté pour la pile HWE d'Ubuntu 16.04, ce qui signifie que vous utilisez le noyau 4.8 d'Ubuntu 16.10. Par conséquent, tout se passe d'abord avec le noyau dans Ubuntu 16.10, une explication possible du retard du processus de rafraîchissement pour les référentiels Ubuntu 16.04 LTS.

Lorsque vous exécutez à nouveau sudo apt updateun peu plus tard, le message que vous avez reçu ne devrait plus apparaître. Conclusion: N'exécutez pas sudo apt dist-upgradeet n'attendez pas jusqu'à ce que les référentiels soient mis à jour et que le message sur les paquets du noyau retenu n'apparaisse plus. Soit dit en passant, exactement la même chose s'est produite avec la version 4.8.0-40 du noyau il y a déjà quelque temps.

cl-netbox
la source
L'index des packages indique 4.8.0-42: packages.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... quel miroir utilisez-vous?
muru
C'est vraiment un vrai problème. J'ai mis à niveau mon système hier en utilisant le processus normal. Aujourd'hui apt-cache policy linux-generic-hwe-16.04montre *** 4.8.0.42.14 100 100 /var/lib/dpkg/status En d'autres termes, il est devenu orphelin.
Marbre organique
@ cl-netbox j'ai fait une mise à jour sudo apt-get maintenant et les paquets ont disparu.
NikosL24
12

Si la mise à niveau d'un package existant nécessite l' installation d'un "nouveau" package (par exemple pas encore installé), alors ce package existant sera alors "conservé".

Selon l' homme apt-get ,upgrade par défaut n'installe pas d'autres packages non encore installés:

améliorer

... en aucun cas, les packages actuellement installés ne sont supprimés ou les packages qui ne sont pas déjà installés sont récupérés et installés.

--with-new-pkgs

Autorisez l'installation de nouveaux packages lorsqu'ils sont utilisés conjointement avec la mise à niveau. Cela est utile si la mise à jour d'un package installé nécessite l'installation de nouvelles dépendances. Au lieu de retenir le package, la mise à niveau mettra à niveau le package et installera les nouvelles dépendances. ...

donc, --with-new-pkgsdoit être ajouté pour permettre l'inclusion des autres packages associés.

sudo apt-get --with-new-pkgs upgrade

--with-new-pkgs permet d'installer les packages "pas encore installés" associés avec une invite interactive Y / n.

De plus, en tant qu'avantage supplémentaire, sudo apt-get --with-new-pkgs upgradecela N'A PAS pour effet secondaire de faire en sorte que les packages soient marqués comme installés manuellement.


Mise à jour

Ubuntu 18.04 fournit une nouvelle syntaxe simplifiée aptqui peut être utilisée à la place de apt-get.

sudo apt full-upgrade
l --marc l
la source
Le tout "si un paquet nécessite l'installation d'un nouveau paquet", alors il sera conservé n'a pas de sens pour moi. J'ai mon propre package deb que je gère, et si j'ajoute une dépendance qui n'est pas installée sur mon système, la mise à niveau d'apt mettra toujours à niveau le package et ne le conservera pas.
shreddish
@shreddish D'après mon expérience, certains sudo apt-get upgradescénarios ont nécessité les --with-new-pkgsinformations de la page de manuel. Apparemment, le paquet deb que vous gérez, ou le scénario de test utilisé , ne déclenche pas la nécessité de l' --with-new-pkgsoption avec une dépendance désinstallée ajoutée ... pour une raison encore à découvrir. Il serait intéressant de savoir si vous avez pu en isoler la raison.
l --marc l
2

Étant un utilisateur relativement récent d'Ubuntu, je suis tombé sur le même problème et l'ai apparemment résolu. J'ai constaté qu'il y avait trois mises à jour en attente sur le logiciel Ubuntu avec les mêmes noms que ceux répertoriés sur le terminal comme indiqué ci-dessous:

The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Après avoir installé ces mises à jour à partir du logiciel Ubuntu, je suis retourné au terminal et j'ai fait sudo apt-get updateet sudo apt-get upgrade. Le résultat:

The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-41 linux-headers-4.8.0-41-generic linux-headers-4.8.0-44 linux-headers-4.8.0-44-generic linux-image-4.8.0-41-generic
  linux-image-4.8.0-44-generic linux-image-extra-4.8.0-41-generic linux-image-extra-4.8.0-44-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

N'étant pas un expert, je pense que l'installation de mises à jour à partir du logiciel Ubuntu semble résoudre le problème. Et le problème semble être qu'il n'y a pas de communication complète entre le logiciel Ubuntu et les packages de mise à jour et de mise à niveau apt-get. Je suis sûr que vous trouverez une meilleure explication, mais je voulais partager cela avec vous.

Jose
la source
Merci. Généralement, Ubuntu nous conseille de ne pas utiliser aptitude ou synaptique (en les supprimant de l'installation par défaut. C'est peut-être la direction dans laquelle chercher les réponses. J'essaierai d'éviter ces deux pour l'instant. Dès que j'ai vu votre réponse, je lance au Software Center et il m'a montré des choses que j'ignorais. Puisque le système d'exploitation est construit par Ubuntu, je vais passer à SC. C'est un peu comme discuter avec l'AppStore lorsque homebrew fait des réclamations.
nyxee
donc, ce centre logiciel semble être une très mauvaise solution pour ceux d'entre nous avec de mauvaises conncetions. existe-t-il une autre façon?
nyxee