LINUX.ORG.RU

Выяснить зависимости пакета не читая contol

 , ,


0

2

Привет.

Есть локальный deb-пакет. Скажем, mc_4.8.26-1.1_amd64.deb. Предположим, некий злодей пересобирает этот пакет, вычищая Depends в DEBIAN/control. Каким образом можно найти все зависимости? Так что бы mc запустился и работал.

Я могу установить пакет, а дальше ldd /usr/bin/mc и по отсутствующим библиотекам выяснять зависимости. Это верный путь? Есть еще решения?

При условии что резервной копии пакета у меня нет, связи с девелопером/мейнтейнером и тп так же нет.


ldd как ты описал сделать необходимо, и не только на главный бинарник, а и на остальные (если есть) которые планируешь использовать. Но не достаточно. Могут быть зависимости от всяких файлов с данными, которые ldd не увидит - и общего способа их всех выявить не существует. Ну кроме внимательного чтения исходников проги.

Ещё способ, опять же не полный как и все остальные - запускаешь прогу, она падает или пишет ошибку, ищешь недостающее итак пока не запустится нормально. Но может выйти что она вроде как запустилась, но на самом деле какая-то фича не работает или работает не правильно, а всего не протестируешь.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

«Я могу установить пакет»

можешь не устанавливать пакет, просто распакуй его архиватором и дай команду типа ldd /tmp/unpacked/mc | grep found

d00fy ★★★
()

Еще стоит ознакомиться с функционалом lsof. Он позовляет посмтреть какие файлы открывает программа при запуске. Например из под рута, когда ей можно создать все что ей нужно, типо конфигов в /etc и ресурсов в /usr/share.

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