码迷,mamicode.com
首页 > 其他好文 > 详细

软件包管理—rpm

时间:2016-03-14 02:02:12      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:rpm   卸载   软件包安装   升级   检验   数据库重建   

基础了解

软件包,顾名思义就是由多个软件组成的软件包。

软件包的组成主要有四大部分:

  1、二进制程序。主要存在与系统的/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin.

  2、库文件。存在于/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

  3、配置文件。程序的公共配置文件为/etc/ld.so.conf。各个程序的独立的配置文件为/etc/ld.so.conf.d/*.conf。一般建议配置单个程序的配置文件,方便管理。

  4、帮助文件。如man文件、info文件、READMEINSTALL等。

rpm包管理之命名

命名规则:Pkgname-version-release.arch.rpm

    Versionmajor.minor.release

            Release:软件包被开发出来的发行号。

    Release:软件包被编译为二进制程序的发行号。

    Arch:软件包被编译的硬件平台。如x86_64, ppc等。

如:vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

技术分享

rpm包管理之安装:

  命令:rpm  { -i | --install }  /path/to/Pkgname

   同时还可以与其他选项一同使用,如:

   -vverbose):显示安装过程。

   -hhase):以“#”的个数显示安装进度,一个“#”表示2%。  

    --test:只测试不安装。

依赖性关系解决:

    1、将依赖的包每个都安装上去。

    2、忽略依赖关系,使用(--nodeps

重新安装:

    命令:rpm  { -i | --install }  --replace  Pkgname

rpm包管理之卸载:

命令:rpm  { -e| --erase }  name

依赖关系解决:

    1、将所依赖的包以一卸载。

    2、忽略依赖关系,使用(--nodeps

rpm包管理之查询:

命令:rpm  { -q | --query }  Pkgname

具体操作:

  rpm -qa :查询所有已经安装的软件包。

  rpm -qi Pkgname:查询包的信息。

  rpm -ql Pkgname:查询包安装后在系统上生成的文件列表。

  rpm -qf /path/to/filename:查询该文件是由哪个包生成的。  

  rpm -qd Pkgname:查询软件包安装之后的帮助文档。

  rpm -qc Pkgname:查询软件包安装之后的配置文件。

  rpm -q --scripts Pkgname:查询软件包安装的脚本信息,主要有preinstallpostinstallpreuninstallpostuninstall。这些脚本信息主要是做一些安装之前和安装之后的处理。

rpm包管理之升级:

命令:rpm  { -U| --upgrade } Pkgname

  1、使用(--nodeps)解决升级过程的依赖关系。

  2、使用(--force)解决升级过程新旧版本之间的冲突。

rpm包管理之检验:

命令:rpm  { -V | --verify}  Pkgname

结果显示解析,若一下选项有显示,表示该选项出问题:

  1、Ssize):表示文件的大小被修改过。

  2、Mmode):表示文件的权限被修改过。

  3、5MD5):表示校验结果出问题。

  4、DDevice major|minor):表示设备的版本号被修改过。

  5、Lreadlink):符号链接的路径被改变。

  6、Uuser):文件的属主不匹配。

  7、Ggroup):文件的属组不匹配。

  8、Ttime):文件的时间戳被改变。

rpm包管理之来源合法性检验及软件包完整性检验:

来源合法性检验:通过单向加密机制(md5|sha1

完整性检验:通过公钥加密机制(RSA

命令:rpm { -K| checksig} /path/to/Pkgname

     在执行该命令之前应该先导入公钥,不然会导致RSA和MD5都出错。

     #rpm --import  /path/to/Pkg-key

[root@anna-laptop~]# rpm  -K/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm 
/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) 
[root@anna-laptop ~]# rpm --import /media/rhel6.5/RPM-GPG-KEY-redhat-release 
[root@anna-laptop ~]# rpm -K /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm 
/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

rpm包管理之数据库重建:

   命令:rpm  --initdb:初始化数据库,不会覆盖原有数据库

      rpm --rebuilddb:重建数据库,会覆盖原有数据库。


本文出自 “11219885” 博客,请务必保留此出处http://11229885.blog.51cto.com/11219885/1750649

软件包管理—rpm

标签:rpm   卸载   软件包安装   升级   检验   数据库重建   

原文地址:http://11229885.blog.51cto.com/11219885/1750649

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!