如何在 Arch Linux 中安装 DEB 软件包
DEB 软件包适用于安装在基于 Debian 的系统上。但这并不意味着您不能在 Arch Linux 机器上安装此类软件包。
许多流行的程序在 Linux 上都以 DEB 包的形式提供。如果您最近迁移到 Arch Linux 并且不确定如何安装您喜欢的程序,这可能会让您感到担忧。
DEB 文件是 Debian 或基于 Ubuntu 的衍生版本所固有的。但是,您仍然可以通过几种方式将它们安装在基于 Arch 的系统上。让我们逐步了解在 Arch Linux 中安装 DEB 文件的方法。
什么是DEB文件?
DEB 或“.deb”文件本质上是一个包含脚本、配置文件和安装程序所需的其他数据的存档。 DEB 文件主要用于 Debian 或基于 Debian 的桌面,例如 Pop!_OS、Ubuntu 和 MX Linux 等。
如果您来自 Windows,则可以将 DEB 文件视为 Windows 可执行文件 (EXE)。
虽然在 Arch Linux 上安装 DEB 包可能不像运行 Windows 可执行文件那么简单,但这肯定不是火箭科学。安装非常简单,步骤也很容易遵循。
1. 从 AUR 安装程序
AUR 或 Arch 用户存储库是所有 Linux 发行版中最大的软件库。如果您找不到 Arch Linux 官方支持的软件包,您应该首先在 AUR 中查找。
虽然这不会帮助您安装 DEB 文件,但您很有可能找到适合您所需软件的 Arch 兼容包。
您可以手动或通过 AUR 帮助程序安装 AUR 包。我们建议您继续使用 yay,这是一个流行且易于使用的 AUR 助手。首先,只需使用 yay 搜索包名称:
yay search_term
yay 将列出所有相关的软件包。复制正确的包名称并通过运行安装它:
yay -S package_name
这应该会在您的 Arch Linux 系统中成功安装该软件。要了解有关 yay 的更多信息,请查看本指南,了解如何使用 yay 管理包。
2. 使用 Debtap 在 Arch Linux 上安装 DEB 软件包
如果您在 AUR 中找不到替代方案,您应该选择 Debtap。它是一个命令行工具,可将 Debian 软件包转换为 Arch 兼容软件包。
Debtap 可以完成大部分工作,但您仍应谨慎行事,因为对包的不兼容更新可能会破坏其功能。
在 Arch Linux 上安装 Debtap
要安装 Debtap,请启动终端并使用 AUR 帮助程序进行安装:
yay -S debtap
使用 cd 命令进入 DEB 文件的目录并使用 Debtap 开始转换包。
cd ~/Downloads
debtap yourfile.deb
Debtap 将创建一个“yourfile.zst”文件,您可以使用包管理器(在本例中为 pacman)轻松安装该文件。
sudo pacman -U yourfile.zst
这应该会在您的 Arch Linux 机器上安装该软件包。
3.在Arch上手动安装DEB包
对于那些喜欢更实际操作方法的人,您可以手动提取 DEB 包并将内容放入适当的目录中。
在继续阅读之前,请注意,这不是安装 DEB 软件包的推荐方法。仅当所有替代方法均失败时才采用此方法。
此方法独立于平台,这意味着您可以在所有发行版(无论是否为 Arch Linux)上应用此方法。
提取 DEB 包
首先使用 ar 命令将 .deb 文件提取到文件夹中。
ar x /path/to/file
然后,进入该文件夹并使用 tar 命令提取 tarball。
tar xvf control.tar.gz
tar xvf data.tar.gz
您会发现三个新文件夹:etc、opt 和 usr。将这些文件夹中的内容复制到正确的目录中。例如,将 etc 文件夹的内容复制到系统的 /etc 目录中,并对其余部分执行相同的操作。
sudo cp ./etc/* /etc/
sudo cp ./opt/* /opt/
sudo cp ./usr/* /usr/
运行程序
将所有文件放置到其所属位置后,您可以执行 /usr/bin 文件夹中的 shell 脚本来运行应用程序。为了便于使用,请考虑创建桌面快捷方式来运行该程序。
这是一种非常乏味的方法,并且不会百分百有效,这就是为什么我们建议您不要手动安装并将其视为最后的尝试。
现在您可以在 Arch Linux 上安装 DEB 软件包
您可以在 Arch Linux 上安装 Debian 软件包。然而,原本不适合 Arch Linux 的软件包通常会随着时间的推移而更新而损坏。
对于一款最先进的发行版,有时只需一个损坏的软件包,整个系统就会崩溃。定期扫描损坏的软件包、修复它们并更新 Linux 系统的软件包列表是至关重要的做法。