-
RPM 介绍:
RPM 是以一种数据库记录的方式将你所需要的软件安装到你的 Linux 系统的一套管理机制.RPM 事先将你要安装的软件进行编译, 并打包成 RPM 机制的包装文件, 通过包装号的软件里头默认的数据库记录, 记录这个软件要安装的时候必须具备的属性软件. 当在 Linux 主机上找不到对应的依赖时, 则不予安装, 若满足依赖, 则进行安装, 将该软件的信息写入 RPM 的数据库中, 以便未来的查询, 验证和反安装.
-
YUM 介绍:
YUM 是为了解决 RPM 安装软件时的依赖问题. 厂商先将释放出的软件放置到 YUM 服务器内; 分析这些软件的依赖关系, 将软件内的记录信息写下来; 将这些信息分析后形成软件相关的依赖清单. 这些依赖清单和软件所在的本机或网络位置称为软件仓库. -
rpm 命令:
- 安装软件:
rpm -ivh packageName- 示例:
rpm -ivh a.rpm
- 示例:
- 更新软件:
rpm -Uvh packageName rpm-Fvh packName - -Uvh: 后面接的软件即使没有安装过, 则系统给予直接安装; 若后面接的软件有安装过旧版, 则系统自动更新置新版.
- -Fvh: 后面接的软件没有安装过, 则不会被安装; 若安装过, 则更新.
- 查询软件:
- -q: 仅查询, 后面接的软件名称是否有安装.
- -qa: 列出所有已安装的软件名称.
- -qi: 列出该软件的详细信息.
- -ql: 列出该软件所有的文件与目录所在完整文件名.
- -qc: 列出该软件的所有配置文档.
- -qd: 列出该软件的所有说明文档.
- -qR: 列出与该软件相关的依赖软件.
- -qf: 找出该文件属于哪一个已安装的文件.
- -q --scripts: 列出是否有安装后需要执行的脚本.
- -qp: 后接 rmp 文件名. 查找某个 rpm 文件内的信息, 而并非已安装的软件信息.
- 示例:
- 查询软件是否安装:
rpm -q logrotate - 查询软件的目录与文件:
rpm -ql logrotate - 查询软件说明数据:
rpm -qi logrotate - 查询软件的配置文件与说明文档:
rpm -qc logrotate - 查询软件安装所需依赖:
rpm -qR logrotate - 查询文件由哪个软件提供:
rpm -qf /bin/sh
- 查询软件是否安装:
- RPM 验证与数码签章:
验证的功能主要在于提供系统管理员一个有用的管理机制. 作用的方式是使用
/var/lib/rpm下面的数据库内容来比对目前 Linux 系统的环境下的所有软件. 如果你不小心误删或者修改到一个软件的文件内容, 可以验证一个下原本的文件系统.- -V: 后接软件名称, 若该软件所含的文件被更动过, 才会列出来.
- -Va: 列出系统上所有被更动过的文件.
- -Vp: 后接 RPM 包名, 列出该软件被更动过的文件.
- -Vf: 列出某个文件是否被更动过.
- 示例:
- 查看软件是否更动:
rpm -V logrotate - 查看文件是否更动:
rpm -Vf /etc/crontab - 更动输出信息:
- S(file size differs): 文件容量的大小是否改变.
- M(mode differs): 文件的类型或文件的权限是否改变.
- 5(MD5 sum differs): MD5 这一种指纹码的内容已经不同.
- D(device major/minor number mis-match): 设备的主/次码已经改变
- L(readLink path mis-match): 链接路径改变.
- U(user ownership differs): 文件内所属人已经改变.
- G(group ownership differs): 文件所属的群组已经改变.
- T(create time differs): 创建时间已经改变.
- P(capabilities differs): 功能已经改变.
- 查看软件是否更动:
- 删除文件:
删除文件的过程一定要由最上层往下删除- 示例:
rpm -e pam
- 示例:
- 重建数据库:
RPM 数据库/var/lib/rpm/内的文件破损可以使用命令重建数据库:- 示例:
rpm -rebuilddb
- 示例:
- 安装软件:
-
yum 命令:
- 查询功能:
- search: 搜寻某个软件名称或者是描述的重要关键字.
- list: 列出当前 yum 所管理的所有软件的名称与版本.
- info: 列出软件信息.
- provides: 根据文件搜寻软件.
- 安装和升级:
- install: 后接要安装的软件.
- update: 后接要升级的软件.
- 移除:
- remove: 后接软件名
- yum 配置文件: CentOS-Base.repo 内容如下:
- [base]: 软件库名称.
- name: 说明库的意义.
- mirrorlist=: 镜像地址.
- baseurl=: 软件库实际的地址.
- enable=1: 启用该软件库.
- gpgcheck=1:是否查阅 RPM 文件内的数码签章.
- gpgkey=: 数码签章公钥位置.
- 清除本地数据库:
yum cleanyum 会事先下载软件库的清单到本机的/var/cache/yum里面去. 更换地址后可能导致本地的清单与 yum 服务器清单不同步.- packages: 将已下载的软件文件删除.
- headers: 将下载的软件文件开始删除.
- all: 将所有软件库数据都删除.
- 查询功能:
-
参考:
[1] : 鸟哥的Linux私房菜