PPA in Konsole

Kurztipp: Alle PPAs in Ubuntu mit einem Konsolenbefehl auflisten

PPAs sind immer ein zweischneidiges Schwert. Einerseits ermöglichen sie es sehr einfach neue und aktuelle Software in Ubuntu zu nutzen, andererseits kann es immer wieder zu Problemen kommen. Daher sollte man sich immer einmal nach einer gewissen Zeit seine zusätzlich hinzugefügten Paketquellen anschauen. Dies ist natürlich standardmäßig über Systemeinstellungen und Software-Paketquellen einsehbar. Übersichtlicher und vor allem schneller bekomme ich dies jedoch mit einem einfachen, einzeiligen Konsolenbefehl:

grep -RoPish "ppa.launchpad.net/[^/]+/[^/ ]+" 
/etc/apt | sort -u | sed -r 's/\.[^/]+\//:/'

PPA in Konsole
Mittels dem Paket ppa-purge könnte man diese nun auch direkt aufräumen. Ich habe mir den Befehl mal in die Aliase gepackt. [via]

Update:

In dem Kommentaren kamen zwei gute Hinweise, dass zum einen natürlich nur Quellen aus Launchpad verglichen werden, zum anderen /etc/apt nicht perfekt ist. Dahier hier noch die vorgeschlagene Lösung:

find /etc/apt -name „*\.list“ -exec grep -v „\s*#“ ‚{}‘ \; | grep -v „deb-src“ | grep -Piso „ppa.launchpad.net/[^/]+/[^/ ]+“ | sed -r ’s~^ppa.launchpad.net/~ppa:~

Veröffentlicht von

Patrick Meyhöfer

Ich liebe gute Software, die auf gut funktionierender Hardware läuft. Egal ob mobil oder am Desktop-OS. Früher nutzte ich fast ausschließlich Open-Source-Software, mittlerweile ist es ein Mix zwischen Mac und Linux - beide Welten haben ihre Vorzüge.

8 Gedanken zu „Kurztipp: Alle PPAs in Ubuntu mit einem Konsolenbefehl auflisten“

  1. Dieser Befehl ist nicht ganz vollständig wie ich feststellen musste. Zum einen achtet der Befehl nicht darauf, ob ein PPA bereits deaktiviert ist (mit einer # zum Kommentar gemacht). Zum anderen liegen in /etc/apt nicht nur die eigentlichen Quellenlisten, sondern auch Backups und Sicherungsdateien. Ist nicht unbedingt sinnvoll, die auch abzugrasen.

    Hier meine Variante:

    find /etc/apt -name „*\.list“ -exec grep -v „\s*#“ ‚{}‘ \; | grep -Piso „ppa.launchpad.net/[^/]+/[^/ ]+“ | sed -r ’s~^ppa.launchpad.net/~ppa:~‘

      1. Huch, hab die Quelltext-Quellen nicht raussortiert:

        find /etc/apt -name „*\.list“ -exec grep -v „\s*#“ ‚{}‘ \; | grep -v „deb-src“ | grep -Piso „ppa.launchpad.net/[^/]+/[^/ ]+“ | sed -r ’s~^ppa.launchpad.net/~ppa:~‘

  2. Danke für den Tipp. Der erste Befehl funktioniert im Terminal, der zweite (von dAnjou) wurde aber von der Blogsoftware entstellt (Zeichen wie: ` “ ‚ ).
    Zudem: wie erstellt man einen Alias für solch komplexe Befehle? alias krz_befehl=’ganz langer Befehl‘ geht ja nicht, weil die Ticks (‚) durcheinander geraten (??)

  3. Schöne Idee und mal wieder ein schönes praktisches Beispiel für Scripting.
    Noch etwas performanter mit nur einem Kommandoaufruf geht es auch so:

    awk -F/ ‚$0~/^deb http:\/\/ppa/ {printf „ppa:%s/%s\n“, $4, $5;}‘ /etc/apt/sources.list /etc/apt/sources.list.d/*.list

    Eine grafische Alternative inkl. direkter Suche nach vorhandenen PPAs bei Launchpad:
    https://launchpad.net/y-ppa-manager

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.