Linux 管理员 - 包管理


CentOS 中的包管理可以通过两种方式执行:从终端和从图形用户界面。

CentOS 管理员的大部分时间通常都在使用终端。更新和安装 CentOS 软件包也没有什么不同。考虑到这一点,我们将首先探索终端中的包管理,然后讨论使用 CentOS 提供的图形包管理工具。

YUM 包管理器

YUM是CentOS中提供的包管理工具。我们在前面的章节中已经简要讨论过这个主题。在本章中,我们将从干净的 CentOS 安装开始工作。我们将首先完全更新我们的安装,然后安装应用程序。

YUM使 Linux 中的软件安装和管理取得了长足的进步。除了过时的软件包之外, YUM还会“自动”检查过时的依赖项。与过去从源代码编译每个应用程序相比,这确实减轻了 CentOS 管理员的负担。

yum 检查更新

检查可以更新候选项的包。在本教程中,我们将假设这是一个面向 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 安装最新。对于新安装,这可能需要一些时间,具体取决于您的安装和互联网连接速度。

[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 命令。

命令 行动
列出已安装的 列出通过 YUM 安装的软件包
列出所有 列出当前所有可用的包
群组列表 列出分组的包
信息 提供有关包的详细信息
搜索 搜索包描述和名称
安装 安装一个包
本地安装 安装本地rpm包
消除 删除并安装包
全部清理 清理 /var/cache/yum 以释放磁盘空间
文百胜 与所有 Linux 命令一样,帮助文件

使用 YUM 安装软件

我们现在将安装一个名为Lynx的基于文本的 Web 浏览器。在安装之前,我们首先要获取包含Lynx网页浏览器的包名。我们甚至不能 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

使用 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的图形包管理工具。它使用起来相当简单且直接。软件,CentOS 的 Gnome 包管理工具可以通过导航到:应用程序 → 系统工具 → 软件找到。

软件包管理工具分为多个组,允许管理员选择要安装的软件包。虽然该工具对于最终用户来说非常易于使用和简单,但 YUM 功能更强大,并且可能会被管理员更多地使用。

以下是软件包管理工具的屏幕截图,该工具并不是真正为系统管理员设计的。

软件包管理工具