Mengapa pemutakhiran saya ke 12,04 gagal dengan kesalahan "glibc tidak ditemukan" atau "libc6" atau "memerlukan kernel 2.6.24"?

8

Saya memutakhirkan formulir instalasi server saya 11,04 menjadi 11,10, kemudian ke 12,04 lebih dari ssh. Semua tampaknya hampir ok - tetapi ada masalah kecil dengan glibc, yang mengacaukan apt saya.

Saya mencoba sudo apt-get install -ftetapi tidak mendapatkan apa yang dibutuhkan. Saya berjalan di mesin virtual OpenVZ.

Bagaimana saya bisa memperbaiki dependensi apt saya?

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:~$ 
Billy Moon
sumber
Saya memutuskan untuk menunggu beberapa saat sampai saya memperbarui, berharap masalah ini akan terselesaikan tanpa upaya lebih lanjut. Saya harus menginstal ulang sistem beberapa kali. Saya menduga jawaban teratas mungkin memegang kunci masalah, tetapi belum mengujinya. Saya akan mencentangnya setelah diverifikasi - yang akan saya usahakan segera lakukan.
Billy Moon
Terima kasih Billy - tolong komentari jawabannya jika Anda memiliki pertanyaan / masalah lagi!
ish

Jawaban:

11

Pertama penjelasannya, lalu solusinya :)

Ini terjadi karena host Anda hampir pasti menjalankan OpenVZ pada kernel 2.6.18 (semua wadah OpenVZ berbagi kernel host). Alasannya bisa berkisar dari stabilitas hingga sekadar kemalasan biasa. Masalahnya adalah bahwa libc 2.15 yang disertakan dengan Precise membutuhkan kernel 2.6.24 minimum untuk berfungsi. Kadang-kadang ini akan menyebabkan pembaruan rilis gagal, tetapi dimungkinkan untuk menyelesaikan dan masuk ke dalam situasi tidak-ada-tidak-ada yang sebagian ditingkatkan seperti yang Anda miliki.

Namun jangan takut, persyaratan libc adalah opsi waktu kompilasi, dan dapat ditetapkan lebih rendah (dalam hal ini perpustakaan menyertakan solusi untuk kernel yang lebih tua). Saya kira pengaturan minimum ke 0,24 adalah salah satu cara untuk menyeret orang ke 2012 :)

Saya telah menyiapkan PPA yang berisi libc yang telah dikompilasi yang akan berfungsi pada 2.6.18 atau yang lebih baru (silakan cek uname -r!), Dan itu akan menggantikan libc saat ini yang disediakan oleh Precise. Cukup tambahkan ppa: izx / ovz-libc , perbarui, dan itu akan membiarkan Anda melewati ini. Secara khusus, sesuatu seperti ini:

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

dan lanjutkan hingga pemutakhiran selesai dengan sukses. Saya sangat merekomendasikan TIDAK mengganti file konfigurasi yang diubah atau tidak ada.

Saya akan terus memperbarui ppa saat dan ketika libc diperbarui di hulu. Jika Anda ingin menghindari kesalahan serupa ketika itu terjadi, Anda mungkin ingin menyematkan libc-binPPA saya dengan prioritas tinggi, jadi itu tidak akan diperbarui sampai versi "diperbaiki" tersedia dari PPA.

Semoga ini bisa membantu, dan silakan kirim di sini jika ada yang punya pertanyaan atau tanggapan lain.

ish
sumber
Bisakah Anda menjelaskan bagaimana Anda bisa melakukan perubahan ini? Saya sudah mencoba menyodok sumber libc6, tetapi tidak dapat menemukannya. Saya terjebak dalam kondisi semi-upgrade pada OpenVZ VPS yang menjalankan 2.6.18, tetapi paket-paket tersebut memerlukan libc6 2.17, bukan 2.15. Bantuan apa pun akan sangat dihargai.
red_sky
3

Coba perintah ini. Anda dapat membuka terminal dengan Alt+ Ctrl+ T:

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

Setelah kamu bisa melakukan a sudo apt-get upgrade.

Saya memiliki masalah yang sama .... menggunakan server Ubuntu ... aneh bukan?
Semoga ini akan berhasil untuk Anda.

clement.nuss
sumber
1

Untuk semua orang yang terjebak dalam do-dist-upgrade dan tidak dapat menjalankan

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

Cukup tambahkan baris berikut secara manual ke /etc/apt/sources.list:

deb http://ppa.launchpad.net/izx/ovz-libc/ubuntu lucid main
Wilko
sumber
Ini tidak bekerja untuk saya dengan kontainer Virtuzzo. Saya menggunakan templat dari 10,04 dan gagal. Tetapi dari Debian 6.0 dengan kernel yang lebih diperbarui ia berfungsi untuk Virtuozzo 4.6
shakaran
0

Saya tidak tahu apakah ada cara lain tapi saya punya file penting di desktop saya yang tidak saya back up ketika Ubuntu crash pada saya dengan cara yang tepat, kebetulan saya ada di tangan Ubuntu 11.10 Boot Multi-Option menginstal CD dan saya reboot dengan CD dan kemudian memilih "Upgrade dari 12,04 LTS ke 11.10" dan setelah berapa lama waktu yang dihabiskan menginstal ulang 11.10 Saya akhirnya bangun dan berjalan lagi dengan file-file penting saya utuh.

Pascal Jünger
sumber