tisdag 10 mars 2015

linux - undo apt-get-build-dep

När du vill kompilera något från källa i Ubuntu / Debian, det enklaste sättet att installera beroenden som krävs för att sammanställa det är att köra (sudo) "apt-get build-dep PACKAGE_NAME". Men det finns ingen inbyggd kommando för att ta bort dessa beroenden (som apt-get remove-dep).

Men tack vare tvst och Wesley Schwengle, kan du ångra "apt-get build-dep" genom att köra följande kommando (först installera aptitude använder "sudo apt-get install aptitude"):
sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g')
sudo apt-get autoremove
 
 Ångra apt-get build-dep (Ta Build beroenden)

Författare: Andrew | Datum: söndag, oktober 24, 2010


Tweet
När du vill kompilera något från källa i Ubuntu / Debian, det enklaste sättet att installera beroenden som krävs för att sammanställa det är att köra (sudo) "apt-get build-dep PACKAGE_NAME". Men det finns ingen inbyggd kommando för att ta bort dessa beroenden (som apt-get remove-dep).

Men tack vare tvst och Wesley Schwengle, kan du ångra "apt-get build-dep" genom att köra följande kommando (först installera aptitude använder "sudo apt-get install aptitude"):

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

I ovanstående kommando, ersätt "PACKAGE_NAME" med namnet på det paket du tidigare har sprang "apt-get build-dep" för. Running "sudo apt-get autoremove" bör då ta bort alla paketen som är byggberoenden för PACKAGE_NAME och därmed, installerades av "apt-get build-dep" kommandot.


Uppdatera: det finns problem med detta kommando och några paket. Till exempel försöker ångra "apt-get build-dep" för vin leder märkning ett stort antal paket som automatiskt installerade. Om det händer, kör "sudo apt-get install PAKET-märkt-AS-automatiskt installerade" markerar paketen som installeras så att de inte kommer att tas bort, ångra kommandot ovan. Så använd detta med omsorg och endast om du vet vad du gör!

I fall du undrar vad kommandot ovan gör:

    lämplighets auto - Markera paket har konstaterats installeras automatiskt (så om någon är beroende av dem, kommer de att tas bort)
    apt-cache showsrc - Visa källposter
    sed ....: - söker efter "Bygg-Depends:" i källdokument och tar bort onödiga grejer från paketnamnen (extra tecken som parenteser osv avlägsnas från utgången).


För att använda den som ett alias i din ~ / .bashrc-fil, se wilo108 kommentar nedan.

Inga kommentarer: