LINUX.ORG.RU

Не обновляется libc

 ,


0

1
Подготовка к замене пакета libc6:amd64 2.17-7 (используется файл …/libc6_2.17-92_amd64.deb) …

A copy of the C library was found in an unexpected directory:
  '/lib/x86_64-linux-gnu/libc-2.17.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.

dpkg: ошибка при обработке параметра /var/cache/apt/archives/libc6_2.17-92_amd64.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
configured to not write apport reports
                                      При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.17-92_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Что обычно делают в такой ситуации? Просто удалить файл или это чревато?

root@zoonman:~# lsof | grep libc-2.17.so
init          1              root  mem    REG                8,3            22955948 /lib/x86_64-linux-gnu/libc-2.17.so (path dev=144,132)
php5-fpm   1883          www-data  mem    REG                8,3            22955948 /lib/x86_64-linux-gnu/libc-2.17.so (path dev=144,132)
php5-fpm   4014          www-data  mem    REG                8,3            22955948 /lib/x86_64-linux-gnu/libc-2.17.so (path dev=144,132)
php5-fpm   5807              root  mem    REG                8,3            22955948 /lib/x86_64-linux-gnu/libc-2.17.so (path dev=144,132)
xinetd     9952              root  mem    REG                8,3            22955948 /lib/x86_64-linux-gnu/libc-2.17.so (path dev=144,132)
... тут еще много всего

Еще накопал

root@zoonman:~# dpkg --debug=3773 -i  /var/cache/apt/archives/libc6_2.17-92_amd64.deb
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/tmp.ci'
dpkg: предупреждение: список файлов пакета «libcap2:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libc6:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libselinux1:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libbz2-1.0:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libpcre3:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libdb5.1:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «liblzma5:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libslang2:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libjpeg8:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libacl1:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libattr1:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libxpm4:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libpam0g:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
dpkg: предупреждение: список файлов пакета «libxdmcp6:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов
(Чтение базы данных … на данный момент установлено 29330 файлов и каталогов.)
Подготовка к замене пакета libc6:amd64 2.17-7 (используется файл …/libc6_2.17-92_amd64.deb) …
D000020: process_archive conffile '/etc/ld.so.conf.d/x86_64-linux-gnu.conf' no package, no hash
D000200: oldconffsetflags '/etc/ld.so.conf.d/x86_64-linux-gnu.conf' namenode 0x11cd4e10 flags 5
D000001: process_archive oldversionstatus=installed
D000002: maintainer_script_alternative nonexistent prerm '/var/lib/dpkg/info/libc6:amd64.prerm'
D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( upgrade 2.17-7 )

A copy of the C library was found in an unexpected directory:
  '/lib/x86_64-linux-gnu/libc-2.17.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.

dpkg: ошибка при обработке параметра /var/cache/apt/archives/libc6_2.17-92_amd64.deb (--install):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
D000002: fork/exec /var/lib/dpkg/tmp.ci/postrm ( abort-upgrade 2.17-7 )
D000002: vmaintainer_script_installed nonexistent postinst
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting running rm -rf '/var/lib/dpkg/tmp.ci'
D000010: ensure_pathname_nonexisting '/var/lib/dpkg/reassemble.deb'
При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.17-92_amd64.deb

zoonman
() автор топика

Какой хоть у вас дистрибутив ? Debian ? Наверное testing или unstable ?

В любом случае, не знаю как у вас, но в моей Gentoo glibc лежит в /lib64/libc-2.15.so (/lib/libc-2.15.so -> /lib64/libc-2.15.so)

kostik87 ★★★★★
()

Просто удалить файл или это чревато?

Ога, чревато падением всей системы (за исключением статических бинарников, но их тебе не хватит).

tiandrey ★★★★★
()
Ответ на: комментарий от kostik87

Прошу прощения

root@zoonman:~# lsb_release -rd
Description:    Debian GNU/Linux 6.0.6 (squeeze)
Release:        6.0.6

root@zoonman:~# uname -a
Linux zoonman 2.6.32-308.8.2.el5.028stab101.1 #1 SMP Sun Jun 24 20:25:35 MSD 2012 x86_64 GNU/Linux

Был stable, но я подключил источники testing и unstable, чтобы установить latest PHP. Видимо что-то в зависимостях дообновлял =( Теперь думаю, что делать дальше.

zoonman
() автор топика
Ответ на: Прошу прощения от zoonman
Release:        6.0.6 

но я подключил источники testing и unstable

У вас старый стабильный релиз (old stable). Зачем сразу прыгать до testing и уж тем более unstable. Нужно было пробовать обновиться до текущего стабильного релиза.

Ну-ну, теперь у вас, видимо, и система unstable, ждите пока в не стабильной ветке исправят проблему.

чтобы установить latest PHP

Нужно было указать, что только php нужно брать из тестовой или не стабильной ветки, почитайте про смешивание веток в Debian.

Ну и вашу систему теперь только переустанавливать, т.к. Debian не поддерживает downgrade.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Debian не поддерживает downgrade

Если официально downgrade не поддерживается (в смысле не принимаются отчёты об ошибках при выполнении этой процедуры), это не значит, что его нельзя провести.

Для этого необходимо в /etc/apt/preferences добавить следующие строки:

Package: *
Pin: release a=oldstable
Pin-Priority: 1001
- и выполнить apt-get dist-upgrade.

anonymous
()
Ответ на: Еще накопал от zoonman

dpkg: предупреждение: список файлов пакета «libc6:amd64» отсутствует; предполагаем, что на данный момент у пакета нет установленных файлов

Проблема в этом. Куда-то потерялся список файлов пакета libc6:amd64, поэтому менеджер пакетов не знает, что файл /lib/x86_64-linux-gnu/libc-2.17.so был установлен из пакета, который в данный момент обновляется, и поэтому считает его непонятно откуда взявшейся копией.

Учитывая наличие ещё нескольких пакетов с отсутствующими списками файлов, вы явно умудрились что-то сломать в базе менеджера пакетов.

Судя по версии ядра, это сервер под OpenVZ, физического доступа к которому нет? Тогда возьмите список файлов пакета libc6:amd64 и поместите его в /var/lib/dpkg/info/libc6:amd64.list, а затем обновляйтесь.

Также вам следует переустановить все пакеты с пустыми списками файлов во избежание будущих проблем. Хотя вполне вероятно, что это не единственные последствия, и в будущем возможны ещё сюрпризы.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо всем огромное!

Я попробовал переустановить все отсутствующие пакеты.

apt-get install --reinstall пакет
Похоже на то, что где-то двоеточие заменилось на urlencoded параметр. Грешу на aptitude. В общем, как завещал великий Ленин, мне нужно учиться, учиться и еще раз учиться. Отдельное спасибо Костику за смешивание веток. Не знал об этом.

zoonman
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.