如何在 Ubuntu 中刪除倉庫及其 GPG 金鑰

2019-07-17 22:32:00

前幾天我們討論了如何在基於 RPM 和 DEB 的系統中列出已安裝的倉庫。今天,我們將學習如何在 Ubuntu 中刪除倉庫及其 GPG 金鑰。對於不知道倉庫的人,倉庫(簡稱 repo)是開發人員儲存軟體包的地方。倉庫的軟體包經過全面測試,並由 Ubuntu 開發人員專門為每個版本構建。使用者可以使用 Apt 包管理器在他們的 Ubuntu 系統上下載和安裝這些包。Ubuntu 有四個官方倉庫,即 Main、Universe、Restricted 和 Multiverse。

除了官方倉庫外,還有許多由開發人員(或軟體包維護人員)維護的非官方倉庫。非官方倉庫通常有官方倉庫中不可用的包。所有包都由包維護者用一對金鑰(公鑰和私鑰)簽名。如你所知,公鑰是發給使用者的,私鑰必須保密。每當你在源列表中新增新的倉庫時,如果 Apt 包管理器想要信任新新增的倉庫,你還應該新增倉庫金鑰(公鑰)。使用倉庫金鑰,你可以確保從正確的人那裡獲得包。到這裡希望你對軟體倉庫和倉庫金鑰有了一個基本的了解。現在讓我們繼續看看如果在 Ubuntu 系統中不再需要倉庫及其金鑰,那麼該如何刪除它。

在 Ubuntu 中刪除倉庫

每當使用 add-apt-repository 命令新增倉庫時,它都將儲存在 /etc/apt/sources.list 中。

要從 Ubuntu 及其衍生版中刪除軟體倉庫,只需開啟 /etc/apt/sources.list 檔案並查詢倉庫名字並將其刪除即可。

$ sudo nano /etc/apt/sources.list

正如你在下面的截圖中看到的,我在我的 Ubuntu 系統中新增了 Oracle Virtualbox 倉庫。

virtualbox 倉庫

要刪除此倉庫,只需刪除該條目即可。儲存並關閉檔案。

如果你已新增 PPA 倉庫,請檢視 /etc/apt/sources.list.d/ 目錄並刪除相應的條目。

或者,你可以使用 add-apt-repository 命令刪除倉庫。例如,我要刪除 Systemback 倉庫,如下所示。

$ sudo add-apt-repository -r ppa:nemh/systemback

最後,使用以下命令更新軟體源列表:

$ sudo apt update

刪除倉庫金鑰

我們使用 apt-key 命令新增倉庫金鑰。首先,讓我們使用命令列出新增的金鑰:

$ sudo apt-key list

此命令將列出所有新增的倉庫金鑰。

/etc/apt/trusted.gpg--------------------pub rsa1024 2010-10-31 [SC]3820 03C2 C8B7 B4AB 813E 915B 14E4 9429 73C6 2A1Buid [ unknown] Launchpad PPA for Kendekpub rsa4096 2016-04-22 [SC]B9F8 D658 297A F3EF C18D 5CDF A2F6 83C5 2980 AECFuid [ unknown] Oracle Corporation (VirtualBox archive signing key) <[email protected]>sub rsa4096 2016-04-22 [E]/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-archive.gpg------------------------------------------------------pub rsa4096 2012-05-11 [SC]790B C727 7767 219C 42C8 6F93 3B4F E6AC C0B2 1F32uid [ unknown] Ubuntu Archive Automatic Signing Key (2012) <[email protected]>/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg------------------------------------------------------pub rsa4096 2012-05-11 [SC]8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>/etc/apt/trusted.gpg.d/ubuntu-keyring-2018-archive.gpg------------------------------------------------------pub rsa4096 2018-09-17 [SC]F6EC B376 2474 EDA9 D21B 7022 8719 20D1 991B C93Cuid [ unknown] Ubuntu Archive Automatic Signing Key (2018) <[email protected]>

正如你在上面的輸出中所看到的,那串長的(40 個字元)十六進位制值是倉庫金鑰。如果你希望 APT 包管理器停止信任該金鑰,只需使用以下命令將其刪除:

$ sudo apt-key del "3820 03C2 C8B7 B4AB 813E 915B 14E4 9429 73C6 2A1B"

或者,僅指定最後 8 個字元:

$ sudo apt-key del 73C62A1B

完成!倉庫金鑰已被刪除。執行以下命令更新倉庫列表:

$ sudo apt update

資源: