RPM软件包和yum
RPM是红帽开发的软件包管理器
RPM软件包文件采用软件包名称组合方式命名:
name-version-release.architecture
name:描述其内容的一个或多个词语(httpd-tools)
version:是原始软件的版本号(2.4.6)
release:是基于该版本的软件包的发行版号,由软件打包商设置,后者不一定是原始软件开发(7.el7)
ARCH:是编译的软件包可以运行的这种处理器架构下。
“ noarch”表示此软件包的内容不限定架构(x86_64)
*.src.rpm #源码包文件
每个RPM包包含三个组成部分的特殊文档:
软件包安装的文件
与软件包(元数据)有关的信息;软件包摘要和描述;是否要求安装其他软件包;授权许可信息;软件包更改日志,以及其他详细信息在安装、更新或删除此软件包时可能运行的脚本、或在安装、更新或删除其他软件包时触发的脚本
RPM签名
RPM软件包可由为其打包的组织进行数字签名。来自某一特定来源的所有软件包通常使用相同的GPG私钥签名。如果软件被改动或损坏,签名将不再有效。这可以使系统在安装软件包之前验证其完整性。红帽发布的所有RPM包都具有数字签名
yum软件包管理器.
安装系统后,一般是从网络软件包存储库安装更多的软件包和更新,最常用的是红帽订阅管理服务。可以通过rpm命令安装、更新、删除和查询RPM软件包。然后不能自动
解析依赖关系,而必须列出所有软件包。
yum命令在多个存储库中搜索软件包和其依赖项,以便一起安装它们,从而能缓和依赖性问题。
配置文件:/etc/yum.conf,其他存储配置文件在/etc/yum.repo.d目录中
配置yum源
配置文件:/etc/yum.repos.d/*.repo
配置内容:
[name] #yum仓库名称
name=xxxxx
baseurl=http://xxxx|file:///|ftp|nfs #http网络yum源,file本地yum源
enabled=1|0 #是否开启
gpgcheck=0|1 #是否检查GPG签名(用来检测是否是官方包)
gpgfile=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#yumrepolist #检查配置是否正确
[root@server0 ~]# yum repolist
Loaded plugins: langpacks
repo id reponame status
rhel_dvd Remote classroom copy of dvd 4,305
repolist: 4,305
导入gpg key
[root@server0 ~]#
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
修改配置文件修改gpgcheck参数:
Vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
installonly_limit=3
使用yum管理软件更新
通过yum执行操作
yum list:显示已安装的和可用的软件包
yum search KEYWORD:根据仅在名称和摘要字段中找到的关键字勒出软件包。若要搜索名称、摘要和描述字段中包含“ keyword”的软件包,可使用search all
yum info packagename:提供与软件包相关的详细信息,包括安装所需的磁盘空间
yum provides pathname:显示与指定的路径名(通常包含通配符)匹配的软件包
yum install packetname:获取并安装软件包所有依赖项
yum update packetname:获取并安装更新版本的软件包,包括所有依赖项
yum remove packetname:删除已安装的软件包,包括所有支持软件包
[root@server0~]# yum provides ip #查看IP命令是由那个软件包提供的
Loaded plugins: langpacks
iproute-3.10.0-13.el7.x86_64 : Advanced IP routing and networkdevice configuration tools
Repo : rhel_dvd
Matched from:
Filename : /usr/sbin/ip
iproute-3.10.0-13.el7.x86_64 : Advanced IP routing and networkdevice configuration tools
Repo : installed
Matched from:
Filename : /usr/sbin/ip
使用yum安装和删除软件
yum install packagename #依赖安装软件包
Yum localinstall xxx.rpm #本地安装软件包
yum update packagename #更新软件包
yum update kernel #安装新内核
yum list kernel #列出所有可安装和可用内核
uname -r #查看当前运行内核
yum remove packagename #删除已安装的软件包
yum install httpd --downloadonly --downloaddir=/home #只下载文件,不安装
更新kernel:
创建repo文件:
Yum-config-manager �Cadd-repo=http://content.example.com/rhel7.0/x86_64/errata
Yum repolist
Yum list kernel #查看软件仓库里面的kernel版本
uname �Cr #查看当前运行的内核
Yum update kernel #更新kernel
安装完成后,查看默认启动的kernel
[root@desktop0 ~]# grub2-editenv list
saved_entry=Red Hat Enterprise Linux Linux, with Linux3.10.0-123.el7.x86_64
yum管理软件包及更新-软件包组
yum group list #组列表
yum group info “ GROUPNAME” #组信息
yum group install“ GROUPNAME” #安装组
yum history查看安装记录列表
yum history info number #安装记录
yum history undo number #反向操作
yum update #系统升级
启用yum软件存储库
启用第三方软件存储库
第三方存储库是非红帽提供的软件包文件的目录,可以由yum从网站、 FTP服务器或本地文件系统进行访问。启用对第三方内容库的支持将配置文件放在/etc/yum.repos.d/目录中。内容库配置文件必须以.repo结尾。存储库定义包含存储库的URL和名称,也定义是否使用GPG检查软件包签名;如果是,则还检查URL是否指向受信任的GPG密钥
使用yum-config-manager
如果知道yum存储库的URL,可通过yum-configmanager创建配置文件
yum-config-manager --add-repo=”URL ”
检查rpm软件包文件
使用rpm检查下载的软件包
rpm �Cq �Ca :已安装的所有软件包
rpm �Cq packetname:当前安装的packetname
rpm �Cq �Cp packetname.rpm:查询未安装软件包
rpm �Cq �Cf filename|file_dir:哪个软件包提供filename|file_dir
rpm �Cql packetname #查看软件包安装后的文件目录
[root@desktop0yum.repos.d]# rpm -qa | grep vsftpd
vsftpd-3.0.2-9.el7.x86_64
[root@desktop0 yum.repos.d]# rpm -qa vsftpd
vsftpd-3.0.2-9.el7.x86_64
[root@desktop0 ~]# whereis ip
ip: /usr/sbin/ip /usr/share/man/man7/ip.7.gz/usr/share/man/man8/ip.8.gz
[root@desktop0 ~]# rpm -qf /usr/sbin/ip
iproute-3.10.0-13.el7.x86_64
[root@desktop0 vsftpd]# rpm -qf ftpusers #ftpusers文件是由vsftpd提供的
vsftpd-3.0.2-9.el7.x86_64
RPM查询关于软件包内容的信息
-q:列出软件包的名称和版本,与yum list比较 rpm -q
-q �Ci:软件包信息,与yum info比较 rpm -qi
-q �Cl:列出指定软件包安装的文件 rpm -ql
-q �Cc:仅列出配置文件 rpm -qc
-q �Cd:仅列出文档文件 rpm -qd
-q --scripts:列出可能在安装或删除软件包之前或之后运行的shell
脚本
-q --changelog :列出软件包的更改信息
从RPM软件包提取文件
从RPM软件包提取文件
可以通过cpio从RPM软件包中提取文件而不安装该软件包Rpm2cpio packagefile.rpm输出传送到cpio -id,提取RPM中存储的所有文件。需要时相对于工作目录创建子目录。