Pourquoi ma mise à niveau vers 12.04 a-t-elle échoué avec l'erreur "glibc introuvable" ou "libc6" ou "nécessite le noyau 2.6.24"?


8

J'ai mis à niveau mon formulaire d'installation de serveur 11.04 à 11.10, puis à 12.04 via ssh. Tout semble presque correct - mais il y a un petit problème avec la glibc, qui gâche mon apt.

J'ai essayé sudo apt-get install -fmais il n'obtient pas ce dont il a besoin. J'exécute dans une machine virtuelle OpenVZ.

Comment puis-je corriger mes dépendances apt?

sysadmin@svr:~$ sudo apt-get update 
Ign http://archive.canonical.com precise InRelease
Ign http://archive.ubuntu.com precise InRelease
Ign http://archive.ubuntu.com precise-updates InRelease
Ign http://archive.ubuntu.com precise-security InRelease
Get:1 http://archive.ubuntu.com precise Release.gpg [198 B]
Hit http://archive.canonical.com precise Release.gpg 
Get:2 http://archive.ubuntu.com precise-updates Release.gpg [198 B]
Hit http://archive.canonical.com precise Release      
Get:3 http://archive.ubuntu.com precise-security Release.gpg [198 B]
Hit http://archive.canonical.com precise/partner i386 Packages
Get:4 http://archive.ubuntu.com precise Release [49.6 kB]
Ign http://archive.canonical.com precise/partner TranslationIndex
Get:5 http://archive.ubuntu.com precise-updates Release [49.6 kB]
Get:6 http://archive.ubuntu.com precise-security Release [49.6 kB]               
Get:7 http://archive.ubuntu.com precise/main i386 Packages [1274 kB]            
Ign http://archive.canonical.com precise/partner Translation-en                  
Get:8 http://archive.ubuntu.com precise/restricted i386 Packages [8431 B]
Get:9 http://archive.ubuntu.com precise/universe i386 Packages [4796 kB]
Hit http://archive.ubuntu.com precise/main TranslationIndex                                                                                                                       
Hit http://archive.ubuntu.com precise/restricted TranslationIndex                                                                                                                 
Hit http://archive.ubuntu.com precise/universe TranslationIndex                                                                                                                   
Get:10 http://archive.ubuntu.com precise-updates/main i386 Packages [20.2 kB]                                                                                                     
Get:11 http://archive.ubuntu.com precise-updates/restricted i386 Packages [770 B]                                                                                                 
Get:12 http://archive.ubuntu.com precise-updates/universe i386 Packages [2258 B]                                                                                                  
Get:13 http://archive.ubuntu.com precise-updates/main TranslationIndex [72 B]                                                                                                     
Get:14 http://archive.ubuntu.com precise-updates/restricted TranslationIndex [71 B]                                                                                               
Get:15 http://archive.ubuntu.com precise-updates/universe TranslationIndex [72 B]                                                                                                 
Get:16 http://archive.ubuntu.com precise-security/main i386 Packages [11.8 kB]                                                                                                    
Get:17 http://archive.ubuntu.com precise-security/restricted i386 Packages [14 B]                                                                                                 
Get:18 http://archive.ubuntu.com precise-security/universe i386 Packages [1357 B]                                                                                                 
Get:19 http://archive.ubuntu.com precise-security/main TranslationIndex [72 B]                                                                                                    
Get:20 http://archive.ubuntu.com precise-security/restricted TranslationIndex [70 B]                                                                                              
Get:21 http://archive.ubuntu.com precise-security/universe TranslationIndex [71 B]                                                                                                
Hit http://archive.ubuntu.com precise/main Translation-en                                                                                                                         
Hit http://archive.ubuntu.com precise/restricted Translation-en                                                                                                                   
Hit http://archive.ubuntu.com precise/universe Translation-en                                                                                                                     
Get:22 http://archive.ubuntu.com precise-updates/main Translation-en [9145 B]                                                                                                     
Hit http://archive.ubuntu.com precise-updates/restricted Translation-en                                                                                                           
Get:23 http://archive.ubuntu.com precise-updates/universe Translation-en [1344 B]                                                                                                 
Get:24 http://archive.ubuntu.com precise-security/main Translation-en [3549 B]                                                                                                    
Hit http://archive.ubuntu.com precise-security/restricted Translation-en                                                                                                          
Get:25 http://archive.ubuntu.com precise-security/universe Translation-en [760 B]                                                                                                 
Fetched 6279 kB in 57s (109 kB/s)                                                                                                                                                 
Reading package lists... Done
sysadmin@svr:~$ sudo apt-get ugrade
E: Invalid operation ugrade
sysadmin@svr:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libc6 : Depends: libc-bin (= 2.13-20ubuntu5.1) but 2.15-0ubuntu10 is installed
 libncurses5 : Depends: libtinfo5 (= 5.9-1ubuntu5) but 5.9-4 is installed
 libnih-dbus1 : Depends: libnih1 (= 1.0.3-4ubuntu9) but 1.0.3-4ubuntu2 is installed
E: Unmet dependencies. Try using -f.
sysadmin@svr:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  libswscale0 libavutil50 python-support g++-4.5 libboost-program-options1.42.0 librpmio1 libpostproc51 libavformat52 libstdc++6-4.5-dev libavfilter1 libavcodec52
  libboost-filesystem1.42.0 libboost-system1.42.0 libavdevice52
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libc-dev-bin libc6 libc6-dev libncurses5 libnih1
Suggested packages:
  glibc-doc
The following packages will be upgraded:
  libc-dev-bin libc6 libc6-dev libncurses5 libnih1
5 upgraded, 0 newly installed, 0 to remove and 335 not upgraded.
2 not fully installed or removed.
Need to get 0 B/9099 kB of archives.
After this operation, 1618 kB disk space will be freed.
Do you want to continue [Y/n]? 
locale: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)
Preconfiguring packages ...
Setting up libc-bin (2.15-0ubuntu10) ...
(Reading database ... 31190 files and directories currently installed.)
Preparing to replace libc6-dev 2.13-20ubuntu5.1 (using .../libc6-dev_2.15-0ubuntu10_i386.deb) ...
Unpacking replacement libc6-dev ...
Preparing to replace libc-dev-bin 2.13-20ubuntu5.1 (using .../libc-dev-bin_2.15-0ubuntu10_i386.deb) ...
Unpacking replacement libc-dev-bin ...
Preparing to replace libc6 2.13-20ubuntu5.1 (using .../libc6_2.15-0ubuntu10_i386.deb) ...
locale: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)
Checking for services that may need to be restarted...
Checking init scripts...
runlevel:/var/run/utmp: No such file or directory
Checking for services that may need to be restarted...
Checking init scripts...
runlevel:/var/run/utmp: No such file or directory
WARNING: init script for samba not found.
Stopping some services possibly affected by the upgrade (will be restarted later):
  cron: stopping...done.

WARNING: this version of the GNU libc requires kernel version
2.6.24 or later. Please upgrade your kernel before installing
glibc.

The installation of a 2.6 kernel _could_ ask you to install a new libc
first, this is NOT a bug, and should *NOT* be reported. In that case,
please add lenny sources to your /etc/apt/sources.list and run:
  apt-get install -t lenny linux-image-2.6
Then reboot into this new kernel, and proceed with your upgrade
dpkg: error processing /var/cache/apt/archives/libc6_2.15-0ubuntu10_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
No apport report written because MaxReports is reached already
                                                              Processing triggers for man-db ...
locale: /lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by locale)
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.15-0ubuntu10_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
sysadmin@svr:~$ 


J'ai décidé d'attendre un moment avant de mettre à jour, en espérant que le problème serait résolu sans effort supplémentaire. J'ai déjà dû réinstaller le système plusieurs fois. Je soupçonne que la première réponse pourrait détenir la clé du problème, mais je ne l'ai pas encore testée. Je le cocherai une fois vérifié - ce que je m'efforcerai de faire bientôt.
Billy Moon

Merci Billy - veuillez commenter la réponse si vous avez d'autres questions / problèmes!
ish

Réponses:


11

D'abord l'explication, puis une solution :)

Cela se produit car votre hôte exécute presque certainement OpenVZ sur un noyau 2.6.18 (tous les conteneurs OpenVZ partagent le noyau hôte). La raison peut aller de la stabilité à la simple paresse. Le problème est que la libc 2.15 incluse avec Precise nécessite un noyau 2.6.24 minimum pour fonctionner. Parfois, cela entraînera l'échec de la mise à niveau de la version, mais il est possible de terminer et d'entrer dans une situation de mise à niveau partielle ni ici, ni là comme vous l'avez fait.

Mais ne craignez rien, l'exigence libc est une option au moment de la compilation, et elle peut être définie plus bas (auquel cas la bibliothèque inclut des solutions de contournement pour les noyaux plus anciens). Je suppose que fixer le minimum à .24 est une façon de faire glisser les gens en 2012 :)

J'ai mis en place un PPA contenant une libc recompilée qui fonctionnera sur 2.6.18 ou plus récent (veuillez vérifier uname -r!), Et il devrait remplacer la libc actuelle fournie par Precise. Ajoutez simplement ppa: izx / ovz-libc , mise à jour, et cela devrait vous permettre de dépasser cela. Plus précisément, quelque chose comme ça:

apt-add-repository ppa:izx/ovz-libc
apt-get update
apt-get -f install
do-release-upgrade

et continuez jusqu'à ce que la mise à niveau se termine avec succès. Je recommande fortement de NE PAS remplacer les fichiers de configuration modifiés ou inexistants.

Je garderai le ppa mis à jour au fur et à mesure que libc sera mis à jour en amont. Si vous souhaitez éviter une erreur similaire lorsque cela se produit, vous souhaiterez peut-être épingler libc-binmon PPA avec une priorité élevée, de sorte qu'il ne sera pas mis à jour jusqu'à ce que la version "fixe" soit disponible à partir du PPA.

J'espère que cela vous aidera et veuillez poster ici si quelqu'un a des questions ou d'autres commentaires.


Pourriez-vous expliquer comment vous avez pu effectuer ce changement? J'ai essayé de fouiller la source libc6, mais je ne la trouve pas. Je suis coincé dans un état semi-mis à niveau sur un VPS OpenVZ exécutant 2.6.18, mais les packages nécessitent libc6 2.17, pas 2.15. Toute aide serait très appréciée.
red_sky

3

Essayez cette commande. Vous pouvez ouvrir un terminal avec Alt+ Ctrl+ T:

sudo apt-get -o APT::Immediate-Configure=0 -f install

Après vous pouvez faire un sudo apt-get upgrade.

J'ai eu le même problème .... en utilisant le serveur Ubuntu ... étrange n'est-ce pas?
J'espère que cela fonctionnera pour vous.


1

Pour tout le monde coincé dans la mise à niveau de do-dist et ne pouvant pas fonctionner

apt-add-repository ppa:izx/ovz-libc

Ajoutez simplement la ligne suivante manuellement à /etc/apt/sources.list:

deb http://ppa.launchpad.net/izx/ovz-libc/ubuntu lucid main

Cela ne fonctionne pas pour moi avec les conteneurs Virtuzzo. J'utilise un modèle de 10.04 et échoue. Mais à partir de Debian 6.0 avec un noyau plus mis à jour, cela fonctionne pour Virtuozzo 4.6
shakaran

0

Je ne sais pas s'il existe un autre moyen, mais j'avais des fichiers importants sur mon bureau que je n'avais pas sauvegardés quand Ubuntu s'est écrasé sur moi de cette façon exacte, il se trouve que j'avais justement en main l'installation d'Ubuntu 11.10 Boot Multi-Options CD et j'ai donc redémarré avec le CD, puis j'ai choisi "Mettre à niveau de 12.04 LTS vers 11.10" et après combien de temps il a fallu réinstaller 11.10, je suis enfin de nouveau opérationnel avec mes fichiers importants intacts.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.