как удалить все пакеты, установленные & ldquo; aptitude build-dep & rdquo;

Можно ли отменить все изменения, сделанные «aptitude build-dep xxxxxx», т.е. удалить все зависимости, установленные этой командой?

7
задан 22 May 2012 в 22:10

3 ответа

Я не думаю, что есть автоматический путь. Пакеты, установленные через build-dep, записываются так же, как если бы они были запрошены напрямую по имени.

Если вы приблизительно знаете, когда вы запустили aptitude build-dep, вы можете узнать, какие пакеты были установлены при запуске команды, просмотрев журналы в /var/log/aptitude* или /var/log/apt/*.

Вы можете запустить apt-cache showsrc PACKAGENAME | grep '^Build-depends:', чтобы получить список зависимостей сборки пакета. Просмотрите каждый из них, чтобы увидеть, если вы хотите их; пометьте те, которые вам не нужны, как не установленные вручную (apt-get markauto PACKAGENAME), и сбросьте ненужные пакеты (apt-get autoremove).

0
ответ дан 22 May 2012 в 22:10

В будущем я настоятельно рекомендую использовать mk-build-deps -i вместо aptitude build-dep. Это оставляет пакет установленным в вашей системе, в зависимости от сборки, который вы можете легко удалить позже.

0
ответ дан 22 May 2012 в 22:10

Я нашел эти команды в вопросе Launchpad :

sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')

Существует также альтернатива, основанная на sed, которая справляется со скобками в именах пакетов:

sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g')
[ 117] Примечание. Замените PACKAGE_NAME вашим собственным пакетом.

0
ответ дан 22 May 2012 в 22:10

Другие вопросы по тегам:

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