Que signifie "Les packages suivants ont été conservés" signifie?

Lorsque je fais une apt-get upgrade je reçois parfois un message disant «Les packages suivants ont été conservés». Par exemple:

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

Qu'est-ce que cela signifie exactement? Évidemment, les packages ont été retenus et non installés, mais pourquoi?

La question suivante serait la suivante: comment mettre à jour ces packages conservés?

Si la mise à niveau nécessitait la suppression d'un autre package ou l'installation d'un nouveau package, le package sera «conservé». Comme l'explique la page de manuel de apt-get upgrade :

Les packages actuellement installés avec de nouvelles versions disponibles sont récupérés et mis à niveau; en aucun cas les packages installés actuellement ne sont supprimés, ou les packages non déjà installés sont récupérés et installés.

Pour dépasser cela, vous pouvez faire

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

Cela permet d'installer de nouveaux packages. Il vous permettra de savoir quels packages seraient installés et vous inviter avant de faire l'installation.

Le rapport de base est que «apt-get upgrade» ne mettra pas à jour les packages pour lesquels le gestionnaire de packages voudrait supprimer et réinstaller le package. Cela se produit dans les correctifs de security parce que, souvent, il s'agissait en réalité de bibliothèques présliders de la compilation dissortingbuable finale qui ont été corrigées. La fonctionnalité "aller de l'avant et supprimer des choses", fonctionne dans "apt-get dist-upgrade", mais assurez-vous d'exécuter "apt-get update" au début juste au cas où les gars en amont ont trouvé quelque chose depuis votre dernière tentative. Parfois, ils manquent des choses et les réparent aussi vite.

Essayez apt-get dist-upgrade . De la page de manuel:

dist-upgrade

dist-upgrade en plus d'effectuer la fonction de upgrade , gère également intelligemment les dependencies changeantes avec de nouvelles versions de packages; apt-get a un système de résolution de conflits "intelligent", et il tentera de mettre à jour les packages les plus importants au désortingment des packages less importants si nécessaire. Ainsi, la command dist-upgrade peut supprimer certains packages. Le file /etc/apt/sources.list contient une list d'locations à partir desquels récupérer les files de package souhaités. Voir aussi apt_preferences(5) pour un mécanisme permettant de replace les parameters généraux des packages individuels.

Bien que cette command soit utilisée pour mettre à niveau vers une nouvelle version majeure du operating system, elle ne le fait pas par défaut. Le file /etc/apt/sources.list doit être changé en la nouvelle version, puis une dist-upgrade est utilisée.

solution – problème juste:

 sudo apt-get dist-upgrade 

qui mettra à jour le package retenu et si clair que l'avis

Fais juste

 sudo apt-get install linux-headers-server linux-image-server linux-server 

et vous serez bien.

Faire "apt-get dist-upgrade" mettra à niveau votre operating system vers une nouvelle version qui est souvent ce que les gens ne veulent pas.

ps – Je sais que ce fil est un peu vieux, mais cette question est posée beaucoup, donc je suppose que cela aidera beaucoup.