LinuxForum.Fans
Тема

Проверка целостности системы

Автор: GLX 7 сообщений 5186 просмотров
#285553

Всем привет ! Друзья, есть ли какая-нибудь команда что бы проверить есть ли в системе все необходимые зависимости ? Вот например стоит Gimp, но не запускается, значит чего то не хватает, можно ли как-нибудь проверить чего именно ?

#285554
text
1. ldd $(which gimp)
2.tail +13 CHECKSUMS.md5 | md5sum -c --quiet - | less

Второе (см. заголовок темы) описано в файле CHECKSUMS.md5 и к зависимостям не имеет никакого отношения.
UPD: для проверки зависимостей всей системы можно поступить примерно так:

text
for file in $(find / -type f -executable 2>/dev/null); do ldd $file | grep "not found" | sort -u >> ~/dependencies.txt
#285555

Спасибо !

#287147
"yars" написал:
for file in $(find / -type f -executable 2>/dev/null); do ldd $file | grep "not found" | sort -u >> ~/dependencies.txt

Не работает это ни каким каком! Что это за заклинания?

#287287
GLX написал:
можно ли как-нибудь проверить чего именно ?

Да без проблем - надо просто в консоли написать gimp и нажать на enter. А потом в выхлопе будет написано чего именно не хватает.

#287370
Wehrmacht_Rover написал:
Не работает это ни каким каком! Что это за заклинания?

Это здравая идея в плохой реализации.
Идея: пройтись по всем исполняемым файлам, для каждого позвать "ldd имя_файла", поискать в выводе "not found" и сложить результат -- отсутствующие библиотеки, нужные кому-либо -- в файл ~/dependencies.txt, исключив дубликаты.
Дефекты реализации:
1) аргумент for легко может вылезти вылезет за предельный размер командной строки, решение -- замена "for f in $(команда);" на "команда | while read f;"
2) среди исполняемых файлов довольно много скриптов на чём угодно, с другой стороны, ldd на это "по барабану";
3) с практической точки зрения может оказаться достаточным анализа /usr/local/bin;/usr/bin;/bin;/usr/local/sbin;/usr/sbin;/sbin;/usr/lib;/usr/libexec плюс содержимое PATH

По поводу поиска зависимостей есть slackdeptrack и ещё несколько подобных.

#288340

Вообще говоря лучшая проверка целостности это prelink..
Где напишет "Could not find one of the dependencies" там и засада
Убиваются сразу два зайца из-за угла - и быстрота и система проверяется
Топология в действии - кривой путь он всегда короче :-)

Войдите или зарегистрируйтесь, чтобы ответить.