修復(fù) Ubuntu 中的 “Key is stored in legacy trusted.gpg keyring” 問題
如果你在 Ubuntu 22.04 及以后的版本中使用 PPA 或添加外部倉庫,你有可能會(huì)看到這樣的信息:
ubuntu key is stored legacy
首先,這不是一個(gè)錯(cuò)誤,而是一個(gè)警告信息。警告并不會(huì)導(dǎo)致程序停止工作。即使你在更新過程中看到這個(gè)警告信息,你也可以繼續(xù)升級(jí)你的系統(tǒng)。
如果你不想看到這個(gè)警告信息,你可以采取一些手動(dòng)步驟來擺脫它。
有兩種方法;正確的方法和快速而不優(yōu)雅的方法。閱讀這兩種方法,看看你對(duì)哪一種感到滿意。
方法 1:導(dǎo)入密鑰(正確但復(fù)雜的方法)
首先,列出所有添加到你系統(tǒng)中的 GPG 密鑰。
這將顯示一個(gè)存儲(chǔ)在你系統(tǒng)中的巨大的密鑰列表。你在這里要做的是尋找與警告信息相關(guān)的密鑰。
你要怎么做?仔細(xì)閱讀該信息:
在我的例子中,倉庫有 ??packagecloud?
?、??slacktechnologies?
? 等關(guān)鍵詞。它顯示在 ??apt-key?
? 列表輸出的頂部。在你的情況下,你可能需要滾動(dòng)一下。
在這種罕見的情況下,由 Slack 添加的外部倉庫,有兩個(gè) GPG 密鑰。其中一個(gè)已經(jīng)過期,我會(huì)忽略它。你可能不會(huì)有這樣的情況。
你應(yīng)該看到 ??pub?
? 后一行的最后 8 個(gè)字符(不包括空格):
因此,從 ??DB08 5A08 CA13 B8AC B917 E0F6 D938 EC0D 0386 51BD?
? 這行中,我將提取最后8個(gè)字符 ??0386 51BD?
?,去掉空格,然后用它來導(dǎo)入 ??/etc/apt/trusted.gpg.d?
? 目錄下專用文件中的 GPG 密鑰:
我在這里創(chuàng)建了一個(gè)新的文件 ??slack.gpg?
?,以防你沒有注意到它。我把它命名為 ??slack.gpg?
? 是因?yàn)樗c我之前安裝的 Slack 應(yīng)用有關(guān)。文件名并不重要,但它對(duì)識(shí)別有好處。
如果命令運(yùn)行成功,你將不會(huì)看到任何信息。你可以通過檢查新創(chuàng)建的 gpg 文件是否存在來驗(yàn)證。
import gpg key to trusted ubuntu
再次運(yùn)行更新,現(xiàn)在你應(yīng)該不會(huì)再看到警告信息了。
方法 2:復(fù)制到 trusted.gpd.d 目錄中(快速而不優(yōu)雅的方法)
如果你覺得手動(dòng)做上面的事情不舒服,那么,你可以忽略這個(gè)警告信息。我的意思是,忽略它總是一種選擇。
另一個(gè)選擇是把 ??/etc/apt/trusted.gpg?
? 文件復(fù)制到 ??/etc/apt/trusted.gpg.d?
? 目錄。畢竟,Ubuntu 只是抱怨說它需要 ??/etc/apt/trusted.gpg.d?
? 目錄下的 GPG 密鑰。
你仍然要使用終端。打開它并使用以下命令:
現(xiàn)在,如果你運(yùn)行更新,你就不會(huì)再看到 “Key is stored in legacy trusted.gpg keyring” 的警告信息。
quick dirty way to fix apt key stored legacy
總結(jié)
我曾經(jīng)寫過一篇關(guān)于 ??棄用 apt-key?? 的詳細(xì)文章。顯然,那篇文章讓一些讀者感到困惑,因此我寫了這篇文章,給他們提供擺脫該信息的直接步驟。
正如我之前所說,這是一個(gè)警告信息,目前可以忽略。解決這個(gè)問題的責(zé)任在于外部軟件開發(fā)者和 Ubuntu 開發(fā)者。外部軟件開發(fā)者應(yīng)該確保他們的 GPG 密鑰不再被添加到 ??/etc/apt/trusted.gpg?
? 文件中。
終端用戶不應(yīng)該為他們的懶惰而承擔(dān)痛苦。
那么,你是用哪種方法來擺脫 “key is stored in legacy” 的警告信息的呢?第一個(gè)方法還是第二個(gè)方法?