Debian

如何添加第三方倉庫。並在 Debian 中鍵入?

  • April 28, 2020

我查看了另一個關於添加第三方回購的類似問題。我正在嘗試添加一個名為riot的第三方桌面 IM 客戶端。雖然該站點提供了第三方的連結,但它沒有提供有關如何在 Debian 中添加第三方源或密鑰環的說明。我瀏覽了https://riot.im/packages/debian/pool/main/並在我的 /etc/apt/sources.list 中添加了以下內容 -

######## Third party repos #######
deb https://riot.im/packages/debian/ stretch main

現在我有兩個問題:-

一種。是第三方repo。我輸入的內容是正確的,或者我應該向上游索取更多資訊。

灣。我如何添加安全密鑰,因為所有軟體包通常都在 Debian Universe 中籤名。公鑰在https://riot.im/packages/debian/repo-key.asc

我正在進行 Debian 拉伸/測試。

添加密鑰執行:

wget https://riot.im/packages/debian/repo-key.asc
sudo apt-key add repo-key.asc

第三方 repo 是正確的,並且與 debian wiki上發布的一般格式兼容:

此文件中的條目通常遵循以下格式:

deb http://site.example.com/debian distribution component1 component2 component3

正如其他文章中所建議的那樣,您絕不能使用 安裝任何 3rd 方密鑰apt-key add,因為它會導致系統接受來自系統上配置的所有其他儲存庫的第三方密鑰持有者的簽名。您應該按如下方式設置儲存庫並安裝密鑰:

  1. 為手動安裝的 OpenPGP 密鑰創建目錄:
$ sudo mkdir /usr/local/share/keyrings
  1. 將密鑰下載到目錄中。

由於您的密鑰的副檔名是.asc,它可能是“ascii-armored”(您可以通過下載密鑰並在文本編輯器中打開它來檢查這一點:如果它以類似的開頭

-----BEGIN PGP PUBLIC KEY BLOCK-----

然後它是裝甲的;如果它看起來像一組二進制數據,那麼它沒有裝甲,你可以照原樣使用它):

  • 對於裝甲鑰匙:
$ curl https://riot.im/packages/debian/repo-key.asc | gpg --dearmor | sudo dd of=/usr/local/share/keyrings/riot-archive-keyring.gpg
如果鑰匙沒有裝甲,請改用以下命令:
sudo wget -O /usr/local/share/keyrings/riot-archive-keyring.gpg https://riot.im/packages/debian/repo-key.asc
3. 將所需的 3rd 方儲存庫添加到源列表中(注意`signed-by`選項,它告訴 APT 儲存庫是使用特定密鑰簽名的):


現在建議對源使用新的 deb822 多行格式。因此,創建`.sources`具有以下相應內容的新文件:
sudoedit /etc/apt/sources.list.d/riot.sources
pes: deb
Is: https://riot.im/packages/debian/
ites: stretch
mponents: main
gned-By: /usr/local/share/keyrings/riot-archive-keyring.gpg
或者,如果您更喜歡傳統風格(每個源一行),請改用此命令::
echo "deb [signed-by=/usr/local/share/keyrings/riot-archive-keyring.gpg] https://riot.im/packages/debian/ stretch main" | sudo tee -a /etc/apt/sources.list.d/riot.list
4. 將第 3 方儲存庫僅限於某些特定軟體包。為 APT 創建首選項控製文件:

$ sudoedit /etc/apt/preferences.d/riot.pref

5. 將以下內容放入文件中(如果需要,可以在包名後面加上星號(`*`)作為萬用字元,或者列出多個包名以空格分隔(`):`

Package: * Pin: origin riot.im Pin-Priority: 1

Package: riot-web Pin: origin riot.im Pin-Priority: 500


`You can find official information from Debian here:
<https://wiki.debian.org/DebianRepository/UseThirdParty>`

引用自:https://unix.stackexchange.com/questions/332672