Исправление пакетов Debian - не работает локаль - невозможно установить пакеты - сломаны библиотеки

Я сделал что-то ужасное и, надеюсь, не уничтожил мой Debian 9 Strech... Я погуглил, как 2 часа, чтобы это исправить, но ничего не помогло...

Что я сделал: мой ClamAV устарел, и я вручную добавил источник тестирования в /etc/apt/sources.list и набрал в терминале "apt-get install clamav", теперь некоторые библиотеки сломаны... Более того, я удалил тестирование Источник снова и попытался восстановить состояние, но безуспешно. Команда предложила использовать "apt --fix-broken install", и я это сделал.

Теперь кажется, что мой язык полностью исчез, и некоторые библиотеки тоже: Каждый раз, когда я пытаюсь обновить / установить что-то, я получаю это:

Нажмите для лучшей читаемости (сообщение об ошибке)

> apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Can't exec "locale": No such file or directory at /usr/share/perl5/Debconf/Encoding.pm line 16.
Use of uninitialized value $Debconf::Encoding::charmap in scalar chomp at /usr/share/perl5/Debconf/Encoding.pm line 17.
Setting up linux-image-4.9.0-8-amd64 (4.9.144-3.1) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.9.0-8-amd64
WARNING: no ldd around - install libc-bin
update-initramfs: failed for /boot/initrd.img-4.9.0-8-amd64 with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-4.9.0-8-amd64 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 linux-image-4.9.0-8-amd64
> 
> 

Другое сообщение об ошибке, которое я получаю, когда использую "sudo apt-get install --reinstall libc-bin"

> 
> Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
> 
> The following packages have unmet dependencies:
 libc-bin : Depends: libc6 (< 2.25) but 2.28-6 is to be installed
E: Unable to correct problems, you have held broken packages.

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

Я попытался исправить это с помощью этих команд:

> sudo locale-gen "en_US.UTF-8"`
-> locale-gen: command not found
> 
> update-locale LANG=de_DE.UTF-8
-> update-locale: command not found

Я также пытался следовать этой инструкции: https://itsfoss.com/fix-exec-locale-file-directory/

Также не помогло.

Я так расстроен, потому что у меня нет резервной копии, которую я могу восстановить. Спасибо за вашу помощь

1 ответ

Всякий раз, когда кто-то говорит вам добавить источники из нестабильных или тестируемых систем в вашу стабильную систему, вы должны игнорировать их и продолжать искать другой вариант. Это самый распространенный способ поломки систем Debian.

Может быть возможно исправить систему с помощью dist-upgrade. Сначала удалите все источники тестирования, убедившись, что каждый источник apt работает стабильно (или oldstable, если это то, что вы используете), а затем:

apt-get update
apt-get dist-upgrade

Как сказал в комментарии wurtel, вы также можете изменить все свои источники на тестирование, а затем выполнить дистрибуцию на тестирование.

Но имейте в виду, что ваша система настолько повреждена, что это может даже не исправить ее, и ваш последний вариант будет переустановить ОС.

Другие вопросы по тегам