loremOS Admin

"Системное администрирование – это культура"

ldconfig: Файл (библиотека).so пуст; не был проверен.

Опубликовано 4th Mar 2019 10:23:32 в категории Linux

Здравствуй, дорогой друг!

Иногда может случиться так, что после неудачного обновления (например, во время обновления произошел сбой питания) появляется проблема, из-за которой возникает, как следствие, следующая ошибка: при попытке установки|удаления пакетов в консоли пробегают строки вида

ldconfig: Файл /usr/lib/libvirt-glib-1.0.so пуст; не был проверен.
ldconfig: Файл /usr/lib/libnetcf.so.1 пуст; не был проверен.
ldconfig: Файл /usr/lib/libgdlmm-3.0.so.2.0.0 пуст; не был проверен.
ldconfig: Файл /usr/lib/libradosstriper.so пуст; не был проверен.
ldconfig: Файл /usr/lib/libgtksourceviewmm-3.0.so пуст; не был проверен.
ldconfig: Файл /usr/lib/libvirt-qemu.so.0.1003.1 пуст; не был проверен.
ldconfig: Файл /usr/lib/libspice-server.so.1 пуст; не был проверен.
ldconfig: Файл /usr/lib/libaugeas.so.0 пуст; не был проверен.
ldconfig: Файл /usr/lib/libcephfs.so.1.0.0 пуст; не был проверен.
ldconfig: Файл /usr/lib/libspice-server.so.1.10.0 пуст; не был проверен.
ldconfig: Файл /usr/lib/libvdeplug.so пуст; не был проверен.
ldconfig: Файл /usr/lib/librbd.so.1.0.0 пуст; не был проверен.
ldconfig: Файл /usr/lib/libvdehist.so пуст; не был проверен.
ldconfig: Файл /usr/lib/librbd.so пуст; не был проверен.
ldconfig: Файл /usr/lib/libvirt-glib-1.0.so.0 пуст; не был проверен.

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

Решение достаточно простое (справедливо для Archlinux, но алгоритм одинаковый для всех менеджеров пакетов и дистрибутивов):

1) Узнаем список установленных пакетов с нулевым размером, грепнем названия, сохраним в txt файлик

pacman -Qi | awk '/^Название/{name=$3} /^Установленный размер/{print $4$5, name}' | sort -h | head -40 | grep -Po "(?<=0,00B )[^']+(?=$)" > null.txt

Если локаль не русская:

pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -h | head -40 | grep -Po "(?<=0,00B )[^']+(?=$)" > null.txt

Head - число выводимых пакетов, если их у тебя больше, соответственно, увеличь число.

Данная команда выводит 40 пакетов, сортирует по размеру (в самом верху - с нулевым размером), грепает название, сохраняет в файл null.txt

 

2) Переустановим пакеты, которые собрали в файл null.txt (опция --force необходима, так как, вероятно, часть файлов пакетов есть в системе, и при попытке переустановки будут ошибки, что файл такой-то существует)

sudo pacman -S - < null.txt --force

После этих несложных действий работа системы восстанавливается.

Следи за питанием во время обновления ;-)


Поделиться:


Теги