
Я работаю над тем, чтобы очистить систему от минимального количества файлов, пакетов и т. д., необходимого для обеспечения желаемой мной функциональности.
Я обнаружил, что многие пакеты, которые я хотел бы сохранить, имеют зависимости от пакетов, которые совершенно не нужны и/или нежелательны для собираемого мной дистрибутива, помимо того факта, что они являются зависимостями.
Я знаю, что могу извлечь исходный код для каждого пакета, составить список функций из нежелательных зависимостей, просканировать исходный код пакета, который я хочу сохранить, на предмет того, где эти функции вызываются (если они вообще вызываются), и очистить библиотеку, оставив только эту функцию и, возможно, ее API или что-то еще, что необходимо для предоставления этой функциональности пакету, который я хочу сохранить.
Я уже сделал это,один разчтобы увидеть, возможно ли это. Это возможно. Однако это отнимает много времени, утомительно и вряд ли подходит для автоматизации.
Есть ли какая-то опция, которую я не смог найти, dpkg
или существует программа, которая ускользнула от моих (конечно, не выдающихся) исследовательских способностей, чтобы достичь желаемого мной эффекта?
решение1
deborphan
попытки решить эту проблему.
aptitude
делает это за вас «за кулисами», отслеживая, какие пакеты можно удалить, поскольку они были загружены только для удовлетворения зависимости от пакета, который больше не установлен.
debfoster
рекламируется схожая функциональность, но у меня нет практического опыта ее использования.
Все они работают на уровне пакетов и используют объявленные зависимости в dpkg
базе данных . Ваш вопрос, похоже, предполагает, что вы хотите разобрать отдельные пакеты, чтобы удалить код и другие ресурсы, которые вам не нужны. Это значительно более сложная и ответственная задача; я не думаю, что существует что-то готовое и готовое для решения этой проблемы.