如果您使用 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
手动安装它,dpkg
是 apt
帮助管理的系统
$ 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
花了很长时间才在用户的心中和服务器中扎根,因此为了避免破坏在用户系统中存在了十多年的自定义脚本,yum
和 dnf
现在可以互换使用(事实上,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 wiki、Yum cheat sheet 和 DNF wiki。
1 条评论