Я хочу использовать недавний пакет из PPA. Как мне убедиться, что сопровождающий PPA не добавил вредоносный код в предоставленной там версии?
devscripts
. .dsc
. dget url_of_dsc_file
. Это загрузит и распакует исходный код, использованный для сборки пакета, в каталог. Переименуйте этот каталог в ppa
. .dsc
из https://launchpad.net/ubuntu/+source/source_package_name
). Загрузите и распакуйте его, затем переименуйте этот каталог в upstream
, используя dget
для загрузки из .dsc
при необходимости. upstream
и ppa
, чтобы увидеть, были ли внесены какие-либо вредоносные изменения в ppa
, которых не было в upstream
. Для этого вы можете использовать meld, который является графическим средством просмотра различий. apt-get install meld
, затем запустите meld upstream ppa
. Он покажет вам, какие файлы являются новыми, изменены или удалены, и вы можете дважды щелкнуть файл, чтобы просмотреть подробные изменения в удобном для просмотра формате. Поскольку PPA создаются из источника в инфраструктуре Canonical, вы можете верить, что бинарный файл, который вы установили из PPA, соответствует источнику, который вы просматриваете, как указано выше, при условии, что вы доверяете Canonical. Это должно быть приемлемо, учитывая, что вы доверяете Canonical для создания Ubuntu.
Вы действительно не можете быть уверены, что в пакете, предоставленном PPA, нет вредоносного ПО, но вы можете по крайней мере проверить, что исходный код не был подделан:
orig.tar.*
и распакуйте его diff -r orig-dir/ ppa-dir/
Вам также необходимо проверить саму упаковку. Пакеты Debian могут содержать патчи к дереву исходного кода и могут добавлять дополнительный код.
Пакеты Debian (.deb) можно распаковать так:
ar p mypackage.deb data.tar.gz | tar zx