come disinstallare tutti i pacchetti installati da “aptitude build-dep”

È ansible annullare tutte le modifiche apportate da “aptitude build-dep xxxxxx”, ovvero disinstallare tutte le dipendenze installate da questo comando?

Non penso che ci sia un modo automatico. I pacchetti installati tramite build-dep vengono registrati come se fossero stati richiesti direttamente per nome.

Se sai approssimativamente quando hai eseguito aptitude build-dep , puoi scoprire quali pacchetti sono stati installati quando hai eseguito il comando osservando i log in /var/log/aptitude* o /var/log/apt/* .

È ansible eseguire apt-cache showsrc PACKAGENAME | grep '^Build-depends:' apt-cache showsrc PACKAGENAME | grep '^Build-depends:' per elencare le dipendenze di compilazione del pacchetto. Rivedi ognuno di loro per vedere se li vuoi; segna quelli di cui non ti interessa come non installati manualmente ( apt-get markauto PACKAGENAME ) e svuota i pacchetti non richiesti ( apt-get autoremove ).

Per il futuro, consiglio vivamente di usare mk-build-deps -i invece di aptitude build-dep . Questo lascia un pacchetto installato nel tuo sistema, a seconda dei build-deps, che puoi facilmente disinstallare in seguito.

Ho trovato questi comandi su una domanda del Launchpad:

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

Esiste anche un’alternativa basata su sed che gestisce le parentesi nei nomi dei pacchetti:

 sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g') 

Nota: sostituisci PACKAGE_NAME con il tuo pacchetto.