如何在 Arch Linux 中安装 Deb 包

如果您使用过 Linux 一段时间,您会注意到安装第三方应用程序的最常见方法之一是通过 .Deb 包。 通常这是获得该软件的唯一方法,因为开发人员不会费心去完成以 Linux 平台提供的数十种不同格式进行打包的过程。

许多非基于 Debian 的 Linux 发行版都有自己的方法来解决这个问题。 然而,在所有 Linux 发行版中,Arch Linux 拥有让 Debian 包工作的最有趣的方法。 在本文中,我们概述了实现此目的的三种方法,并讨论了哪种方法最好。

笔记:以下步骤适用于任何基于 Arch 的发行版。

内容

通过 AUR 安装

AUR 是查找 Arch Linux 未正式支持的软件时首先检查的地方。 总是先在这里检查。 这是一项允许任何人上传 PKGBUILD 脚本的服务,该脚本旨在自动从各个地方获取软件,下载部分或全部所需的依赖项以运行它们并编译原生 Arch Linux 包。

使用 AUR 时,有两种方法:

1. 使用 AUR 助手

如果您想快速完成工作而不必费力,请使用像 yay 或 yaourt 这样的 AUR 助手。 这将不允许您安装 .deb 文件,但您可以找到由 arch 用户创建的 arch 格式的包。

有关 AUR hepers 以及如何安装它们的更多信息,请参阅我们的五个很棒的 AUR 助手列表。 一旦你有了,只需搜索 AUR,安装即可。

如果您使用 Manjaro、Endeavour、Garuda 或任何其他基于 Arch 的发行版,您可能会安装 AUR 助手。 查看您的发行版的文档以了解其中包含的内容。 Garuda 和 Endeavour 都使用 yay。

如果您更喜欢图形环境,您可以随时安装 pamac-aur 使用您的 AUR 助手打包 – 如果尚未安装。 请注意,安装后您必须在“首选项 -> 第三方”下启用 AUR 支持。

2. 手动安装 AUR 包

获取非官方软件包的另一种方法是访问 AUR 网站,使用搜索栏,并下载“快照”。 这是一个自动化程度较低的过程,但如果您想要更精细地控制软件包的制作或安装方式,那么它是值得的。 它不会立即安装软件包,而是会吐出一个本机软件包,您可以根据自己的目的进行修改。

这意味着如果您设置了自定义的个人存储库,您可以轻松地将这些新建的包直接放在存储库中以便于安装。

笔记: 如果您只是打算使用 Arch 的基础存储库和 AUR,那么使用 AUR 助手安装软件包是比手动构建更好的选择。

arch-linux-google-chrome-aur 快照

大多数(如果不是全部)仅采用 DEB 格式的程序都可以在 AUR 中找到。 以下是如何从头开始将其编译为 Arch 包。

  1. 确保你有 git 以及通过键入安装的 Arch 的基本开发包

在您的终端中。

  1. 注意要下载安装的包的AUR页面的“Git Clone URL”,复制即可。 在主目录中打开的终端中使用该 URL,如下所示:

这将下载包的 git 存储库,其中包含 PKGBUILD Arch 强大的配置文件 makepkg 工具。

  1. 类型

导航到您刚刚下载的包的构建目录。

  1. 类型

创建包并自动安装。

如果你很好奇, -s (--syncdeps) 标志自动获取与 Arch Linux 官方存储库中可用包相关的所有依赖项,而 -i (--install) 标志告诉您的系统不仅要编译包,还要将其集成到您的系统中(例如,创建菜单项、执行必要的集成到内核参数(如果有的话)等)。

通过 Debtap 安装

如果由于某种原因,您需要的 Deb 不在 AUR 中,请安装 债务. 它是一个拆解 Debian 包并将其变成您的包管理器可以“理解”的 Arch 包的程序。

arch-linux-debtap

警告: 请自行决定使用此方法。 这 .deb 如果它所依赖的软件包的上游软件包维护者获取删除特性或功能的更新,则您安装的软件包可能会中断。 它不会一直发生,但您应该知道,这种方法可能并不总是非常有效。

  1. 按照上一节中的说明,通过 AUR 安装 Debtap 开始。
  2. 安装后,运行 sudo debtap -u 一次更新deptap自己的存储库。 否则,应用程序将无法运行。
  3. 下载您要转换的 .deb 文件, cd 进入您下载它的目录,然后使用以下命令:
  1. 在 Debtap 要求您输入数据的任何时候,您可以简单地忽略它并按 Enter 在你的键盘上。
  2. 完成后,Debtap 将创建一个“pkg.*.zst”文件,您的包管理器可以使用离线安装程序解释和安装该文件。
  3. cd 进入你刚刚将 .deb 包转换成的目录并输入:

手动安装

警告: 这种方法非常不安全,只有在没有其他选择并且您已经对某些包的工作方式和 Arch 期望的某些行为有了深入的了解时才应该使用这种方法。 为了 example,某些应用程序(如 Plymouth、Virtualbox 等)可能需要挂钩到内核,这只能通过编辑配置文件并使用这些挂钩重新构建内核来完成。 更重要的是,使用这种方法也不会安装包的依赖项。

虽然不是最优雅的解决方案,但当无法使用 Debtap 转换 .deb 文件或使用 AUR pkgbuild 编译时,最好的方法是提取 Debian 软件包本身并将文件放在它们应该去的地方。

虽然这可能比以前的方法更乏味,但它更独立于平台,这意味着你可以在许多其他发行版中使用这种方法,比如 Void Linux, Fedora, 和 openSUSE。 我没有在 Gentoo 和 Slackware 中测试过这个,所以你的里程可能会随着它们的不同而有所不同,因为这两个发行版都喜欢处理安装包。

Debian 软件包是包含二进制文件的存档,因此无需编译。 要将任何 Deb 包中的文件安装到 Arch,首先将其解压缩到一个文件夹。 请记住,您还需要在该文件夹中提取称为“数据”的存档。

arch-linux-debian-packages-google-chrome

为了 example, 安装 Google Chrome你先 cd 进入提取的 Deb 文件夹,其中包含“data.tar.xz”的提取内容。

然后,运行 ls 命令来显示驻留在 Deb 包内的数据存档中的所有文件夹。 请记住这些文件夹的名称。 cd 进入每个目录并将这些目录的内容移动到它们在系统上所属的位置。

为了 example:

经常问的问题

1. 为什么 Debtap 需要这么长时间?

Debtap 抓取 .deb 文件中可用的元数据来构建最忠实的 Arch 包,以尽量减少问题并提供有关 pacman 除了包本身之外应该安装哪些依赖项的相关信息。 除了简单地解压缩 tarball 之外,这还涉及大量单调乏味的工作。

除此之外,脚本 Debtap 仅使用一个 CPU 内核转换文件,使单核性能成为影响系统完成操作所需时间的决定因素。 预计大型包裹最多需要几分钟。

2. 我可以在运行 Debtap 后使用图形安装程序吗?

是的! 如果您安装了任何版本的 pamac,您可以运行 Debtap 通过文件管理器生成的 tar-zst 文件。 通过选择 pamac 作为运行该文件的程序,您可以像在 Debian 中的任何 .deb 软件包一样双击它来自动安装它及其所有依赖项。

3. Debtap 与 AUR 相比如何?

您应该将 Debtap 视为安装您真正需要但在 AUR 中找不到的东西的最后一种“肮脏”方法。 如果您可以在 AUR 中找到某些内容,那么安装该软件包总是比使用 .deb 文件更好的选择。

总结

Arch Linux 最好的事情之一是用户可以通过多种方式安装包——从 AUR 到自定义存储库,再到反编译其他发行版的包以便它们运行。 虽然这些信息并不新鲜,但对于那些刚接触 Arch 并正在寻找安装自己喜欢的程序的方法的人来说,它无疑是一个很好的资源。

继续阅读以了解如何在 Arch Linux 中使用 AUR。

图片来源: 圣路易斯,密苏里州,美国城市天际线和早上的公园 通过 123RF

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅