RPM软件包的文件名由四个元素组成,再加上.rpm后缀名:name-version-release.architecture
例如 :
- NAME:是描述软件包名字(coreutils)
- VERSION:是原始软件包的版本号(8.30)
- RELEASE:是基于该版本的软件包的发行版号,由软件打包商提供(4.el8)
ARCH:是编译的软件包运行的处理器架构,noarch表示此软件包的内容不限定架构(arch64表示是64位的ARM架构)
yum仓库配置
yum仓库配置文件/etc/yum.repos.d/ *.repo ,包含以下内容:
[repo-name]
name=A nice description
baseurl=http://yourserver.com/path/to/repo
enabled=1
gpgcheck=1
gpgkey=file:///filename
测试:
yum clean all
yum makecache
yum安装移除和升级软件包
安装软件包
- yum install package… 安装软件包
- yum group install packagegroup… 安装包组
- yum reinstall package… 重新安装软件包
- 移除软件包
- yum remove package… 移除软件包
- yum group remove packagegroup… 移除包组
升级软件包
列出软件包的信息:
- yum repolist all 列出所有的仓库信息
- yum list [all] 列出仓库里面所有的软件包
- yum list available|updates|installed 分别列出未安装的|待更新的|已经安装的软件包
- yum info package 查看软件包的信息
- yum group info packagegroup查看包组的信息
- yum group list [hidden] 列出所有的包组
- 搜索文件和软件包:
- yum provides filename 查找文件来自哪个包
- yum search keyword 查找与keyward相关的软件包
- 所有安装和删除事务的日志记录在/var/log/dnf.rpm.log中
查询软件包的历史记录:
将rpm包放在一个目录下面
- 将该目录通过http或者ftp共享出去
安装createrepo_c软件包,并执行createrepo -v /package_dir
常用选项
-q:查询软件包是否安装
-qa:查询已经安装过的软件包
-qi:查询软件包的信息
-ql:查询安装该软件包后会生成的文件
-qc:查询软件包的配置文件
-qd:查询软件包的帮助文件
-qf:查找文件来自于哪个软件包
-q --scripts:查询在安装或者删除软件包的时候运行的shell脚本
-q --changelog:查询软件包的变更日志
-qp [-ilcdR --scripts --changelog] rpmfile :查找本地软件包文件的相关信息
可以从rpm软件包中提取文件,而不安装此软件包 ```bash [root@zhouchunwei-6-60 tree]# rpm2cpio tree-1.6.0-10.el7.x86_64.rpm | cpio -id 177 blocks [root@zhouchunwei-6-60 tree]# ls * tree-1.6.0-10.el7.x86_64.rpm
usr: bin share [root@zhouchunwei-6-60 tree]#
- 列出软件包里的文件
```bash
[root@zhouchunwei-6-60 tree]# rpm2cpio tree-1.6.0-10.el7.x86_64.rpm | cpio -tv
-rwxr-xr-x 1 root root 62768 Jun 10 2014 ./usr/bin/tree
drwxr-xr-x 2 root root 0 Jun 10 2014 ./usr/share/doc/tree-1.6.0
-rw-r--r-- 1 root root 18009 Aug 13 2004 ./usr/share/doc/tree-1.6.0/LICENSE
-rw-r--r-- 1 root root 4628 Jun 24 2011 ./usr/share/doc/tree-1.6.0/README
-rw-r--r-- 1 root root 4100 Jun 24 2011 ./usr/share/man/man1/tree.1.gz
177 blocks
[root@zhouchunwei-6-60 tree]#