答案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/keyrings
并deb [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/
(!!)应该可以让它工作(前提是有依赖项)。
我希望这最终能解决这个悲惨的情况。