Zum Hauptinhalt springen
Mole
Funktionen Getestet Stimmen Preis FAQ Blog
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
Jetzt kaufenKaufen Laden

    Hilfe, Dokumentation, Versionen und Artikel.

    Startseite/Blog

    Per .pkg-Paket installierte Mac-Apps deinstallieren

    DeinstallationVeröffentlicht 6. September 2026Aktualisiert 26. September 202610 Min. Lesezeit

    Eine App, die als .pkg-Installationsprogramm kam, ist nicht dasselbe wie eine App, die Sie aus einem Disk-Image gezogen haben. Das Installationsprogramm lief als root, konnte überall hinschreiben, wohin das Paket es anwies, und hat in der Belegdatenbank des Installationsprogramms festgehalten, was es installiert hat. Ziehen Sie die App in den Papierkorb, verschwindet ein Ordner aus dieser Aufzeichnung, und der Rest bleibt, einschließlich der Aufzeichnung selbst. Um diesen Fall geht es hier: wie Sie erkennen, dass ein Paket die App installiert hat, wie Sie lesen, was es auf der Festplatte abgelegt hat, was weg kann und was bleiben sollte. Verweigert der Finder das Löschen ganz oder kommt die App nach dem Löschen zurück, beginnen Sie stattdessen mit wenn sich eine Mac-App nicht deinstallieren lässt, und für eine App, die Sie selbst hineingezogen haben, beschreibt die vollständige Anleitung zum Deinstallieren den üblichen Weg.

    Warum der Papierkorb nicht reicht

    Ein Paket kann Dateien neben die App legen, nicht nur hinein. Als ich Apps über ihre offiziellen Installationsprogramme erneut installiert und wieder deinstalliert habe, hinterließ das offizielle Zoom-Paket drei launchd-Jobs und ein privilegiertes Hilfsprogramm, us.zoom.ZoomDaemon, außerhalb von zoom.us.app. Das Installationsprogramm von Logi Options+ installierte außerdem ein zweites Produkt, LogiRightSight, mit eigenem Beleg und eigenem LaunchAgent. DisplayLink Manager fügte /Library/LaunchAgents einen LaunchAgent hinzu. Microsoft Office installiert ein Paket mit gemeinsamen Frameworks, das Word, Excel und PowerPoint alle laden, und Microsoft AutoUpdate sowie ein Lizenzierungshilfsprogramm kommen mit. Nichts davon bewegt sich, wenn das App-Paket verschoben wird.

    Auch der Beleg bewegt sich nicht. Er liegt in der eigenen Datenbank des Installationsprogramms, getrennt von den Dateien, die er beschreibt, sodass pkgutil das Paket nach dem Entfernen der App weiterhin als installiert meldet. Nach einem sauberen Durchlauf des offiziellen Deinstallationsprogramms von DisplayLink waren seine beiden Belege noch da.

    Eine Passwortabfrage im Finder ist das andere Zeichen dafür, dass Sie es mit einem Paket zu tun haben. Das Installationsprogramm lief als root, also gehört das zurückgelassene App-Paket root, und das Verschieben verlangt eine Authentifizierung. Das ist normal und wird in der Anleitung zur Fehlerbehebung beim Deinstallieren behandelt.

    Prüfen, ob ein Paket sie installiert hat

    Beginnen Sie mit der Liste der Belege und dem Pfad der App selbst:

    pkgutil --pkgs | grep -i zoom
    pkgutil --file-info /Applications/zoom.us.app
    

    pkgutil --pkgs listet jede Paket-ID auf, die das Installationsprogramm auf dem Startvolume erfasst hat. Suchen Sie nach dem Hersteller und dem Produktnamen, nicht nur nach der Bundle-ID der App, denn die beiden haben oft nichts gemeinsam. Die App von Zoom ist us.zoom.xos, ihr Beleg ist us.zoom.pkg.videomeeting. Der Beleg, der Cookie.app installiert, ist app.fantasticthing.Bookkeeping. Sogar die Groß- und Kleinschreibung kann abweichen: Die Bundle-ID von 爱思助手 ist cn.i4Tools.mac, sein Beleg ist cn.i4tools.mac, und pkgutil vergleicht IDs exakt, sodass die Schreibweise mit Großbuchstaben „No receipt“ antwortet, obwohl der Beleg direkt daneben liegt. Kopieren Sie die ID aus der Ausgabe von --pkgs, statt sie abzutippen.

    pkgutil --file-info soll eigentlich das Paket nennen, das einen Pfad installiert hat, in pkgid:-Zeilen unter dem Pfad. Lesen Sie eine fehlende Antwort nicht als „nicht aus einem Paket“. Unter macOS 27 gab es bei mir für die meisten Pfade nur volume und path aus, gelöscht oder vorhanden; die App von DisplayLink Manager bekam diese leere Antwort, während ihre beiden Belege noch auf dem Mac lagen. Ein Beleg beweist auch nicht, dass Sie selbst eine .pkg ausgeführt haben: Der Mac App Store hinterlässt für manche Apps einen, etwa com.apple.pkg.TestFlight.

    Was ein Beleg festhält

    Zwei Befehle zeigen, was ein Paket installiert hat und wo:

    pkgutil --pkg-info us.zoom.pkg.videomeeting
    pkgutil --files us.zoom.pkg.videomeeting
    

    --pkg-info gibt Paket-ID, Version, volume, location und Installationszeit aus. --files gibt Pfade relativ zu diesem Volume und diesem Ort aus, der echte Pfad ergibt sich also aus allen dreien zusammen. Ein Beleg mit dem Ort Applications listet Foo.app/Contents/... auf; einer mit leerem Ort listet stattdessen Applications/Foo.app/... auf. Lesen Sie den Ort, bevor Sie die Liste lesen, sonst ist jeder Pfad falsch, den Sie nachschlagen.

    Die Liste enthält Verzeichnisse ebenso wie Dateien. --only-files und --only-dirs trennen beides, was nützlich ist, sobald Sie sehen, dass ein Beleg Library und Library/LaunchAgents selbst aufführen kann. Die Rohdaten liegen in /private/var/db/receipts, je Paket eine .bom und eine .plist, aber laut Handbuch von pkgutil kann sich der Ort der Belegdateien ändern, und man soll sie immer über pkgutil abfragen.

    Ein Beleg ist eine Karte, keine Löschliste

    Es ist verlockend, pkgutil --files in eine Schleife zu geben und alles zu entfernen. Genau so macht eine Paketdeinstallation etwas anderes kaputt. Die Liste sagt, was dieses Paket geschrieben hat, nicht, was nur dieses Paket nutzt:

    Was die Liste enthält Warum Sie es nicht einfach löschen können
    Verzeichnisse wie Applications, Library, Library/LaunchAgents Das Paket hat sie angelegt oder berührt, aber jede andere App auf dem Mac nutzt sie auch
    Frameworks und Hilfsprogramme, die ein Hersteller über mehrere Apps hinweg teilt Word, Excel und PowerPoint laden alle die gemeinsamen Office-Frameworks und stürzen ohne sie beim Start ab
    Inhalte, die mehrere Apps teilen GarageBand, Logic Pro, MainStage und Final Cut Pro teilen /Library/Application Support/GarageBand, /Library/Application Support/Logic und /Library/Audio/Apple Loops, erfasst unter den Belegen com.apple.pkg.MAContent10_*
    Ein weiteres Produkt, das dasselbe Installationsprogramm mitgebracht hat LogiRightSight kam mit Logi Options+ und funktioniert auch für sich allein weiter
    Plists von LaunchAgents und LaunchDaemons Ein geladener Job muss gestoppt werden, bevor seine plist verschwindet, sonst behält launchd einen Job ohne etwas auf der Festplatte dahinter

    Die Liste übersieht auch etwas. Sie hält fest, was die Nutzlast des Pakets auf der Festplatte abgelegt hat. Installationsskripte können mehr tun, und Pakete bringen sie mit: Das von Foxit etwa hat ein Postinstall-Skript und einen Aktualisierungsdienst. Die App schreibt ihre eigenen Daten unter Ihre Benutzer-Library, sobald sie läuft, und nichts davon steht in einem Beleg. Für diese Seite nutzen Sie Reste nach einer Deinstallation finden.

    Zuerst das Deinstallationsprogramm des Herstellers ausführen

    Apples Hinweise zum Löschen von Apps sind hier eindeutig: Enthält eine App ein Deinstallationsprogramm, ist dies „die beste Möglichkeit, die App und alle Anmeldeobjekte, Erweiterungen oder anderen Daten zu löschen, die die App möglicherweise an anderen Orten gespeichert hat“. Per Paket installierte Software bringt oft eines mit, weil der Hersteller seine eigenen Skripte, Hilfsprogramme und gemeinsamen Teile kennt. Sehen Sie im Disk-Image nach, aus dem das Paket kam, im Ordner der App unter Programme, in /Applications/Utilities, in den Menüs der App selbst und auf der Support-Website des Herstellers. Splashtop Personal etwa legt sein Deinstallationsprogramm in dasselbe Disk-Image wie das Paket.

    Haben Sie die App schon in den Papierkorb gezogen, holen Sie sie mit Ablage › Zurücklegen zurück, öffnen sie und starten von dort ihr Deinstallationsprogramm. Bei Sicherheitssoftware, VPN-Clients und Treibern ist das Werkzeug des Herstellers nicht optional: Erweiterungen und Netzwerkfilter lassen sich nur über die App entfernen, der sie gehören, wie Antivirenprogramme auf dem Mac deinstallieren beschreibt.

    Von Hand entfernen

    Gibt es kein Deinstallationsprogramm, sagt Ihnen der Beleg, wo Sie suchen müssen. Arbeiten Sie ihn in dieser Reihenfolge ab:

    1. Beenden Sie die App und alles, was sie im Hintergrund ausführt.
    2. Lesen Sie mit --pkg-info den Ort, dann mit --files die Liste, und notieren Sie die Pfade außerhalb des App-Pakets.
    3. Entladen Sie für jeden LaunchAgent oder LaunchDaemon in der Liste den Job mit launchctl bootout, bevor Sie seine plist verschieben. Der launchd-Abschnitt der Anleitung zur Fehlerbehebung erklärt, warum die Reihenfolge zählt.
    4. Legen Sie nur in den Papierkorb, was eindeutig zu diesem Produkt gehört: das App-Paket, Ordner und plists, die nach seiner Bundle-ID oder seinem Produkt benannt sind, sein Hilfsprogramm in /Library/PrivilegedHelperTools. Lassen Sie gemeinsame übergeordnete Ordner und alles, was andere Apps des Herstellers noch nutzen, stehen. pkgutil --pkgs | grep -i vendorname zeigt, ob noch andere Pakete desselben Herstellers installiert sind; wenn ja, bleiben ihre gemeinsamen Frameworks.
    5. Vergessen Sie den Beleg zuletzt, sobald nichts mehr übrig ist, was er auflistet:
    sudo pkgutil --forget com.vendor.pkg
    

    --forget verwirft den Beleg und lässt, so das Handbuch, die installierten Dateien unangetastet. Wer es zuerst ausführt, lässt jede Datei stehen, ohne dass noch eine Aufzeichnung auf sie verweist, und macht den Rest der Arbeit damit schwerer. Es braucht sudo, weil /private/var/db/receipts root gehört, und es braucht die ID genau so, wie --pkgs sie schreibt. Ein veralteter Beleg enthält keine Benutzerdaten; sind Sie unsicher, ob etwas darin noch genutzt wird, kostet es nichts, den Beleg stehen zu lassen.

    Das Ergebnis prüfen

    Diese Befehle lesen nur. Ersetzen Sie com.vendor.pkg und vendorname durch das, was Sie oben gefunden haben:

    id=com.vendor.pkg
    loc=$(pkgutil --pkg-info "$id" | sed -n 's/^location: //p')
    pkgutil --files "$id" --only-files | while IFS= read -r f; do
      p="/${loc:+$loc/}$f"
      [ -e "$p" ] && echo "$p"
    done
    pkgutil --pkgs | grep -i vendorname
    ls /Library/LaunchAgents /Library/LaunchDaemons /Library/PrivilegedHelperTools | grep -i vendorname
    launchctl list | grep -i vendorname
    launchctl print system | grep -i vendorname
    

    Die Schleife gibt jede Datei aus dem Beleg, die noch existiert, mit vollständigem Pfad aus. Keine Ausgabe bedeutet, dass die Nutzlast weg ist und der Beleg bedenkenlos vergessen werden kann. Ausgabe innerhalb des App-Pakets bedeutet, dass die App noch installiert ist; Ausgabe an anderer Stelle ist das, was beim Entfernen übersehen wurde, oder das, was Sie behalten wollten, weil eine andere App es teilt. Antwortet pkgutil mit „No receipt for ... found“, ist der Beleg schon vergessen oder die ID anders geschrieben. Die Zeilen mit ls und launchctl fangen Hilfsprogramme ab, die der Beleg nie aufgeführt hat. launchctl list zeigt Ihre eigenen Agents, launchctl print system die Daemons. Jede Zeile aus einem der beiden bedeutet, dass der Job noch geladen ist, und eine Zahl ungleich null in der ersten Spalte heißt, dass er gerade läuft.

    So geht Mole mit per pkg installierten Apps um

    Wenn Sie in Mole eine App entfernen, liest es die Belege, deren Namen zur Bundle-ID oder zum Produktnamen der App passen, und führt die Pfade daraus auf, die noch existieren, aber nur innerhalb eines engen Rahmens: das App-Paket unter Programme und unter /Library nur die Ordner Application Support, Caches, Logs, PrivilegedHelperTools, WebKit und HTTPStorages sowie plists in Preferences, LaunchAgents und LaunchDaemons, die genau nach dieser Bundle-ID benannt sind. Diese Zeilen kommen ohne Haken an, Sie haken also jede an, nachdem Sie sie gelesen haben. Pfade unter /Users, /opt, /usr und /private werden aus einem Beleg nie zu Zeilen, und die Belegdateien selbst auch nicht.

    Ist die App weg, vergisst Mole den Beleg, der nach ihrer Bundle-ID benannt ist, in der Schreibweise, die pkgutil auf der Festplatte hat, und einen Herstellerbeleg, den es über pkgutil --file-info findet, Letzteren nur, wenn keine der Dateien, die dieser Beleg auflistet, mehr existiert. Das geschieht nur, wenn das Administratorhilfsprogramm für diese Entfernung bereits autorisiert war, sodass nie eine zusätzliche Passwortabfrage für einen Beleg erscheint. Bei der Suche nach Herstellerbelegen überspringt Mole Apples Belege com.apple.*.

    Die Grenze ist die oben beschriebene. Weil pkgutil --file-info unter macOS 27 selten antwortet, kann ein Beleg, dessen ID nichts mit der App zu tun hat, bleiben, nachdem Mole die App entfernt hat, so wie die beiden von DisplayLink und der von Zoom. Sie sind nur Aufzeichnungen, und sudo pkgutil --forget räumt sie ab. Bei Treibern, VPN-Clients und Sicherheitssoftware ersetzt Mole nicht das Deinstallationsprogramm des Herstellers.

    Häufige Fragen

    Deinstalliert pkgutil --forget die App?

    Nein. Laut Handbuch verwirft es alle Belegdaten des Pakets, lässt aber die installierten Dateien unangetastet. Führen Sie es aus, nachdem die Dateien weg sind, nie statt sie zu entfernen.

    Kann ich jede Datei löschen, die pkgutil --files auflistet?

    Nein. Die Liste enthält Systemverzeichnisse wie Library und Applications, Frameworks, die andere Apps des Herstellers laden, und plists für Jobs, die womöglich noch laufen. Nutzen Sie sie, um zu finden, was Sie prüfen sollten, und entfernen Sie dann, was nur zu diesem Produkt gehört.

    Die App ist weg, aber pkgutil --pkgs listet sie noch auf. Ist sie noch installiert?

    Nicht unbedingt. Das Löschen von Dateien aktualisiert den Beleg nie, er bleibt also, bis ihn jemand vergisst. Führen Sie die Prüfschleife oben aus: Existiert nichts mehr, was der Beleg auflistet, ist nur noch die Aufzeichnung übrig, und sudo pkgutil --forget entfernt sie.

    Mole entfernt Caches und App-Reste. Nutzer haben bei einer Bereinigung über 100 GB freigeräumt.

    Mole testen

    Weiterlesen

    • DeinstallationMac-Apps vollständig deinstallieren, ohne Daten zu verlieren8 Min. Lesezeit
    • DeinstallationApp-Reste auf dem Mac: Vor dem Löschen genau prüfen7 Min. Lesezeit
    • DeinstallationSteam auf dem Mac deinstallieren, ohne Spiele zu verlieren5 Min. Lesezeit

    Mole · 鼴

    Aufräumen, Apps und Status für den Mac.

    v1.15.0 (291) · Versionen

    Produkt

    Mac-Bereinigung App-Deinstallation Mac-Wartung Festplattenanalyse Systemmonitor

    Support

    Hilfe Dokumentation Versionen Blog

    Rechtliches

    Allgemeine Geschäftsbedingungen Datenschutzerklärung Erstattungsrichtlinie

    Ressourcen

    CLI-Tool Affiliate-Programm

    Kontakt

    Twitter hi@mole.fit

    Die einzige offizielle Mole-Website mole.fit · Keine Installationsdateien aus unbekannten Quellen herunterladen

    Die CLI bleibt für das Terminal kostenlos.