如何将仅包含 Ubuntu 版本的 PPA 添加到 Debian 计算机?

如何将仅包含 Ubuntu 版本的 PPA 添加到 Debian 计算机?

我知道(感谢吉姆·帕里斯)我可以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 代号很简单:

找出您的具体地址:

  1. 转到所需存储库的 Launchpad 网站。您可以从 PPA 地址的第一个元素组装地址。

  2. 在那里从列表中选择所需的包Personal package archives

  3. 单击绿色文本Technical details about this PPA

  4. 指定您想要的 Ubuntu 代号Choose your Ubuntu version

    • Artful (17.10)
  5. 复制(仅??)代码块的第一行。

    • deb https://ppa.launchpadcontent.net/nextcloud-devs/client/ubuntu artful main

添加存储库:

  1. -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.listDebian 使用 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 应该已成功安装。

结论

我建议不要这样做,并建议您使用支持您想要安装的软件包的发行版,并避免使用第三方存储库。但是,如果您知道自己在做什么,那么这应该可行。

如果您对这篇文章有任何疑问或疑虑,请随时询问我。如果此答案有任何更正或误解,请通知我。我可以根据需要更新帖子。

祝你好运!

相关内容