我在哪裡可以看到程式是如何安裝的?

我在哪裡可以看到程式是如何安裝的?

有沒有一種方法可以查看某個應用程式是否是透過 Snap、PPA、下載的 deb 或標準儲存庫安裝的?

目前,我在 Focal 20.04 筆記型電腦上安裝了 Zoom。我試圖弄清楚我最初是如何安裝它的,但我經常遇到這個問題。要么它是一個專有應用程式(例如 Slack 或 Dropbox),我想更新它,要么該應用程式提醒我有新版本可用(Keepass),我想仔細檢查我是否從存儲庫安裝,並且可以等待要更新的儲存庫。

如果我必須猜測,我會說我很可能是從下載的 中安裝了 Zoom .deb,但我不知道如何檢查。我認為我不是從.deb.

我嘗試遵循一些建議如何找出套件來自哪個儲存庫?但結果並不明確。例如apt policySlack沒有結果:

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

大概是因為我是從 Ubuntu 軟體安裝的,所以它是一個 Snap: Slack入口截圖

如果我嘗試apt policy使用一個我知道我沒有做過任何操作的應用程序,我會看到一個存儲庫列表。我可以假設這意味著我確實是從儲存庫安裝的嗎?

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

如果沒有顯示儲存庫,這是否意味著我是透過套件下載安裝的?

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

答案1

which zoom以或開頭which zoom-client。這將返回可執行檔的檔案路徑。 (提示:tab完成是你的朋友)

以 開頭的任何內容都是由 Snap(或 Ubuntu 軟體中心)安裝的,因此您可以透過開啟軟體中心或運行以獲取完整/正確的 Snap 名稱來/snap了解更多資訊。snap list | grep -i zoom

如果它以 開頭,/usr/bin則可能是隨aptSynaptic 一起安裝的。在這種情況下dpkg -l | grep -i zoomapt policy zoom*會告訴你更多。請查看 Synaptic 中的「已安裝(本機或已過時)」過濾器,以了解安裝的內容apt是本機安裝還是透過儲存庫安裝。

您可能還想檢查:

  • Flatpak - 檢查flatpak list | grep -i zoom
  • Ubuntu 製作- 檢查umake --list-installed(例如,IDE)

答案2

安裝 Synaptic Package Manager(您可以從 Ubuntu 軟體安裝它,或使用命令列安裝sudo apt install synaptic)。它是一個很棒的套件管理工具.deb。在主畫面上,它會向您顯示分組的軟體包,如下面的螢幕截圖所示。查看名為「已安裝(本地或過時)」的群組 - 這些是從手動下載的檔案安裝的軟體包,而不是從儲存庫安裝的軟體包(一些非常重要的系統軟體包,例如libc,也包含在那裡)。在我的螢幕截圖中,您可以看到zoom這些包。

在此輸入影像描述

順便提一句。在您的 Slack 範例中,該程式作為 snap 安裝,而不是.deb包,可以透過螢幕截圖上資料開頭的「Channel」來識別。 Snap 套件總是有一個通道(通常latest/stable),而.deb套件則沒有。因此,aptSynaptic 和 Synaptic 都不知道有關該套件的任何資訊(事實上,在您的範例中apt policy向您顯示有關未安裝 slack.deb可以從儲存庫安裝軟體包)。

答案3

這已經超過了提出這個問題的日期,但我很快就創建了一個腳本(今天早上)來同時在存儲庫和快照中搜索應用程序,並查詢已安裝的應用程序及其來源。

如果有人覺得它有用,這裡是 git 儲存庫:

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

相關內容