apt-key 已弃用。除了 add-apt-repository 我该怎么做

apt-key 已弃用。除了 add-apt-repository 我该怎么做

apt-key已弃用,如其手册页所示。

add-apt-repository在后台使用 apt-key。从 Ubuntu 22.04 开始,这将在使用时发出警告消息,然后在每次 apt 更新时发出警告消息。

当指示使用时add-apt-repository(例如安装卢特里斯),我应该怎么做才能避免使用 apt-key?

注意:可以修复以前添加的存储库密钥,解决方案如下这里。我在这里要求一个解决方案,不需要首先使用已弃用的工具,然后修复该工具所做的事情。

答案1

数字海洋推荐使用gpg作为 的替代品add-apt-repository

以下是如何gpg安装该R语言的示例,您只需调整您有兴趣添加的存储库的命令:

# Download the key from the keyserver
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/R.gpg \
  --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

# Add the repository to a `.list` file
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/R.gpg] https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/" | sudo tee /etc/apt/sources.list.d/R.list > /dev/null

# Update your repository list
sudo apt update

# Install the package
sudo apt install r-base

命令标志的解释gpg如下,由 Digital Ocean 文章提供:

  • --no-default-keyring与 结合允许输出到新文件而不是导入到现有密钥环,这是此场景中--keyring的默认行为。gpg
  • --keyserver结合--recv-keys提供您下载的具体密钥和位置。
  • --homedir用于覆盖gpg创建临时文件的默认位置。gpg需要创建这些文件才能完成命令,否则gpg将尝试写入,/root从而导致权限错误。相反,此命令将临时文件放置在适当的/tmp目录中。

答案2

如果你使用的是 Linux Mint,那么有一个简单且正确的解决方案(暂且):
(对于 Ubuntu,请参见下文。)

有一个版本可以正常工作,但不知何故它不在文字存储库中现在。 (如果我是维护者,我会感到羞愧。)
不过,您可以手动安装它:

  • 获取最新mintsources_*.zip信息https://github.com/linuxmint/mintsources/issues/240
  • 解压到临时目录。
  • 打开.deb其中的所有文件,然后单击“安装”。
  • 再次删除临时目录。
  • 不要忘记确保该软件包是否最终出现在官方存储库中,您所安装的较新版本实际上已被获取。 (例如,设置一个提醒,让您在几个月后再次来到这里,并查找是否有比您安装的版本更新的版本。)

我刚刚尝试过,它正确地将文件放入/etc/apt/keyringsdeb [arch=… signed-by=/etc/apt/keyrings/….gpg] …/etc/apt/sources.list.d/*.list.

也许它在普通的 Ubuntu 中也能工作。CLI至少apt-key应该apt-add-repository可以工作,即使mintsources(GUI 工具)显然是为 Mint 制作的。如果这.deb很麻烦,也许将东西解压给mintsources_2.1.11.tar.xz:/usr//usr/local/(!!)应该可以让它工作(前提是有依赖项)。

我希望这最终能解决这个悲惨的情况。

相关内容