Я обновил форму установки сервера с 11.04 до 11.10, а затем до 12.04 через ssh. Все кажется почти нормальным - но есть небольшая проблема с glibc, которая испортила мне все возможности.
Я пытался, sudo apt-get install -f
но он не получает то, что ему нужно. Я работаю в виртуальной машине OpenVZ.
Как я могу исправить свои подходящие зависимости?
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:~$
Ответы:
Сначала объяснение, потом решение :)
Это происходит потому, что ваш хост почти наверняка использует OpenVZ на ядре 2.6.18 (все контейнеры OpenVZ совместно используют ядро хоста). Причина может варьироваться от стабильности до простой лени. Проблема в том, что libc 2.15, включенный в Precise, требует как минимум ядра 2.6.24 для работы. Иногда это может привести к сбою релиз-обновления, но возможно завершить и попасть в частично обновленную ситуацию «не здесь-не-там», как у вас.
Не бойтесь, однако, требование libc является параметром времени компиляции, и его можно установить ниже (в этом случае библиотека включает обходные пути для старых ядер). Я полагаю, что установка минимума на .24 - это один из способов втянуть людей в 2012 :)
Я установил PPA, содержащий перекомпилированный libc, который будет работать на 2.6.18 или новее (пожалуйста, проверьте
uname -r
!), И он должен переопределять текущий libc, предоставляемый Precise. Просто добавьте PPA: izx / OVZ-Libc , обновление, и это должно позволить вам пройти это. Конкретно как то так:и продолжайте, пока обновление не завершится успешно. Я настоятельно рекомендую НЕ заменять какие-либо измененные или несуществующие файлы конфигурации.
Я буду держать ppa обновленным, как и когда libc обновляется апстрим. Если вы хотите избежать подобной ошибки, когда это происходит, вы можете прикрепить
libc-bin
мой PPA с высоким приоритетом, чтобы он не обновлялся до тех пор, пока «PPA» не установит «исправленную» версию.Надеюсь, что это поможет, и, пожалуйста, напишите здесь, если у кого-то есть какие-либо вопросы или другие отзывы.
источник
Попробуйте эту команду. Вы можете открыть терминал с помощью Alt+ Ctrl+ T:
После того, как вы можете сделать
sudo apt-get upgrade
.У меня была такая же проблема .... с использованием сервера Ubuntu ... странно, не правда ли?
Надеюсь, это сработает для вас.
источник
Для всех, кто застрял в do-dist-upgrade и не может работать
Просто добавьте следующую строку вручную
/etc/apt/sources.list
:источник
Я не знаю, существует ли другой способ, но у меня были важные файлы на моем рабочем столе, которые я не создавал резервные копии, когда Ubuntu точно так же рухнул на меня, у меня просто получилось установить Ubuntu 11.10 Boot Multi-Option CD и поэтому я перезагрузился с компакт-диска и затем выбрал «Обновить с 12.04 LTS до 11.10», и после того, как много времени он потратил на переустановку 11.10, я, наконец, снова заработал и сохранил важные файлы.
источник