Вопрос или проблема
Я не встречал эту конкретную проблему нигде. Когда я пытаюсь обновить libc6 с 2.40-3 до 2.40-4, я получаю следующий вывод:
Предварительная настройка пакетов …
(Чтение базы данных … в настоящее время установлено 223566 файлов и директорий.)
Подготовка к распаковке …/libc6_2.40-4_amd64.deb …
dpkg-divert: ошибка: ‘отвлечение /lib64/ld-linux-x86-64.so.2 на /lib64/ld-linux-x86-64.so.2.usr-is-merged от libc6’ конфликтует с ‘локальным отвлечением /lib64/ld-linux-x86-64.so.2 на /lib64/ld-linux-x86-64.so.2.usr-is-merged’
dpkg: ошибка при обработке архива /var/cache/apt/archives/libc6_2.40-4_amd64.deb (–unpack):
новый скрипт предварительной установки пакета libc6:amd64 вернул код выхода с ошибкой 2
Во время обработки ошибок были встречены:
/var/cache/apt/archives/libc6_2.40-4_amd64.deb
Ошибка: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)
Мне трудно понять, в чем проблема, чтобы обойти её. Что такое локальное отвлечение в отличие от обычного отвлечения и почему они конфликтуют? Любая помощь будет очень полезна. Пока я поставил на удержание libc6 и могу обновить остальную часть системы, но я знаю, что мне придется как-то решить эту проблему.
Я пробовал установить libc6-dev и перезагрузиться, затем обновить libc6 — тот же результат. Я пытался насильно удалить libc6 с помощью:
dpkg -r –force-depends libc6
Что привело к поломке системы, которую не удалось исправить, потому что sudo/su были сломаны. Восстановился из резервной копии, но я не знаю, что делать дальше.
Ответ или решение
Как обновить libc6 в Debian Sid: Решение проблемы с местными диверсиями
Обновление критически важных пакетных библиотек в операционной системе, такой как Debian, может вызвать некоторые сложности. Ваша проблема связана с обновлением libc6
и конфликтом местных диверсий, которые препятствуют обычному процессу установки. В этом ответе мы разберемся с основной причиной возникновения проблемы и предложим ряд шагов для ее решения.
Понимание диверсий
Диверсия пакета – это специальный механизм в системе управления пакетами Debian (dpkg), который позволяет вам временно переименовать или изменить путь установки файла, чтобы предотвратить его перезапись или изменения. Ваша ошибка указывает на то, что существует конфликт между диверсиями:
- Стандартная диверсия:
diversion of /lib64/ld-linux-x86-64.so.2 to /lib64/ld-linux-x86-64.so.2.usr-is-merged by libc6
. - Местная диверсия:
local diversion of /lib64/ld-linux-x86-64.so.2 to /lib64/ld-linux-x86-64.so.2.usr-is-merged
.
Когда вы пытаетесь обновить libc6
, система обнаруживает, что совпадают названия диверсий, что и вызывает ошибку.
Устранение конфликтов
Прежде чем продолжить, настоятельно рекомендуется сделать резервную копию данных, если вы этого еще не сделали. Резервное копирование поможет вам избежать потери данных, если что-то пойдет не так.
Шаг 1: Удаление местной диверсии
Для устранения конфликта нужно сначала удалить местную диверсию. Это можно сделать с помощью команды dpkg
:
sudo dpkg-divert --remove /lib64/ld-linux-x86-64.so.2
Эта команда удалит местную диверсию, позволяя пакету libc6
корректно обновиться.
Шаг 2: Обновление libc6
После того как вы убрали местную диверсию, вы можете снова попытаться обновить пакет libc6
:
sudo apt update
sudo apt upgrade libc6
Убедитесь, что нет других пакетов, которые блокируют процесс обновления.
Шаг 3: Устранение возможных зависимостей
Если проблема все еще не решена, возможно, потребуется установить отсутствующие зависимости или удалить зависимые пакеты. Используйте команду:
sudo apt autoremove
Шаг 4: Восстановление системы (в случае необходимости)
Если вы уже пробовали удалить libc6
с помощью команды dpkg -r --force-depends libc6
и ваш компьютер стал неработоспособным, то возможно вам потребуется восстановить систему из резервной копии. В будущем избегайте принудительных удалений критических системных библиотек без тщательного анализа последствий.
Заключение
Обновление libc6
в Debian Sid может вызывать сложности, но с пониманием работы системы диверсий и шагами по устранению конфликта можно минимизировать риски. Следуйте указанным шагам и, в случае возникновения других проблем, не стесняйтесь обращаться за помощью на форумы и к документам сообщества Debian.
Эта проблема является распространенной среди пользователей всех дистрибутивов на базе Debian, поэтому сохранение резервных копий и обновление с осторожностью является ключевым моментом в поддержании стабильности системы.