Linux 管理员 - 软件包管理
CentOS 中的软件包管理可以通过两种方式执行:从终端和从图形用户界面。
通常,CentOS 管理员的大部分时间都会使用终端。更新和安装 CentOS 的软件包也不例外。考虑到这一点,我们将首先探索终端中的软件包管理,然后介绍如何使用 CentOS 提供的图形软件包管理工具。
YUM 软件包管理器
YUM 是 CentOS 中提供的软件包管理工具。我们在前面的章节中简要提到过这个主题。在本章中,我们将从干净的 CentOS 安装开始。我们将首先完全更新我们的安装,然后安装应用程序。
YUM 为 Linux 中的软件安装和管理带来了长足的发展。 YUM 除了检查过期的软件包外,还会"自动"检查过期的依赖项。与过去从源代码编译每个应用程序相比,这确实减轻了 CentOS 管理员的负担。
yum check-update
检查可以更新候选包的软件包。在本教程中,我们假设这是一个面向互联网的生产系统,在升级软件包之前不需要 DevOps 测试生产应用程序。现在让我们将更新的候选包安装到系统上。
[root@localhost rdc]# yum check-update Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu NetworkManager.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-adsl.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-glib.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-libnm.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-team.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-tui.x86_64 1:1.4.0-19.el7_3 updates NetworkManager-wifi.x86_64 1:1.4.0-19.el7_3 updates audit.x86_64 2.6.5-3.el7_3.1 updates vim-common.x86_64 2:7.4.160-1.el7_3.1 updates vim-enhanced.x86_64 2:7.4.160-1.el7_3.1 updates vim-filesystem.x86_64 2:7.4.160-1.el7_3.1 updates vim-minimal.x86_64 2:7.4.160-1.el7_3.1 updates wpa_supplicant.x86_64 1:2.0-21.el7_3 updates xfsprogs.x86_64 4.5.0-9.el7_3 updates [root@localhost rdc]#
yum update
这将安装所有更新的候选版本,使您的 CentOS 安装成为最新安装。对于新安装,这可能需要一点时间,具体取决于您的安装和互联网连接速度。
[root@localhost rdc]# yum update vim-minimal x86_64 2:7.4.160-1.el7_3.1 updates 436 k wpa_supplicant x86_64 1:2.0-21.el7_3 updates 788 k xfsprogs x86_64 4.5.0-9.el7_3 updates 895 k Transaction Summary ====================================================================================== Install 2 Packages Upgrade 156 Packages Total download size: 371 M Is this ok [y/d/N]:
通过 YUM 安装软件
除了更新 CentOS 系统,YUM 包管理器也是我们安装软件的首选工具。从网络监控工具、视频播放器到文本编辑器,一切都可以通过 YUM 从中央存储库安装。
在安装一些软件实用程序之前,让我们先了解几个 YUM 命令。对于日常工作,CentOS 管理员 90% 的 YUM 使用量将使用大约 7 个命令。我们将逐一介绍,希望能够熟练地操作 YUM 以供日常使用。但是,与大多数 Linux 实用程序一样,YUM 提供了丰富的高级功能,通过手册页进行探索总是很棒的。使用 man yum 永远是使用任何 Linux 实用程序执行不熟悉的操作的第一步。
最常见的 YUM 命令
以下是常用的 YUM 命令。
命令 | 操作 |
---|---|
list installed | 列出通过 YUM 安装的软件包 |
list all | 列出所有当前可用的软件包 |
group list | 列出分组的软件包 |
info | 提供有关软件包的详细信息 |
search | 搜索软件包描述和名称 |
install | 安装包 |
localinstall | 安装本地 rpm 包 |
remove | 删除并安装包 |
clean all | 清理 /var/cache/yum 以释放磁盘空间 |
man yum | 与所有 linux 命令一样,帮助文件 |
使用 YUM 安装软件
我们现在将安装一个名为 Lynx 的基于文本的 Web 浏览器。安装之前,我们必须首先获取包含 Lynx Web 浏览器的包名称。我们甚至不能 100% 确定我们的默认 CentOS 存储库是否为 Lynx Web 浏览器提供了软件包,所以让我们搜索一下 −
[root@localhost rdc]# yum search web browser Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu ================================================================= N/S matched: web, browser ================================================================== icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation elinks.x86_64 : A text-mode Web browser firefox.i686 : Mozilla Firefox Web browser firefox.x86_64 : Mozilla Firefox Web browser lynx.x86_64 : A text-based Web browser Full name and summary matches only, use "search all" for everything. [root@localhost rdc]#
我们看到,CentOS 确实在存储库中提供了 Lynx Web 浏览器。让我们查看有关该软件包的更多信息。
[root@localhost rdc]# lynx.x86_64 bash: lynx.x86_64: command not found... [root@localhost rdc]# yum info lynx.x86_64 Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu Available Packages Name : lynx Arch : x86_64 Version : 2.8.8 Release : 0.3.dev15.el7 Size : 1.4 M Repo : base/7/x86_64 Summary : A text-based Web browser URL : http://lynx.isc.org/ License : GPLv2 Description : Lynx is a text-based Web browser. Lynx does not display any images, : but it does support frames, tables, and most other HTML tags. One : advantage Lynx has over graphical browsers is speed; Lynx starts and : exits quickly and swiftly displays web pages. [root@localhost rdc]#
太棒了!让我们安装 Lynx。
[root@localhost rdc]# yum install lynx Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu Resolving Dependencies --> Running transaction check ---> Package lynx.x86_64 0:2.8.8-0.3.dev15.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================== =============================================================================== Package Arch Version Repository Size =============================================================================== =============================================================================== Installing: lynx x86_64 2.8.80.3.dev15.el7 base 1.4 M Transaction Summary =============================================================================== =============================================================================== Install 1 Package Total download size: 1.4 M Installed size: 5.4 M Is this ok [y/d/N]: y Downloading packages: No Presto metadata available for base lynx-2.8.8-0.3.dev15.el7.x86_64.rpm | 1.4 MB 00:00:10 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : lynx-2.8.8-0.3.dev15.el7.x86_64 1/1 Verifying : lynx-2.8.8-0.3.dev15.el7.x86_64 1/1 Installed: lynx.x86_64 0:2.8.8-0.3.dev15.el7 Complete! [root@localhost rdc]#
接下来,让我们确保 Lynx 确实安装正确。
[root@localhost rdc]# yum list installed | grep -i lynx lynx.x86_64 2.8.8-0.3.dev15.el7 @base [root@localhost rdc]#
太棒了!让我们使用 Lynx 看看没有"赞"和漂亮图片的 Web 是什么样子。
[root@localhost rdc]# lynx www.tutorialpoint.in

太棒了,现在我们的生产服务器有一个 Web 浏览器,可以放心地用于通过 Web 发起的远程攻击。这对生产服务器来说是一件好事。
我们几乎完成了,但是首先我们需要设置此服务器以供开发人员测试应用程序。因此,让我们确保他们拥有完成工作所需的所有工具。我们可以单独安装所有东西,但 CentOS 和 YUM 使这个过程快了很多。让我们安装开发组包。
[root@localhost rdc]# yum groups list Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu Available Groups: Compatibility Libraries Console Internet Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done [root@localhost rdc]#
这是 CentOS 提供的软件包组的较小列表。让我们看看"开发组"中包含哪些内容。
[root@localhost rdc]# yum group info "Development Tools" Loaded plugins: fastestmirror, langpacks There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Loading mirror speeds from cached hostfile * base: mirror.scalabledns.com * extras: mirror.scalabledns.com * updates: mirror.clarkson.edu Group: Development Tools Group-Id: development Description: A basic development environment. Mandatory Packages: autoconf automake binutils bison
第一个输出屏幕如上所示。整个列表相当全面。但是,随着时间的推移,通常需要完整安装此组。让我们安装整个开发组。
[root@localhost rdc]# yum groupinstall "Development Tools"
这将是一个更大的安装。完成后,您的服务器将拥有大多数 Perl、Python、C 和 C++ 的开发库和编译器。
CentOS 中的图形包管理
Gnome Desktop 提供了一个名为 Software 的图形包管理工具。它使用起来相当简单明了。Software,CentOS 的 Gnome 包管理工具可以通过导航到:应用程序 → 系统工具 → 软件找到。
软件包管理工具分为几组,允许管理员选择要安装的软件包。虽然此工具对于最终用户来说非常易于使用和简单,但 YUM 功能更强大,管理员可能会更多地使用它。
以下是软件包管理工具的屏幕截图,它实际上不是为系统管理员设计的。
