Linux学习笔记(二)-AIX程序包原理及linux RPM包

AIX程序包原理及linux RPM包

一. AIX程序包原理
1. 原理
这里写图片描述
2. 文件集(fileset)命名规则
这里写图片描述
Fileset这种命名格式基本上描述了此文件集的内容和层次关系,方便管理员查看和管理
3. 文件集(fileset)的版本号
这里写图片描述
Version和Release版本号的升级是需要购买,而后面两个版本号的升级可以到IBM网址免费下载;每个fileset都有各自的版本号,操作系统也有它的版本号
4. 软件包的两种安装状态Applied和 Committed
这里写图片描述
- 旧版本的软件升级后处于 applied状态,系统使用的是新的版本,旧的版本并没有被删除
- 执行commit动作后,旧的版本被删除,软件包就处于committed状态了;执行reject动作,新的版本被删除,系统仍用旧的版本
- 软件包的升级,为了应用安全运行,先让新软件包处于applied状态试运行一阵后再commit;如果安装一个新的软件包,就直接committed

二. linux RPM包
1. 介绍
- RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写
- 这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了
- 一个RPM包文件是能够让应用软件运行的全部文件的一个集合,它记录了二进制软件的内容、安装的位置、软件包的描述信息、软件包之间的依赖关系等信息
2. RPM的体系结构
这里写图片描述
3. 基本命令
3.1. rpm的安装、升级、刷新

```
基本语法:
 rpm -i package-filename.rpm (install)
 rpm -F package-filename.rpm (freshen)
 rpm -U package-filename.rpm (upgrade)
选项:
 -v 表示可以输出详细信息
 -h 在安装过程中打印50个“#”符号,表示安装进度

```
例如:安装软件包package-10.2-67.i386.rpm
 # rpm -ihv package-10.2-67.i386.rpm
 package: ########################################

3.2. rpm包的删除

```
基本语法:
  rpm -e package-filename
选项:
  --nodeps 忽略包的依赖提示

```

例如:删除包 kdelibs3
删除一个文件
如果使用以下命令将忽略包的依赖提示

#rpm -e --nodeps kdelibs3

3.3. rpm的查询
查询已安装RPM的内容:

基本语法: 
 rpm -q package-name         
选项:
 -q  一个包是否被安装
 -a 查询所有安装的RPM
 -f <file> 查询拥有某文件的RPM
 -p <package-file> 查询包文件
 -i  显示包的信息
 -l  信息包文件的信息
 -s  显示所有文件的状态
 -d 显示文档文件
 -c  显示配置文件

3.4. rpm的校验
- RPM的校验功能可以用来确认文件是否被修改或覆盖

基本语法:
 #rpm -V package_name_to_verify 
参数:
 -V 检查与某一RPM包相关所有文件的完整性

例子1:检查sendmail的相关文件的完整性

#rpm -V sendmail 
S.5....T c /etc/aliases 
missing /etc/mail/ip_allow 
S.5....T c /etc/mail/relay_allow 
S.5....T c /etc/sendmail.cf 
S.5....T c /etc/sendmail.cw 
S.5....T /usr/sbin/sendmail 
S.5....T /var/log/sendmail.st 

解释:只有校验失败的文件才被列出,没有列出的文件应该是完好无损的。输出的内容给出了为什 么校验失败的原因,具体解释如下:
- S = 大小改变
- M = 权限改变
- L = 连接改变
- D = 设备改变
- U = 用户改变
- G = 组改变
- T = 日期和时间改变
- missing = 文件丢失

例子2:挨个检查软件包很费时间,用“-a”选项可以一次性检查所有RPM包

#rpm -Va > /root/rpm_chk.txt & 
  • 这条命令让RPM检查服务器上安装的RPM包,结果输出到rpm_chk.txt文件,最后的可选项“&”表示命令在后台运行,给出shell提示符可以作其他事情

例子3:检查某个文件而不知道它属于哪个RPM包,可以用“-qf”选 项查看哪个软件包安装了此文件

# rpm -qf /usr/sbin/sendmail 
sendmail-8.8.7-20 

如果一个文件没有关联 的RPM包

# rpm -qf /sbin/.vile_stuff 
file /sbin/.vile_stuff is not owned by any package 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值