Linux 管理员 – 包管理
Linux 管理员 – 包管理
CentOS 中的软件包管理可以通过两种方式进行:从终端和从图形用户界面。
大多数情况下,CentOS 管理员的大部分时间都会使用终端。为 CentOS 更新和安装软件包也不例外。考虑到这一点,我们将首先探索终端中的包管理,然后接触使用 CentOS 提供的图形包管理工具。
YUM 包管理器
YUM是 CentOS 中提供的包管理工具。我们在前面的章节中已经简要地谈到了这个话题。在本章中,我们将从干净的 CentOS 安装开始工作。我们将首先完全更新我们的安装,然后安装一个应用程序。
YUM为 Linux 中的软件安装和管理带来了很长的路要走。除了过时的软件包之外,YUM还会“自动”检查过时的依赖项。与过去从源代码编译每个应用程序相比,这确实减轻了 CentOS 管理员的负担。
百胜检查更新
检查可以更新候选的包。在本教程中,我们将假设这是一个面向 Internet 的生产系统,在升级包之前没有需要 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]#
百胜更新
这将安装所有更新的候选,使您的 CentOS 安装成为最新。对于全新安装,这可能需要一些时间,具体取决于您的安装和 Internet 连接速度。
[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 命令。
Command | 行动 |
---|---|
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 网络浏览器的包名。我们甚至不能 100% 确定我们的默认 CentOS 存储库为 Lynx 网络浏览器提供了一个包,所以让我们搜索并查看 –
[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 网络浏览器。让我们看看有关该包的更多信息。
[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]#
好的!2.8 版本已经足够了,所以让我们安装 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 来看看没有“喜欢”和漂亮图片的网络是什么样的。
[root@localhost rdc]# lynx www.tutorialpoint.in
太好了,现在我们的生产服务器有了一个 Web 浏览器,可以使用它而不必担心通过 Web 启动的远程攻击。这对生产服务器来说是一件好事。
我们快完成了,但是首先我们需要设置这个服务器以供开发人员测试应用程序。因此,让我们确保他们拥有工作所需的所有工具。我们可以单独安装所有东西,但 CentOS 和 YUM 使安装速度更快。让我们安装Development Group Package。
[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的图形包管理工具。它使用起来相当简单且直接。软件,CentOS 的 Gnome 包管理工具可以通过导航到:应用程序 → 系统工具 → 软件找到。
软件包管理工具分为多个组,允许管理员选择要安装的软件包。虽然此工具非常适合最终用户的易用性和简单性,但 YUM 更强大,管理员可能会更多地使用它。
以下是软件包管理工具的屏幕截图,并非真正为系统管理员设计。