设为首页 收藏本站
查看: 666|回复: 0

[经验分享] linux软件包管理之RPM

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-8-15 08:52:35 | 显示全部楼层 |阅读模式
   RPM是RHEL的一款后端软件包管理工具;全称为RedHat Package Manage,由RedHat公司开发,主要作为RehHat Linux软件包的管理机制之一,但并未用作商业用途,而是遵循GPL协议,其设计理念是开放的;现包括SUSE、Openlinux等发行版都采用,是非常强大的软件管理工具。    RPM是以一种数据库记录的方式来将需要的软件包安装到linux系统的一套管理机制,最大特点是:

        1、由于软件包是已经编译过且打包完毕的,所以软件传输与安装很方便

        2、由于软件安装之后信息都记录在数据库中,很方便查询,升级与卸载

                数据库在/var/lib/rpm
        3、RPM不仅是作为软件包管理的工具,还可以进行制作软件包,将源码格式编译后经过处理,制作成rpm格式的软件包

    RPM也有缺点,就是对软件之间的依赖关系不能很好的处理,例如A依赖B,B依赖C这样还好,顺序安装就可以,但是在linux中有可能会出现A依赖B,B依赖C,而C却依赖A,这样就让人很头疼了,所以就有了另一种软件管理机制yum,yum就是为了处理软件依赖关系而产生的。
    RPM的命名格式,RPM有主包和子包之分
    wKiom1Pst5KjtJGpAACbN--FvpE848.jpg

    wKiom1Psu0eBUMmcAAE3Kj5DoP8237.jpg
    1、安装

        rpm -i{vh} PACKAGE_FILE

            -i:安装

            -h:以#号显示进度,每个#号代表2%

            -v:显示详细信息

                -ivh也是常用组合选项
    wKiom1PsukzC3LIpAADTM9L8_fE502.jpg
            -vv:显示更详细信息

                --nodeps:忽略依赖关系

                --prefix:指定软件的安装路径
                --replacefiles:解决安装过程中出现某些文件已经被被安装在系统上,则直接覆盖
                --replacepkgs:重新安装,替换原有安装
                --force:强制安装,可以实现重装或降级

                --test:测试依赖关系

    wKiom1Psux6j4A7AAADMndYdf8Y262.jpg
    2、查询
        rpm -q{ilcdf} PACKAGE_NAME

            -q:查询
      wKiom1PsvIWQg4p_AAG-CYH8gnU825.jpg
            -i:查询指定包的说明信息

            -l:查询指定包安装后生成的文件列表

            -c:查询指定包生成的配置文件

            -d:查询指定包的帮助文件

            --scripts PACKAGE_NAME:查询指定包中包含的脚本
      wKiom1PsvUHT0NsyAAHb741x2WE202.jpg
            -f /PATH/FILE:查询指定的文件是由哪个rpm包生成的

            如果某个rpm包尚未安装,查询说明信息、安装后要生成的文件使用

                rpm -qfi PACKAGE_NAME

                rpm -qfl PACKAGE_NAME
    3、升级

        rpm -U PACKAGE_NAME:如果装有老版本,则升级否则,则安装

        rpm -F PACKAGE_NAME:如果装有老版本,则升级否则,则退出
            --oldpackage:降级
    4、卸载

        rpm -e PACKAGE_NAME

            --nodeps:忽略依赖关系

    wKioL1PswkjBHdsdAAAw0JgBKqk696.jpg
    5、校验

        rpm -V{apf} PACKAGE_NAME:校验文件,没有返回值则表示没有修改过任何文件

            -a:校验目前系统上面所有可能被更劢过的文件
            -p:校验软件内可能被更改过的文件

            -f:校验某个文件是否被更改过
                返回值的属性信息:

                S :文件的容量大小是否被改变
                M :文件的类型和文件的属性 (rwx) 是否被改变
                5 :MD5 值是否相同
                D :设备的主/次代码是否改变
                L :Link 路径已被改变
                U :文件的属主已被改变
                G :文件的所属组已被改变
                T :文件的建立时间已被改变
    6、重建数据库

        rpm -- rebuilddb:重建数据库

        rpm --initdb:初始化数据库

    7、检查来源合法性及软件包完整性

        /etc/pki/rpm-gpg/存放RedHat释出的公钥

    wKiom1PsyZrARFc6AABuOd3MdCQ949.jpg
        导入秘钥文件:

            rpm --export /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

        rpm -K PACKAGE_NAME:检验文件

            dsa,gpg:检验来源合法性,也即验证签名

            sha1,md5:验证完整性

                --nosignature:忽略签名

                --nodigest:忽略验证完整性
    wKioL1Pszb_j6q_ZAAByaczGjvU211.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-23870-1-1.html 上篇帖子: LVM+RAID5 下篇帖子: RHEL6.5 配置 RAID5下的 LVM卷 linux 软件包
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表