在Linux的发行版本中,基于 RedHat 的 Linux 系统原生支持 RPM 软件包,而基于 Debian 的 Linux 系统则是支持 DEB 包。咱们这次来说说如何将 RPM 软件包转换为DEB 包并在例如 Ubuntu 24.04、22.04 或 20.04 LTS Linux上进行安装。Ubuntu 因其官方仓库及自己研发的 snap 提供了数量众多可以直接安装在系统上操作安装的软件包而广受欢迎。为了方便用户,Ubuntu 还提供了一个图形界面软件中心。另外在命令行终端上使用 APT 软件包管理器安装 Debian 软件包非常简单。然而,RPM 软件包则无法直接安装,因为它们是为基于 RedHat 的操作系统(如 CentOS、AlmaLinux、Rocky Linux、Oracle Linux 等)创建的。尽管我们很少需要在 Ubuntu 上安装 RPM 软件包,因为大多数以 RPM 格式提供的软件通常也会有 Deb 二进制文件,但在某些情况下,我们确实需要将 RPM 转换为 DEB。为此,有一个名为 “Alien” 的开源工具。将 RPM 软件包转换并安装到 Ubuntu 的步骤
1. 操作需求
既然是演示 Ubuntu Linux 上安装 RPM 包,肯定是需要 Ubuntu系统,但任意版本即可。基于安全是Linux的使用习惯,还需要一个非 root 的登录用户,该用户起码要拥有使用 sudo 来提权的权限,且有权限使用命令行终端。系统有网络的权限,可以更新软件包仓库源和安装名为 Alien 的转换工具。另外还需要准备在 Ubuntu 系统上要安装的待转换的 RPM软件包。2. 执行系统更新
Ubuntu 的软件包在线源仓库中已经包含了安装 “Alien” 工具所需的所有软件包和依赖包。因此,运行系统更新命令,确保我们的系统当前所有已经安装的软件源数据处于最新版本的状态。这步也可以不独立做,如果没有执行,在你执行 apt install 命令的时候,PT 软件包管理器也会去执行一次更新。3. 在 Ubuntu 上安装 Alien
系统仓库源更新完毕后,就可以开始安装 Alien 工具。使用系统的 APT 软件包管理器来安装它。请按照以下命令操作:安装完成后,为了确认 Alien 已安装在我们的系统上,让我们检查其版本——使用以下命令:4. 在 Ubuntu 上转换/安装 RPM
现在,让我们使用已安装的 Alien 工具来转换你的 RPM 软件包。在转换之前,软件的 RPM 二进制文件必须存在于你的系统中。🥳 Alien 工具的使用语法
sudo alien software-package.rpm
注意:在上述命令中,将 “software-package.rpm” 替换为你想要转换的实际 RPM 软件包名称。例如 ZenMap GUI 在官网值提供了rpm包,而其他的Linux发行版本仅提供源码安装的形式,虽然这样也是可以的,但是源码安装存在着繁琐的解决依赖包的问题,如果可以将其rpm包转换为deb包,由dpkg工具接管安装可以自动解决依赖包的问题,因此我们可以把它进行转换,执行下面的命令:sudo alien zenmap-7.92-1.noarch.rpm
这将把 RPM 二进制文件转换并保存为 Debian 格式。5. 安装 Debian 二进制文件
完成上述转换步骤后,你已经拥有了 RPM 软件包的 Debian 二进制文件。现在,我们可以使用以下语法安装它:例如,我们已经将 Zenmap RPM 软件包转换为 zenmap-7.95-1.noarch.deb,安装命令如下:sudo dpkg -i zenmap-7.92-2.noarch.deb
或者,如果你希望同时执行安装和转换操作,请使用以下命令:sudo alien -i your-package.rpm
我们可以使用 Alien 软件包转换工具在 Ubuntu 或 Debian 上安装 RPM 软件包。然而,转换后的软件包可能并不总是能够正确安装,可能会存在一些兼容性等问题不能正常运行。