首页 > 代码库 > 软件包管理之RPM

软件包管理之RPM

        RPM包管理工具为红帽公司研发的一款程序包管理器,在RHELCentOSFedoraSUSE等发行版中被广泛使用。

        RPM包管理工具可用于实现RPM的安装、卸载、查询、重装、校验等操作。        

        RPM包的命名格式为:Name-Major.Minor.Release-release.arch.rpm

                 Major:程序包的主版本号

                 Minor:程序包的次版本号

                 Release:发行版本号(此版本号为程序的源代码包的发行号)

                 release:修订版本号(这个版本号标识对此rpm包自身的修订)

                 arch:适用的硬件平台

    例如:zsh-4.3.10-7.el6.x86_64.rpm        

        zsh是软件包的名字,4.3.10为源码包发行的主版本号,次版本号以及发行版本号,7.el6rpm包修改的次数以及适用的OS发行版版本,x86_64为适用的硬件平台

    获取rpm包的途径:

        1.系统发行版的光盘中以及官方站点或镜像站点等

            rpm包在光盘中的位置:/Packages(这里的/代表光盘为根目录)

            镜像站点例如:mirrors.sohu.com (163.com)

        2.程序项目官方站点

            apachewww.apache.org

        3.第三方组织

            Fedora-EPEL

            搜索引擎等

        4.自己制作

RPM程序包的应用:

        查询:

            检查某包是否已经安装成功,或检查安装的所有软件包

                    rpm -q [select-option] [query-option]

        select-option:

            1、查询某包是否安装:

            rpm -q Package_Name...

  2891592435766252078.jpg

            2、查询已安装的所有包:

            rpm -qa

6619473415584172930.jpg

            3、查询某文件是由哪个包安装生成的

            rpm -qa /path/to/somefile

            4、查询尚未安装的相关信息:

            rpm -qpi Package_file

6619574570653926733.jpg

        query-option:

            1、查询某包的简要说明信息

            rpm -qi PACKAGE_file

            2、查询某包安装后生成的所有文件列表

            rpm -ql Package_file

            3、查询某包安装后生成的所有配置文件列表

            rpm -qc Package_file

            4、查询某包安装后生成的所有帮助文件列表

            rpm -qd Package_file

            5、查询某包制作时随版本变化的changelog列表信息

            rpm -q –changelog Package_file


            以上内容只会演示个别例子,请见谅。


        安装:

             rpm -ivh [install-options] Package_file

                 常用安装选项:

                    --replacepkgs:重新安装

                    --nodeps:忽略软件包依赖关系

                    --test:测试安装,并不执行安装过程

                例如:安装zsh这个软件包

        使用:rpm -ivh --test zsh-4.3.10-7.el6.x86_64.rpm        1154047404531445016.jpg

        注:安装和升级必须使用软件包的完整名称

        

        升级:

              rpm -Uvh [intsall-options] Package_file

                  此操作为:如果系统中存在旧版本程序包,则升级安装,否则执行安装操作

              rpm -Fvh [install-options] Package_file

                 这项操作为:如果系统中存在旧版本程序包,则升级安装,否则不安装

        常用升级选项:

                     --nodeps:忽略软件包依赖关系

                     --test:测试安装,并不执行安装过程

        

       注: 这里没有这项演示,请见谅。        

       不要对内核执行升级操作,linux内核支持多版本内核并存,若安新版本内核可以直接安装,以免系统崩溃       

        卸载:

              rpm -e  [options] Package_file        

        options:

                    --nodeps:忽略依赖关系

                    --test:卸载测试

        在卸载前,请先查看当前系统中是否安装此包        2779002445081887829.jpg

        卸载刚才的zsh包使用rpm -e zsh,卸载完成后再次查询一下看看是否存在

        651614571102762675.jpg

        rpm程序包在安装时会有大量的依赖关系存在,例如安装A程序包需要B程序支持然而安装B又需要C支持这就导致可能安装一个软件包需要很长时间,如果使用—nodeps这个选项可能会导致程序包的不能正常使用,为此红帽某衍生版开发了一款rpm软件包的前端管理工具可以帮我们完成大量软件包的依赖关系而做到快速安装

        若要了解请点击下一篇文章《软件包管理之YUM

        



本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1584744

软件包管理之RPM