LINUX.ORG.RU
ФорумTalks

ldd


1

0

Есть у меня папка с бинарниками (./bin), нужно скопировать либы, которые им нужны в папку (./lib).
Как это дело автоматизировать? Просто влом ручками копировать.

Как этот скрипт должен выглядеть? Может есть что-то готовое?
Я загрузочный линукс делаю. Сейчас вот формирую базовую систему...

anonymous

Ответ на: комментарий от anonymous

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

for, ldd, awk, readlink, cp...

K48 ★★★★
()
Ответ на: комментарий от anonymous

#!/bin/sh

for i in bin/*
do
        echo Processing file $i
        files=`ldd $i | grep '=>' | sed 's/.*=>//' | sed 's/(.*//'`
        for each in $files
        do
                echo "  Copying $each to lib/"
                cp "$each" /home/anton/lib/
        done
        echo -e "Done\n"
done

БАГИ:
1) Не делает симлинков
2) Кое-какие файлы придется скопировать вручную. 
Их мало: linux-gate.so и т.п., т.е. к которым ldd сразу же полностью выдает путь.

K48 ★★★★
()
Ответ на: комментарий от K48

Кстати, до сих пор не умею работать с регулярными выражениями в шелле :(

K48 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.