La sortie de apt-get upgrade
est:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-Apache python-cryptography python-openssl
Qu'est-ce que ça veut dire? Devrais-je agir? Si oui quoi?
J'ai eu le même problème, d'innombrables fois. NE PAS faire
Sudo apt-get dist-upgrade
en premier. Très important.
Cela peut rendre votre système très instable, des programmes peuvent se bloquer et vous pouvez perdre beaucoup de fonctionnalités de votre système d'exploitation.
Vous DEVEZ installer chaque paquet individuellement (CEPENDANT, pendant Lors de ce processus, d'autres dépendances seront également installées automatiquement et votre problème sera résolu en quelques minutes.
Je n'ai eu aucun problème avec la solution suivante. C'est assez rapide et facile.
apt list --upgradable
Sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
après chaque installation de package. Cela ne devrait prendre que quelques minutes à compléter.
Sudo apt-get autoclean
Sudo apt-get update && Sudo apt-get dist-upgrade
Si cette solution fonctionnait pour vous, n'oubliez pas de la revérifier afin que la solution appropriée soit disponible pour les autres et se trouve en haut de la liste de réponses. .
Si, pour une raison quelconque, cette solution ne fonctionne pas pour vous, veuillez consulter la réponse de l'utilisateur GAD3R ci-dessous. C'est aussi une bonne solution.
Merci.
Qu'est-ce que ça veut dire?
The following packages have been kept back:
La réponse est ici
Cela signifie que de nouvelles versions de ces packages ne seront pas installées pour une raison quelconque. Les raisons possibles sont des dépendances cassées (un paquet dont il dépend n'a pas de version disponible au téléchargement) ou de nouvelles dépendances (le paquet dépend désormais de nouveaux paquets depuis la dernière version).
Dois-je agir?
Vous devez utiliser dist-upgrade
pour installer les nouvelles dépendances et mettre à jour les paquetages:
Sudo apt-get dist-upgrade
Le problème peut être résolu en exécutant dist-upgrade
sinon vous devez:
Réparer les dépendances brisées
Sudo apt-get -f install
Supprimez certains paquets qui ne sont plus installés sur votre système:
Sudo apt-get autoclean
Mettez le paquet désiré en attente:
echo "<package_name> hold" | dpkg --set-selections
Reconfigurez le paquet nommé:
dpkg-reconfigure <package_name>
Premièrement, comme mentionné ci-dessus, veuillez NE PAS dist-mettre à niveau un système de production! Bien que la mise à niveau de dist "va" résoudre les paquets conservés, ce n'est certainement pas la solution à ce problème et très probablement vous causera plus de chagrin que de bien si vous l'exécutez sans connaître les implications sur votre système.
Si la mise à niveau d'un paquet nécessite l'installation de paquets supplémentaires, il sera "conservé" lors de l'exécution de Sudo apt-get upgrade
.
Comme mentionné ci-dessus, vous pouvez installer ces packages "conservés" manuellement en exécutant explicitement Sudo apt-get install [paste kept back packages here]
, mais cela marquera ces packages comme "installés manuellement", ce qui n'est souvent pas ce que nous souhaitons.
Pour installer automatiquement les packages supplémentaires nécessaires à la mise à niveau des packages "conservés" sans marquer les packages "conservés" comme étant installés manuellement, exécutez simplement Sudo apt-get --with-new-pkgs upgrade
.
J'ai inclus cette réponse dans mon blog. Si vous voulez voir que vous pouvez y aller à partir de ce lien .
L'erreur ci-dessus est très commune dans le terminal Ubuntu lorsque vous essayez de mettre à niveau (apt-get upgrade
). Cela se produit généralement parce que les dépendances d'un paquet que vous avez installé ont changé. Afin de mettre à niveau, vous devez d'abord les mettre à niveau. Il est donc très simple de résoudre ce problème. Vous pourrez voir les paquets conservés en dessous de ce message d'erreur. à titre d'exemple, je peux voir les paquets suivants dans la liste:
gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Ne vous contentez pas de taper Sudo apt-get dist-upgrade
Il est très dangereux car il installe toutes les mises à jour en attente. Cela pourrait amener votre environnement de travail à un état extrêmement instable.
Par conséquent, mon avis est d'utiliser célèbre
Sudo apt-get install [package]
Vous pouvez remplacer [package]
par n'importe quel paquet contenu dans le message d'erreur. Vous pouvez aussi les mettre tels quels sous forme de liste (il suffit de les copier et de les coller). Par exemple, dans mon cas, je peux entrer
Sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Si tu veux faire
Sudo apt-get dist-upgrade
pour une raison quelconque, assurez-vous simplement d'inspecter la liste des packages à l'aide de l'option simuler -s
(Sudo apt-get -s dist-upgrade
), ou sans l'option -s
, vous pouvez terminer l'exécution avant d'accepter. (vous pouvez toujours choisir l'option non)
Récemment, une mise à jour de sécurité Debian a introduit quelques nouvelles dépendances. Dans ce cas, le paquetage linux-image
a commencé à nécessiter linux-firmware
, entre autres. Ils ont donc été retenus et non installés par unattended-upgrade
. Après quelques tests et confirmations, j'ai pu installer de manière sélective uniquement ces packages, sans toucher aux autres mises à jour en attente:
apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')