24 апреля 2011 г.

Поиск "проблемных" бинарников в системе

Если в системе по каким-то причинам есть бинарные файлы, а нет 
внешних библиотек к ним, то этот скрипт поможет достаточно 
просто найти такие файлы:

   #!/bin/bash
   # скрипт для поиска проблемных файлов
   # список директорий для поиска
   directory=("/usr/bin/" "/usr/sbin/" "/bin/" "/usr/lib/" "/usr/lib64/")
   toreplace="=> not found"

   # Loop through our array.
   for x in ${directory[@]}
   do
     # Find all Files
     # for i in $(find $x -type f -executable)
     for i in $(find $x -type f)
     do
     # если ldd выдает ошибку "not found".. 
     n=`ldd "$i" | grep found 2>/dev/null`
     if [ -n "$n" ]; then
     #  echo $i " not found lib: " $n
     #  с небольшой корректировкой, выкидываем "=> not found"
        echo "$i  not found lib(s): $n" | sed "s/$toreplace//g"
     fi
     done
   done

Комментариев нет:

Отправить комментарий