
Gibt es eine Möglichkeit, festzustellen, ob eine bestimmte Anwendung über Snap, von einem PPA, über ein heruntergeladenes Deb oder aus einem Standard-Repository installiert wurde?
Im Moment habe ich Zoom auf meinem Focal 20.04-Laptop installiert. Ich versuche herauszufinden, wie ich es ursprünglich installiert habe, aber ich habe dieses Problem ziemlich oft. Entweder ist es eine proprietäre App (z. B. Slack oder Dropbox) und ich möchte sie aktualisieren, oder die App weist mich darauf hin, dass eine neuere Version verfügbar ist (Keepass), und ich möchte noch einmal überprüfen, ob ich sie aus einem Repository installiert habe und einfach warten kann, bis das Repository aktualisiert wird.
Wenn ich raten müsste, würde ich sagen, dass ich Zoom wahrscheinlich von einem heruntergeladenen installiert habe .deb
, aber ich weiß nicht genau, wie ich das überprüfen kann. Ich glaube nicht, dass ich Slack von einem installiert habe .deb
.
Ich habe versucht, einige der Vorschläge zu befolgenWie finde ich heraus, aus welchem Repository ein Paket stammt?aber die Ergebnisse sind nicht eindeutig. Beispielsweise gibt es kein apt policy
Ergebnis für Slack:
amanda@rajje:~$ apt policy slack
slack:
Installed: (none)
Candidate: 1:0.15.2-9
Version table:
1:0.15.2-9 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
Vermutlich, weil ich es von Ubuntu Software installiert habe, also ist es ein Kinderspiel:
Wenn ich apt policy
eine App ausprobiere, mit der ich noch nicht herumgespielt habe, wird mir eine Liste von Repositorys angezeigt. Kann ich davon ausgehen, dass ich die App aus einem Repository installiert habe?
amanda@rajje:~$ apt policy emacs
emacs:
Installed: 1:26.3+1-1ubuntu2
Candidate: 1:26.3+1-1ubuntu2
Version table:
*** 1:26.3+1-1ubuntu2 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
100 /var/lib/dpkg/status
Und wenn kein Repository angezeigt wird, bedeutet das, dass ich die Installation über einen Paket-Download durchgeführt habe?
amanda@rajje:~$ apt policy zoom
zoom:
Installed: 5.0.403652.0509
Candidate: 5.0.403652.0509
Version table:
*** 5.0.403652.0509 100
100 /var/lib/dpkg/status
Antwort1
Beginnen Sie mit which zoom
oder which zoom-client
. Dadurch wird der Dateipfad zur ausführbaren Datei zurückgegeben. (Tipp: tabDie Vervollständigung ist Ihr Freund)
Alles, was mit /snap
„wurde von Snap installiert“ (oder dem Ubuntu Software Center) beginnt, können Sie mehr erfahren, indem Sie das Software Center öffnen oder ausführen, snap list | grep -i zoom
um den vollständigen/korrekten Snap-Namen zu erhalten.
Wenn es mit beginnt, /usr/bin
wurde es wahrscheinlich mit oder Synaptic installiert apt
. In diesem Fall wird Ihnen dpkg -l | grep -i zoom
oder apt policy zoom*
mehr sagen. Sehen Sie sich den Filter „Installiert (lokal oder veraltet)“ in Synaptic an, um zu sehen, ob etwas apt
lokal oder über ein Repository installiert wurde.
Möglicherweise möchten Sie auch Folgendes überprüfen:
- Flatpak - prüfen Sie mit
flatpak list | grep -i zoom
- Ubuntu machen- prüfen Sie mit
umake --list-installed
(zum Beispiel IDEs)
Antwort2
Installieren Sie Synaptic Package Manager (Sie können es von der Ubuntu-Software oder über die Befehlszeile mithilfe von installieren sudo apt install synaptic
). Es ist ein großartiges Tool zum Verwalten .deb
von Paketen. Auf dem Hauptbildschirm werden Ihnen Pakete in Gruppen unterteilt angezeigt, wie Sie im Screenshot unten sehen können. Sehen Sie sich die Gruppe „Installiert (lokal oder veraltet)“ an – dies sind Pakete, die aus manuell heruntergeladenen Dateien und nicht aus Repositories installiert wurden (einige sehr wichtige Systempakete wie libc
sind dort ebenfalls enthalten). Auf meinem Screenshot können Sie zoom
diese Pakete sehen.
Übrigens. In Ihrem Slack-Beispiel wird das Programm als Snap installiert, nicht als .deb
Paket, was man an der Anwesenheit von „Channel“ am Anfang der Daten auf Ihrem Screenshot erkennen kann. Snap-Pakete haben immer einen Kanal (normalerweise latest/stable
), während .deb
Pakete dies nicht tun. Weder apt
Synaptic noch Synaptic werden also etwas über dieses Paket wissen (tatsächlich apt policy
werden Ihnen in Ihrem Beispiel Informationen über einnicht installiert slack
Paket zur Installation .deb
aus den Repositorys verfügbar).
Antwort3
Das Datum der entsprechenden Frage liegt zwar schon lange zurück, aber ich habe (heute Morgen) schnell ein Skript erstellt, um gleichzeitig in Repos und Snap nach Apps zu suchen und nach einer installierten App mit ihrer Quelle zu fragen.
Falls es jemand nützlich findet, hier ist das Git-Repo: