Неможливо оновити libc6 на Debian


0

Я спробував оновити свою систему, з якою у мене не було жодних проблем, і я зіткнувся з проблемою під час виконання повноцінного оновлення можливостей . Оновлення пройшло нормально, доки я не отримав помилку

 Preparing to replace libc6 2.13-21 (using .../libc6_2.13-24_amd64.deb) ...

A copy of the C library was found in an unexpected directory:
  '/lib/ld-2.11.2.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' and try again.

dpkg: error processing /var/cache/apt/archives/libc6_2.13-24_amd64.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.13-24_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
dpkg: dependency problems prevent configuration of libc6-dev:
 libc6-dev depends on libc6 (= 2.13-24); however:
  Version of libc6 on system is 2.13-21.
dpkg: error processing libc6-dev (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libc6-i386:
 libc6-i386 depends on libc6 (= 2.13-24); however:
  Version of libc6 on system is 2.13-21.
dpkg: error processing libc6-i386 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libc6-dev
 libc6-i386

Коли я намагаюся оновити або встановити будь-який пакет, я отримую цю помилку. Будь-які спроби переміщення файлів вимагали переміщення лише більше файлів. Я також не зміг виправити dpkg.

Деякі відомості:

Debian Linux 3.1.0-1-amd64
#dpkg -l | grep libc6
ii  libc6                                2.13-21                       
iU  libc6-dev                            2.13-24                        
iU  libc6-i386                           2.13-24    

Дякую !


Ви пропустили версію debian?
pjc50

2.13-21 -> 2.13-24 схоже, що ви модернізуєте нестабільний або тестуєте /lib/ld-2.11.2.так існує у стабільному; Я думаю, що це повинно було бути видалено в якийсь момент ланцюга оновлення. Напевно ви виявите, що 'dpkg -S ld-2.11.2.so' виявляє, що його немає в жодному пакеті. Ви можете це підтвердити?
Річард Кеттвелл,

@ pjc50 Ні, я просто не оновлював свою систему близько 3 тижнів
cete3

@RichardKettlewell Ви маєте рацію, вихід команди - "dpkg-query: не знайдено шлях, що відповідає шаблону ld-2.11.2.so "
cete3

оскільки це один із найкращих звернень Google щодо повідомлення про помилку, я публікую це, щоб повідомити користувачам Knoppix, які стикаються з цим, подивитися тут: knoppix.net/forum/threads/…
jcomeau_ictx

Відповіді:


1

Після відповіді на коментар ...

Почніть з перевірки того, що при запуску програми ви отримуєте копію динамічного лінкера, який не включає цей шлях. Ви повинні побачити:

$ ldd /bin/ls | grep ld-linux
    /lib64/ld-linux-x86-64.so.2 (0x00007fc695aef000)

(Шістнадцяткова адреса може відрізнятися.) Цей файл повинен бути символьним посиланням, яке вказує на /lib/x86_64-linux-gnu/ld-2.13.soяке не повинно бути символьним посиланням і, звичайно, не повинно закінчуватися на ld-2.11.2.so.

Якщо припустити, що все виглядає правильно, слід безпечно йти вперед і перейменовувати /lib/ld-2.11.2.soдорогу (хоча я все-таки мав би допомогти засобам порятунку). Не видаляйте його, поки не будете впевнені, що все все в порядку, якщо виявиться, що вам потрібно повернути його назад!

Ви можете виявити, що є скарги на інші файли, що залишилися, які можна перевірити і вирішити майже однаково.

Очевидно, ця порада не перевірена безпосередньо!


1

У мене була ця проблема. . остаточно зафіксував його

  1. хронінг в пошкоджену / застопорену систему, де я
  2. mv'ed купу lib.so вийшов з lib / i38 у папку temp у цих розділах / root та
  3. створюючи посилання на кожне із них. У цей момент це стало можливим
  4. завантажуйте цей розділ, а потім
  5. оновлення, як завжди (Точний перелік файлів не спадає на думку і все одно, ймовірно, буде відрізнятися від системи до системи - він включав LN-потоки GNU та деякі інші, кожен з яких підняв жахливу - lib у повідомленні про несподіване місцезнаходження) Після оновлення нового libs буде у звичайному / lib / i386 (або вашому еквіваленті), і завантаження залежності LSB створить для вас нові посилання. Переконавшись, що все добре, ви можете знищити тимчасову папку і .so перемістився туди раніше. Сподіваюся, це може допомогти ...
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.