- Linux 管理员教程
- 首页
- CentOS概述
- 基本的 CentOS Linux 命令
- 文件/文件夹管理
- 用户管理
- 配额管理
- Systemd 服务启动和停止
- 使用 systemctl 进行资源管理
- 使用 cgroups 进行资源管理
- 进程管理
- 防火墙设置
- 在 CentOS Linux 中配置 PHP
- 在 CentOS Linux 中设置 Python
- 在 CentOS Linux 中配置 Ruby
- 为 CentOS Linux 设置 Perl
- 安装和配置 OpenLDAP
- 创建 SSL 证书
- 安装 Apache Web 服务器 CentOS 7
- 在 CentOS 7 上设置 MySQL
- 设置 Postfix MTA 和 IMAP/POP3
- 安装匿名 FTP
- 远程管理
- CentOS 中的流量监控
- 日志管理
- 备份和恢复
- 系统更新
- Shell 脚本
- 包管理
- 卷管理
- Linux 管理员有用资源
- Linux 管理员 - 快速指南
- Linux 管理员 - 有用资源
- Linux 管理员 - 讨论
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]#
不错!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 使这变得更快。让我们安装开发组软件包。
[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 桌面提供了一个名为 Software 的图形包管理工具。它非常易于使用且简单明了。CentOS 的 Gnome 包管理工具 Software 可以通过导航到以下位置找到:应用程序 → 系统工具 → 软件。
软件包管理工具分为几组,允许管理员选择要安装的软件包。虽然此工具对于最终用户的易用性和简单性非常有用,但 YUM 更加强大,管理员可能会更多地使用它。
以下是软件包管理工具的屏幕截图,并非真正为系统管理员设计。