Apt est apparemment incapable de faire quelque chose d'utile pour moi, donnant à plusieurs reprises des messages de cette forme:
dpkg: dependency problems prevent configuration of linux-server:
linux-server depends on linux-image-server (= 3.2.0.37.44); however:
Version of linux-image-server on system is 3.2.0.37.45.
linux-server depends on linux-headers-server (= 3.2.0.37.44); however:
Version of linux-headers-server on system is 3.2.0.37.45.
dpkg: error processing linux-server (--configure):
dependency problems - leaving unconfigured
C’est fondamentalement le même problème que je ne peux installer aucun paquet (erreurs de dépendances de linux-server, linux-image-server) qui a été fermé Dupliquer en une réponse totalement inutile dans cette situation. Aucun des conseils de cette réponse très générique sur les dépendances n'aide.
Explicitement:
Sudo apt-get clean
Sudo apt-get autoclean
Sudo apt-get update
tous n'ont pas d'effet non. Tandis que
Sudo apt-get -f install
Sudo dpkg --configure -a
Sudo apt-get -u dist-upgrade
Sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
tous donnent une certaine forme du message d'erreur ci-dessus.
Vous avez exécuté Sudo apt-get update
et le problème persiste. Donc, vous avez probablement juste une version plus récente de linux-image-server
et linux-headers-server
que n’importe quel paquetage linux-server
disponible à partir de vos sources logicielles configurées .
Cela peut se produire pendant un very court temps, même si vous utilisez le serveur central (ou plus longtemps en cas de problème de mise à jour). Je crois comprendre que cela peut se produire pendant de plus longues périodes si vous utilisez un miroir. Cela ne signifie pas que vous ne devriez pas utiliser de miroir - le serveur central (http://archive.ubuntu.com
) est généralement très lent et les miroirs nationaux, régionaux ou autres sont beaucoup plus rapides.
Un recherche de paquet révèle que la version 3.2.0.37.45 des deux linux-image-server
et linux-server
existe pour Ubuntu 12.04. Donc, c'est probablement lié à votre miroir.
Voici quelques alternatives:
Si vous pouvez utiliser le gestionnaire de paquets à d'autres fins, par exemple pour installer d'autres paquets, vous pouvez simplement ignorer ceci. Lorsque votre miroir sera mis à jour, vous obtiendrez probablement le package.
Ce n'est pas un problème de ne pas avoir le dernier paquetage linux-server
, car c'est un méta-paquet qui ne fournit aucun logiciel réel. Il existe seulement pour qu'il puisse lister trois paquets en tant que dépendances , en s'assurant qu'ils restent installés:
Vous disposez déjà des dernières versions de linux-headers-server
et linux-image-server
. Mon hypothèse est qu'il s'agit d'un système 64 bits, c'est pourquoi aucun message concernant linux-generic-pae
n'a été affiché. Il semble que tout va bien.
Toutefois:
http://security.ubuntu.com
. Ce serveur doit toujours être activé dans /etc/apt/sources.list
. Je recommande donc de vérifier pour vous assurer que cela est activé. Vous souhaiterez peut-être sauvegarder sources.list
avant de le modifier (Sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
). Le problème peut également être une conséquence d'un proxy Web de mise en cache (si vous en utilisez un) avec des données obsolètes. (Les solutions ci-dessous vont contourner ça aussi.)J'imagine que vous utilisez un système serveur Ubuntu et que vous n'avez probablement pas d'interface graphique installée. Alors, voir:
Après avoir changé votre miroir, lancez:
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get dist-upgrade
Si vous le souhaitez, vous pouvez restaurer votre serveur après la mise à jour de linux-server
.
.deb
Vous pouvez télécharger et installer manuellement le fichier .deb
pour la dernière version du métapaquet linux-server
dans Ubuntu 12.04.
cd
à l'endroit où vous souhaitez télécharger le package.
S'il s'agit d'un système 64 bits, exécutez:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_AMD64.deb
S'il s'agit d'un système 32 bits, exécutez ceci à la place:
wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-server_3.2.0.23.25_i386.deb
(J'ai obtenu ces deux liens sur la page du tableau de bord pour le paquet source linux-meta
dans Ubunt .)
Maintenant (pour les versions 64 bits et 32 bits), exécutez cette commande pour installer le package:
Sudo dpkg -i linux-server_3.2.0.23.25_*.deb
(Ou commencez simplement à taper le nom du paquet et à l'utiliser Tab pour le compléter.)
Puisqu'il s'agit d'un logiciel fournissant un métapaquet que vous avez déjà, vous pouvez supprimer le package. Ensuite, vous n'obtiendrez plus l'erreur. Vous pouvez le réinstaller ultérieurement si vous le souhaitez (vous pouvez exécuter périodiquement apt-get update && apt-cache policy linux-server
pour voir si la nouvelle version est disponible).
Si vous souhaitez le supprimer, vous devez suivre deux étapes. La première consiste à désinstaller linux-server
. la seconde est de s'assurer que les paquets ne seront pas automatiquement supprimés plus tard.
Les dépendances seront not seront supprimées immédiatement . Donc, peu importe laquelle de ces étapes vous faites en premier.
linux-server
.Pour désinstaller linux-server
, exécutez simplement:
Sudo apt-get remove linux-server
Pour indiquer à APT (le gestionnaire de packages) les packages que vous souhaitez installer même s'il ne reste plus rien qui les déclare comme une dépendance, marquez-les comme étant installés manuellement.
Pour ce faire, exécutez cette commande, s’il s’agit d’un système 64 bits:
Sudo apt-mark manual linux-image-server linux-headers-server
S'il s'agit d'un système 32 bits, lancez ceci à la place:
Sudo apt-mark manual linux-image-server linux-headers-server linux-generic-pae
(Vous devriez avoir apt-mark
mais si vous ne pouvez pas installer de logiciel, vous pouvez utiliser apt-get install
au lieu de apt-mark manual
-- pour spécifier manuellement un package pour l'installation, qui sera marqué comme étant installé manuellement, même s'il était déjà installé.)
Source: Marquez un paquet deb comme utilisé, donc ce n'est pas suggéré pour le retrait automatique
(En particulier, réponse de Lekensteyn .)
Si vous aviez une installation de mise à niveau complète de sécurité/automatique et automatique, cassée apt, vous pouvez être dans le même bateau que j'étais.
Je ne pouvais pas obtenir apt-get pour faire quoi que ce soit si des conseils complets/boot traditionnels ne fonctionnent pas J'ai supprimé manuellement les anciennes données du noyau. Ne supprimez pas le noyau courant, vérifiez avec 'uname -a'. J'ai enlevé avec 'Sudo rm /boot/-3.2.0-{23,24,25,26}-.
Ensuite, je devais exécuter 'Sudo apt-get remove linux-server' et 'Sudo apt-get install linux-server' pour corriger le désordre du problème de la moitié du noyau installé. Après tout cela, je pouvais enfin 'Sudo apt-get upgrade' et faire bouger les choses.
Pour faire bonne mesure, j’ai jeté dans une balise 'Sudo update-grub' et 'Sudo apt-get autoremove' afin de m'assurer que le menu de démarrage était précis et que les autres paquets avaient été nettoyés.
Dans la situation concernant Ubuntu 12.04, il était nécessaire d’installer manuellement linux-headers-server et linux-server (comme suggéré ci-dessus - je l’aurais commentée mais je n’ai pas encore ce privilège), puis apt-get remove linux-headers-virtual, qui ne semble plus exister sous forme de paquet 64 bits pour 12.04.
Sudo wget https://launchpad.net/ubuntu/+archive/primary/+files/linux-headers-server_3.2.0.64.76_AMD64.deb