Назад | Перейти на главную страницу

Исправление пакетов 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/

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

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

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

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

apt-get update
apt-get dist-upgrade

Как сказал wurtel в комментарии, вы также можете изменить все свои источники на тестирование, а затем выполнить dist-upgrade на тестирование.

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