如何从 Linux 命令行安装软件

了解不同类型的软件包管理器以及如何使用它们。
316 位读者喜欢这篇文章。
A guide to packing and preparing for a tech conference

Opensource.com

如果您使用 Linux 一段时间,您很快就会了解到有很多不同的方法可以做同一件事。 这包括通过命令行在 Linux 机器上安装应用程序。 我使用 Linux 大约 25 年了,并且一次又一次地发现自己回到命令行来安装我的应用程序。

从命令行安装应用程序最常见的方法是通过软件仓库(存储软件的地方),使用所谓的软件包管理器。 所有 Linux 应用程序都以软件包的形式分发,软件包只不过是与软件包管理系统关联的文件。 每个 Linux 发行版都带有一个软件包管理系统,但它们并不都相同。

什么是软件包管理系统?

软件包管理系统由一组工具和文件格式组成,这些工具和文件格式一起用于安装、更新和卸载 Linux 应用程序。 最常见的两个软件包管理系统来自 Red Hat 和 Debian。 Red Hat、CentOS 和 Fedora 都使用 rpm 系统(.rpm 文件),而 Debian、Ubuntu、Mint 和 Ubuntu 使用 dpkg(.deb 文件)。 Gentoo Linux 使用一个名为 Portage 的系统,而 Arch Linux 仅使用 tarball(.tar 文件)。 这些系统之间的主要区别在于它们如何安装和维护应用程序。

您可能想知道 .rpm.deb.tar 文件内部是什么。 您可能会惊讶地发现,所有这些都不过是普通的旧存档文件(如 .zip),其中包含应用程序的代码、有关如何安装它的说明、依赖项(它可能依赖的其他应用程序)以及其配置文件应放置的位置。 读取和执行所有这些指令的软件称为软件包管理器。

Debian、Ubuntu、Mint 和其他

Debian、Ubuntu、Mint 和其他基于 Debian 的发行版都使用 .deb 文件和 dpkg 软件包管理系统。 通过此系统安装应用程序有两种方法。 您可以使用 apt 应用程序从仓库安装,也可以使用 dpkg 应用程序从 .deb 文件安装应用程序。 让我们来看看如何做到这两者。

使用 apt 安装应用程序非常容易,就像

$ sudo apt install app_name

通过 apt 卸载应用程序也非常容易

$ sudo apt remove app_name

要升级您已安装的应用程序,您首先需要更新应用程序仓库

$ sudo apt update

完成后,您可以使用以下命令更新任何需要更新的应用程序

$ sudo apt upgrade

如果您只想更新单个应用程序怎么办? 没问题。

$ sudo apt update app_name

最后,假设您要安装的应用程序在 Debian 仓库中不可用,但可以作为 .deb 下载。 您可以使用 dpkg 手动安装它,dpkgapt 帮助管理的系统

$ sudo dpkg -i app_name.deb

RHEL、CentOS、Fedora、Mageia 和 OpenMandriva

Red Hat、其上游项目 Fedora 及其“中游”项目 CentOS 使用 dnf 软件包管理器。 它有自己的语法,并且是 RPM 系统的前端。 虽然语法不同,但 dnf 在机制和目标相同的情况下类似于 apt。 Mageia 和 OpenMandriva 发行版曾经专门专注于 urpmi 进行软件包管理,现在也在其发行版中包含了 dnf

dnf 软件包管理器是以前的 yum 命令的后继者。 yum 花了很长时间才在用户的心中和服务器中扎根,因此为了避免破坏在用户系统中存在了十多年的自定义脚本,yumdnf 现在可以互换使用(事实上,yum 现在基于 dnf。)

安装应用程序

$ sudo dnf install app_name

删除不需要的应用程序同样容易。

$ sudo dnf remove app_name

更新应用程序

$ sudo dnf upgrade --refresh

dnf(或 yum)命令是 RPM 软件包系统的前端。 如果您在软件仓库中找不到应用程序,但可以从其供应商站点直接下载,则可以使用 dnf 手动安装 .rpm 文件。

$ sudo dnf install ./app_name.rpm

如您所见,从命令行安装、卸载和更新 Linux 应用程序一点也不难。 事实上,一旦您习惯了它,您会发现它比使用基于桌面 GUI 的管理工具更快!

有关从命令行安装应用程序的更多信息,请访问 Debian Apt wikiYum cheat sheetDNF wiki

标签
User profile image.
大家好!我是 Patrick,我是一位退休的 IT 工程师、前 IBM 员工、作家、开源倡导者、游戏玩家和自称的超级极客。 我也对太空技术和探索、UNIX、命令行、复古游戏机和复古电脑(如 Atari 2600、Commodore 64 和 Amiga)非常感兴趣。

贡献者

1 条评论

我喜欢 dnf 的一点是,您还可以安装已保存到驱动器中的 RPM -- 它们不必在某个仓库中。 使用 dnf 的优点是它会检查并安装任何需要的依赖项。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.