第十三章 软件包安装与升级




13.1

 了解rpm包


红帽开发RPM Package Manager,用于软件包的安装和升级.

rpm包的名字结构:


httpd-tools-2.4.6-7.el7.x86_64.rpm

httpd-tools 软件名字

2.4.6 软件原版本号

7.el7 rpm包发布编号,由rpm包封装者设定

x86_64 架构


rpm包的组成:

安装释放的文件

软件包的元数据(版本,发布号,架构,描述,要求,更改日志等) # rpm -q --info -p xxx.rpm

脚本:安装前执行的脚本和安装后的脚本









13.2 使用yum管理软件包

yum包管理器

yum极大地方便了rpm包的安装和升级,能够自动解决依赖关系



搜索软件包:

# yum list 'http*'

# yum search 'httpd'

# yum search all 'web server' <--- 软件名字或者概述字端包含关键字

# yum info httpd 查看包的信息

# yum provides /var/www/html

# yum provides '*/gnuplot'

# yum  list installed  

安装软件包:

# yum install httpd

# yum update 升级所有软件包(只要本地已经安装的软件包比仓库的软件包版本低,都会升级)

# yum update "yum"  <--- 指定升级名子为yum的软件包 

# yum remove httpd 卸载软件包


软件分组:

# yum grouplist

# yum groupinfo "Identity Management Server"

# yum groupinstall "Infiniband Support"


事务历史:

# tail -5 /var/log/yum.log

# yum history

# yum history info 6

# yum history undo 6 撤销某个操作








13.3 管理yum软件仓库 


可以给yum配置第三方的软件仓库,软件仓库是可以使用http、ftp或file(本地)协议提供的软件集合。

软件仓库的定义存在于/etc/yum.repos.d/目录下以.repo结尾的配置文件。


1) 使用yum-config-manager命令管理

# yum-config-manager --add-repo="http://content.exmaple.com/rhel7.0/x86_64/rht"



2)  手工编辑配置文件



# vim /etc/yum.repos/errata.repo


[updates]

name=Red Hat 

Updates

baseurl=http://content.example.com/rhel7.0/x86_64/errata


enable=1


gpgcheck=0



3) 使用yum-config-manager禁用某个仓库


# yum-config-manager --disable

 content.example.com_rhel7.0_x86_64_rht




例子:使用上面定义的仓库升级内核包


# yum list kernel

# uname -r

# yum update


# reboot


# yum list kerne

l

# uname -r




上课笔记:


13.3

一、笔记

[root@desktop0 Desktop]# yum repolist

Loaded plugins: langpacks

repo id                    repo name                                      status

!rhel_dvd                  Remote cla***oom copy of dvd                   4,305

repolist: 4,305

[root@desktop0 Desktop]# 



root@desktop0 Desktop]# yum-config-manager --add-repo="http://content.exmaple.com/rhel7.0/x86_64/rht"

Loaded plugins: langpacks

adding repo from: http://content.exmaple.com/rhel7.0/x86_64/rht


[content.exmaple.com_rhel7.0_x86_64_rht]

name=added from: http://content.exmaple.com/rhel7.0/x86_64/rht

baseurl=http://content.exmaple.com/rhel7.0/x86_64/rht

enabled=1



[root@desktop0 Desktop]# 

[root@desktop0 Desktop]# 




二、考试题目:

   请您使用以下地址建立一下yum软件仓库:

以下两种方式都可以:

1) 使用yum-config-manager命令管理

# yum-config-manager --add-repo="http://content.exmaple.com/rhel7.0/x86_64/rht"



2)  手工编辑配置文件



# vim /etc/yum.repos/errata.repo


[updates]

name=Red Hat 

Updates

baseurl=http://content.example.com/rhel7.0/x86_64/errata


enable=1


gpgcheck=0





13.4




13.4 

校验rpm包

使用rpm命令校验软件的相关信息


语法:

rpm -q [select-options] [query-options]



# rpm -q yum


# rpm -qa | grep yum



# rpm -q -p http://content.example.com/rhel7.0/x86_64/dvd/Packages/yum-utils-1.1.31-24.el7.noarch.rpm



# rpm -q -f /etc/yum.repos.d/


   查看来自哪个rpm包。

# rpm -q -l yum-rhn-plugin


 释放了什么文件

释放了什么配置 文件 # rpm -q -c yum-rhn-plugin


 释放的文档文件 

# rpm -q -d yum-rhn-plugin



查看某个安装了的rpm包# rpm -q --scripts openssh-server



# rpm -q --changelog audit


查看更改日志

使用yum安装本地文件(非来自.repo定义的软件仓库)


# wget http://cla***oom/pub/materials/wonderwidgets-1.0-4.x86_64.rpm


# yum localinstall wonderwidgets-1.0-4.x86_64.rpm


# rpm -q wonderwidgets


从rpm包中解压出文件


# rpm2cpio wonderwidgets-1.0-4.x86_64.rpm | cpio -id


# rpm2cpio wonderwidgets-1.0-4.x86_64.rpm | cpio -id "*txt"