Wo kann ich sehen, wie ein Programm installiert wurde?

Wo kann ich sehen, wie ein Programm installiert wurde?

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 policyErgebnis 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: Screenshot des Slack-Eintrags

Wenn ich apt policyeine 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 zoomoder 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 zoomum den vollständigen/korrekten Snap-Namen zu erhalten.

Wenn es mit beginnt, /usr/binwurde es wahrscheinlich mit oder Synaptic installiert apt. In diesem Fall wird Ihnen dpkg -l | grep -i zoomoder apt policy zoom*mehr sagen. Sehen Sie sich den Filter „Installiert (lokal oder veraltet)“ in Synaptic an, um zu sehen, ob etwas aptlokal oder über ein Repository installiert wurde.

Möglicherweise möchten Sie auch Folgendes überprüfen:

  • Flatpak - prüfen Sie mitflatpak 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 .debvon 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 libcsind dort ebenfalls enthalten). Auf meinem Screenshot können Sie zoomdiese Pakete sehen.

Bildbeschreibung hier eingeben

Übrigens. In Ihrem Slack-Beispiel wird das Programm als Snap installiert, nicht als .debPaket, 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 .debPakete dies nicht tun. Weder aptSynaptic noch Synaptic werden also etwas über dieses Paket wissen (tatsächlich apt policywerden Ihnen in Ihrem Beispiel Informationen über einnicht installiert slackPaket zur Installation .debaus 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:

https://github.com/rabinnh/uni-pkg-util/tree/main

verwandte Informationen