Perché il mio aggiornamento a 12.04 non è riuscito con l'errore "glibc not found" o "libc6" o "richiede kernel 2.6.24"?


8

Ho aggiornato il mio modulo di installazione del server da 11.04 a 11.10, quindi a 12.04 su ssh. Tutto sembra quasi ok, ma c'è un piccolo problema con glibc, che sta rovinando il mio apt.

Ho provato sudo apt-get install -fma non ottiene ciò di cui ha bisogno. Sto correndo in una macchina virtuale OpenVZ.

Come posso risolvere le mie dipendenze 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:~$ 


Ho deciso di aspettare un po 'fino all'aggiornamento, sperando che il problema fosse risolto senza ulteriori sforzi. Ho dovuto reinstallare il sistema già un paio di volte. Ho il sospetto che la risposta migliore potrebbe contenere la chiave del problema, ma non l'ho ancora testata. Lo spunterò una volta verificato, cosa che cercherò di fare presto.
Billy Moon,

Grazie Billy - per favore commenta la risposta se hai altre domande / problemi!
Ish,

Risposte:


11

Prima la spiegazione, poi una soluzione :)

Ciò accade perché quasi certamente il tuo host esegue OpenVZ su un kernel 2.6.18 (tutti i contenitori OpenVZ condividono il kernel host). La ragione può variare dalla stabilità alla semplice pigrizia. Il problema è che la libc 2.15 inclusa con Precise richiede un kernel 2.6.24 minimo per funzionare. A volte ciò causerà il fallimento dell'aggiornamento della versione, ma è possibile completarlo ed entrare in una situazione né-qui-non-là parzialmente aggiornata come te.

Non temere, tuttavia, il requisito libc è un'opzione di compilazione e può essere impostato su un valore inferiore (nel qual caso la libreria include soluzioni alternative per i kernel più vecchi). Immagino che l'impostazione del minimo a .24 sia un modo per trascinare la gente nel 2012 :)

Ho impostato un PPA contenente una libc ricompilata che funzionerà su 2.6.18 o più recente (si prega di controllare uname -r!), E dovrebbe sovrascrivere l'attuale libc fornita da Precise. Aggiungi semplicemente ppa: izx / ovz-libc , aggiorna e dovrebbe farti superare questo. In particolare, qualcosa del genere:

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

e continuare fino a quando l'aggiornamento non viene completato correttamente. Consiglio vivamente di NON sostituire alcun file di configurazione modificato o inesistente.

Terrò aggiornato il ppa come e quando libc verrà aggiornato a monte. Se vuoi evitare un errore simile quando ciò accade, potresti voler aggiungere libc-binal mio PPA con una priorità alta, quindi non si aggiornerà fino a quando la versione "fissa" non sarà disponibile dal PPA.

Spero che questo ti aiuti, e per favore pubblica qui se qualcuno ha domande o altri feedback.


Potresti spiegare come sei riuscito a fare questo cambiamento? Ho provato a cercare il sorgente libc6, ma non riesco a trovarlo. Sono bloccato in uno stato semi-aggiornato su un VPS OpenVZ in esecuzione 2.6.18, ma i pacchetti richiedono libc6 2.17, non 2.15. Qualsiasi aiuto sarebbe molto apprezzato.
red_sky,

3

Prova questo comando. Puoi aprire un terminale con Alt+ Ctrl+ T:

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

Dopo che puoi fare un sudo apt-get upgrade.

Ho avuto lo stesso problema .... usando il server Ubuntu ... strano vero?
Spero che funzioni per te.


1

Per tutti bloccati nel do-dist-upgrade e non essere in grado di eseguire

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

Aggiungi la seguente riga manualmente a /etc/apt/sources.list:

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

Questo non funziona per me con i contenitori Virtuzzo. Uso un modello da 10.04 e non funziona. Ma da Debian 6.0 con un kernel più aggiornato funziona per Virtuozzo 4.6
shakaran,

0

Non so se esiste un altro modo ma sul mio desktop c'erano file importanti di cui non ho eseguito il backup quando Ubuntu si è schiantato su di me in quel preciso modo, mi è capitato di avere a portata di mano l'installazione di Ubuntu 11.10 Boot Multi-Option Il CD e così ho riavviato il CD, quindi ho scelto "Aggiorna da 12.04 LTS a 11.10" e dopo quanto tempo ha impiegato per reinstallare la 11.10, finalmente sono di nuovo funzionante con i miei file importanti intatti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.