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]#

yum更新

这将安装所有更新的候选人,使您的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 Admin的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 的基于文本的网络浏览器。在安装之前,我们必须首先获取包含Lynx Web浏览器的软件包名称。我们甚至不能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 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安装软件

太好了,现在我们有一个用于我们的生产服务器的网络浏览器,可以毫不费力地使用通过网络发起的远程攻击。这对于生产服务器来说是件好事。

我们即将完成,但首先我们需要为开发人员设置此服务器以测试应用程序。因此,让我们确保他们拥有他们工作所需的所有工具。我们可以单独安装所有东西,但是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功能更强大,并且可能会被管理员更多地使用。

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

软件包管理工具