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

使用 YUM 安装软件

太棒了,现在我们的生产服务器有一个 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 功能更强大,管理员可能会更多地使用它。

以下是软件包管理工具的屏幕截图,它实际上不是为系统管理员设计的。

软件包管理工具