Обнаружение пропущенных двоичных символов в репозитории Linux

247
gluk47

Есть ли инструмент, который может проверить, что репозиторий linux содержит все необходимые двоичные символы? Мне нужно проверить полноту хранилища над двоичными символами.

Т.е. мне нужно знать, что для каждого исполняемого файла в хранилище все его внешние символы (как сообщается nm -g) предоставляются некоторой общей библиотекой из этого хранилища.

На данный момент мой целевой репозиторий не ограничен rpm или deb, или каким-либо конкретным дистрибутивом вообще, я просто должен знать, есть ли вообще такой инструмент?

Мне это не помогло, поэтому я буду благодарен, по крайней мере, за ключевые слова для Google.

1
На случай, если кому-то тоже это интересно, я написал инструмент для ROSA Linux (он не зависит от дистрибутивов и пакетов). https://pypi.python.org/pypi/repochecker_binsym/0.9.4 gluk47 8 лет назад 1

1 ответ на вопрос

2
Jeff Johnson

В ALT linux реализовано нечто, называемое set: версии как тип зависимости,

Набор: версии представляет собой компактную кодировку символов, которая может эффективно выполнять поднаборы. Это означает, что исполняемый файл, который использует только некоторые из символов в библиотеках, имеет set: version, которая может определить, является ли она надлежащим подмножеством, то есть не содержит пропущенных символов.

Реализация набора: версия написана Алексеем Турбиным.

Между тем, нетрудно использовать nm (1) для генерации списков всех предоставленных библиотечных символов и всех необходимых исполняемых символов.

Если вы используете общий формат файла для предоставленных / требуемых символов, а также размечаете и удаляете дубликаты с помощью «sort -u», то вы можете просто различать два файла, чтобы убедиться, что нет неразрешенных символов.

Похожие вопросы