如何使用 Alien 在 Linux 软件包之间进行转换

您想将 Linux 软件包转换为其他格式吗? 也许您正在寻找的软件包不适用于您的发行版,但无论如何您仍然想要它。 或者,也许您是一名开发人员,并且希望通过快速将程序重新打包为其他格式来节省您的时间,而无需再次构建包。

幸运的是,Linux 拥有您需要的工具。 使用 Alien,您可以通过命令行轻松地将现有 Linux 包转换为其他格式。 让我们首先在您的系统上安装该工具。

如何在 Linux 上安装 Alien

Alien 在 Ubuntu Universe 存储库中可用。 要安装它,首先启用 宇宙 存储库并更新系统的软件包列表。 然后,安装 外星人 像往常一样使用 APT 打包。

sudo add-apt-repository universe
sudo apt update
sudo apt install alien

Debian 用户可以简单地使用 APT 安装软件包:

sudo apt install alien

官方 Arch 存储库中还没有 Alien。 但是,您可以使用 AUR 帮助程序从 AUR 安装它。 出于本指南的目的,我们将使用 yay。

yay -S alien

在 Fedora、CentOS 和其他基于 RPM 的发行版,您可以使用 DNF 安装 Alien,如下所示:

sudo dnf install alien

完成后,通过键入验证安装 外星人–版本 在终端。 如果命令返回包的版本信息,则安装成功。 但是,如果没有,请尝试再次执行安装步骤。

使用 Alien 在 Linux 包之间进行转换

使用 Alien,您可以在多个 Linux 软件包之间进行转换。 列举几个:

  1. DEB(基于 Debian 的发行版)
  2. TAR.GZ(打包存档)
  3. 转速 (Fedora、CentOS 和其他发行版)
  4. PKG(Solaris 包格式)
  5. SLP
  6. 最低位

Alien 可以解释以下选项:

  1. -d 或 –to-dpkg: 将指定包转换为DEB包格式
  2. -r 或 –to-rpm: 将包转换为 RPM 格式
  3. -t 或 –to-tgz: 从指定的包生成一个 TAR.GZ 归档文件
  4. -l 或 –to-lsb: 创建一个 LSB (Linux Standard Base) 包
  5. -p 或 –to-pkg: 将指定包转换为PKG格式
  6. –to-slp: 创建 SLP 包

如何在 Linux 上使用 Alien

该实用程序的基本语法是:

sudo alien options filename

…在哪里 选项 是您可以与命令一起使用的各种标志,并且 文件名 是要转换的包的绝对或相对路径。

要将 RPM 包转换为 DEB:

sudo alien --d file.rpm
sudo alien --to-deb file.rpm

为了演示如何将一个包转换为所有其他格式,我们将一个 DEB 文件转换为其他 Linux 包。

DEB 到 RPM:

sudo alien -r file.deb
sudo alien --to-rpm file.deb

DEB 到 TAR.GZ:

sudo alien -t file.deb
sudo alien --to-tgz file.deb

DEB 到 LSB: sudo 外星人-l文件.deb sudo 外星人 –to-lsb file.deb DEB 到 PKG:

sudo alien -p file.deb
sudo alien --to-pkg file.deb

DEB 到 SLP:

sudo alien --to-slp file.deb

请注意,您还可以将任何包格式转换为任何其他格式。 为了 example、RPM 到 LSB、SLP 到 PKG、PKG 到 DEB 等。

也可以使用单个命令将包转换为多种格式。 您所要做的就是指定转换的标志,如下所示:

sudo alien --to-deb --to-rpm --to-tgz file.pkg
sudo alien -d -r -p file.tar.gz

如果包包含特定于该格式的脚本,您可以使用 –脚本 或者 -C 旗帜。

sudo alien --scripts --to-deb file.rpm
sudo alien -c --to-deb file.rpm

转换后安装包

除了转换软件包外,Alien 还可以为您安装软件包。 您可以添加 – 安装 或者 -一世 使用命令标记转换后立即安装包。

为了 example:

sudo alien --to-rpm --install file.deb
sudo alien -r -i file.deb

在转换过程中处理版本信息

默认情况下,Alien 会自动增加包的版本详细信息。 如果您转换带有版本号的包 1.17.1 使用 Alien,生成的包会有版本号 1.17.2.

您可以使用 -k 或者 –保持版本 标志如下:

sudo alien --to-rpm -k file.deb
sudo alien --to-rpm --keep-version file.deb

您现在可以在 Linux 中转换软件包

作为开发人员,为不同的 Linux 发行版重新构建软件包可能很困难。 为了解决这个问题,您可以使用 Alien 轻松地将您的包转换为其他 Linux 格式。

尽管 Alien 是一个可靠的实用程序,但如果您想为发行版正确开发本机软件包,不建议使用它。 此外,在发布包时,您应该始终列出程序所需的依赖项。