我知道(感谢吉姆·帕里斯)我可以add-apt-repository
首先在 Debian 上使用:
sudo apt-get install software-properties-common
但是,我仍然不能简单地运行(例如):
sudo add-apt-repository ppa:nextcloud-devs/client
sudo apt-get update
...因为该 PPA 的发行文件夹只列出 Ubuntu 版本(artful、bionic...),而不列出 Debian 版本(jessie、stretch...)。所以 apt 无法找到我的版本的软件包。
我可以手动解决这个问题(决定最合适的 Ubuntu rleease,下载存储库密钥,修改/etc/apt-get/sources.list
),但我更喜欢从命令行执行此操作。
我可以传递命令行参数,或者以其他方式说服add-apt-repository
我选择 Ubuntu 版本吗?就像是:
sudo add-apt-repository --force-distro=artful ppa:nextcloud-devs/client
答案1
指定添加存储库时要使用的 Ubuntu 代号很简单:
找出您的具体地址:
转到所需存储库的 Launchpad 网站。您可以从 PPA 地址的第一个元素组装地址。
- 对于您的情况:
ppa:nextcloud-devs/client
➡https://launchpad.net/~nextcloud-devs
- 对于您的情况:
在那里从列表中选择所需的包Personal package archives。
- 就您而言Desktop client,这需要我们 https://launchpad.net/~nextcloud-devs/+archive/ubuntu/client
单击绿色文本Technical details about this PPA。
指定您想要的 Ubuntu 代号Choose your Ubuntu version。
- Artful (17.10)
复制(仅??)代码块的第一行。
deb https://ppa.launchpadcontent.net/nextcloud-devs/client/ubuntu artful main
添加存储库:
-S
使用参数和您的地址 执行。sudo add-apt-repository -S "deb https://ppa.launchpadcontent.net/nextcloud-devs/client/ubuntu artful main"
答案2
强烈推荐您不添加第三方存储库
但是,如果您了解风险并熟悉 apt-pinning,则可以添加和管理第 3 方存储库。我不建议您对 Debian 安装执行此操作,而是从官方稳定或反向移植存储库安装软件包。如果没有,从源安装包是另一种可行的方法。
再次强调,如果您需要这个软件包,并且在存储库中找不到它,并且您想使用 apt 维护它,只要您了解其中的风险,就可以按照以下步骤操作。
手头的问题
ppa:nextcloud-devs/client
您正在尝试使用该命令添加存储库add-apt-repository
。您无法apt-get update
使用新的存储库,因为它使用 Ubuntu 版本名称,而您的sources.list
Debian 使用 Debian 版本名称。
解决方案
我正在参考本指南关于如何将 Ubuntu PPA 添加到 Debian 系统。
您将以 sudo(或 root)身份运行以下命令:
add-apt-repository ppa:nextcloud-devs/client
现在您想检查您的/sources.list.d/
.例如,如果您要将 Launchpad 添加到 wheezy 中/sources.list.d/
,它应该如下所示:
deb http://ppa.launchpad.net/webupd8team/java/ubuntu wheezy main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu wheezy main
现在将 wheezy 更改为您要使用的 Ubuntu 版本。例如,Xenial 或 16.04。
deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main
现在你应该使用apt固定确保您的系统保持一定的理智。我强烈建议您使稳定的存储库具有比您的 ppa 更高的优先级。每个存储库都应该/etc/apt/preferences.d/
有一个reponame.preferences
,每个存储库的内容应该如下所示:
#/etc/apt/preferences.d/stable.preferences
Package: *
Pin: release a=stable
Pin-Priority: 1000
#/etc/apt/preferences.d/your-ppa-name.preferences
Package: *
Pin: release a=your-ppa-name
Pin-Priority: 750
现在您可以运行apt update
并且 PPA 应该已成功安装。
结论
我建议不要这样做,并建议您使用支持您想要安装的软件包的发行版,并避免使用第三方存储库。但是,如果您知道自己在做什么,那么这应该可行。
如果您对这篇文章有任何疑问或疑虑,请随时询问我。如果此答案有任何更正或误解,请通知我。我可以根据需要更新帖子。
祝你好运!