标签:linux程序 update verify linux 数据库
linux程序包管理的实现,rpm包管理器
rpm命令实现程序管理:
安装:i,--install
升级:-U,update,-F,--freshen
卸载:-e,--erase
查询:-q,--query
校验:-V,--verify
数据库维护:--builddb,--initdb
安装,升级是要用 Package_File (zsh-4.3.11-4.el6.centos.2.x86_64.rpm )
卸载,查询是要用 Package_name (zsh)
安装:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm -ivh (一般安装过的rpm,在/etc目录下)
[General-options]
-v:verbose,详细信息
-vv:更详细的输出
[install-options]
-h:hash marks输出进度条;每个#表示2%的进度;
--test:测试软件是否可以安装到用户的Linux环境中,检查是否有依赖性问题
--nodeps:强制安装,不考虑依赖关系,但是装上所需软件后,可以造成软件无法
正常使用
--replacepkgs:重新安装已安装过的软件
(如果原有软件的配置文件遭到你不小心的更改,首先你必须先删除原有的配置文件,然后再进行重新安装,这样就ok了)
例:首先找到自己的rpm包所在,然后查看,下面是我的光盘下的rpm包
安装了一个包:
rpm -ivh zsh-4.3.11-4.el6.centos.2.x86_64.rpm
查看本机shell,可以看到多出一个zsh
安装完zsh生出的文件,可以用rpm -ql zsh查看
删除zsh,并且检查是否删除成功
rpm -ivh --test zsh-4.3.11-4.el6.centos.2.x86_64.rpm
只准备不安装,如果有冲突,会提醒报错,下面无冲突
升级:
rpm -Uvh -U:升级或安装
rpm -Fvh -F:升级
--oldpackage:降级安装;
--force:强制升级;
注意:(1)不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核
(2)如果某原程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;
卸载:
rpm -e --allmatches --nodeps --test
--allmatches:卸载所有匹配指定名称的程序包的各版本;
--nodeps:忽略依赖关系
--test:测试卸载,dry run模式
查询:
rpm -q [select-option][query-option]
[select-option]:
-a:查询所有已经安装过的包;
-f:查询指定的文件由哪个程序包安装生成;
-p:用于实现对未安装的程序包执行查询操作;
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;
[query-option]
--changelog:查询rpm的包的changelog;
-l:程序安装生成的所有文件列表;
-i:程序包相关信息,版本号,大小,所属的包组等;
-c:查询指定的程序提供的配置文件
-d:查询指定的程序包提供的文档
--provides:列出指定的程序包提供的所有CAPABILITY
-R:查询指定程序包的依赖关系
--scripts:查看程序包自带的脚本片段
校验:
rpm -V
S file Size differs
文件的容量大小被改变
M Mode differs (includes permissions and file type)
文件的类型或文件的属性(rwx)被改变
5 digest (formerly MD5 sum) differs
MD5指纹码内容改变
D Device major/minor number mismatch
设备的主/次代码改变
L readLink(2) path mismatch
Link路径改变
U User ownership differs
文件的所有者改变
G Group ownership differs
文件的所属主改变
T mTime differs
文件的创建时间改变
c: 设置文件
d: 文档
g: “鬼”文件,通常是该文件不被某个文件所包含,较少发生
l: 授权文件
r: 自述文件
包来源合法性验证和完整性验证:
来源合法性验证:
数字签名:
重建数据库:
rpm --rebuilddb
RPM博主就总结到这里,我们下节再见,我的心愿是,世上再无心机婊。
本文出自 “11897401” 博客,请务必保留此出处http://11907401.blog.51cto.com/11897401/1843384
标签:linux程序 update verify linux 数据库
原文地址:http://11907401.blog.51cto.com/11897401/1843384