第十三章 软件包安装与升级
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"