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

  程序包管理器之 RPM的用法

时间:2014-07-28 00:44:20      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:        程序包管理器之rpm

  在Linux中我们经常回遇到安装个卸载各种程序,但是我们又没有必要每次都对源代码进行预处理、编译、汇编、链接,这样很不方便,于是我们就可以使用RPM包管理器。

一:RPM包的介绍:RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

二:RPM包的功能介绍:

    1.安装、升级、卸载和管理软件

    2.可以对组件查询

    3.选择安装

    4.验证功能

    5.数据库管理

三:程序包的介绍:首先介绍下程序包管理器的打包机制,这里的打包:包括打包与编译,即我们可以直接安装使用的。程序包的组成格式:二进制程序、库文件(开发库、运行库)、配置文件、帮助文件。

应用程序的命名格式:

   源代码:name-version.tar{gz,bz2,xz}

                version:指的是源代码的版本号

          如bash-4.2.3.tar.gz

四:RPM包的使用:

    源代码:name-version.tar.{gz,bz2,xz}
            version:major.minor.release

    RPM包的命名格式

          name-version-release.arch.rpm

          version: major.minor.release,同源代码
    注意:      release: rpm自身的发行号,与程序源码的发行号无关,仅用于标识对rpm包不同制作 的修订;同时,release还包含此包适用的OS
                bash-4.2.3-3.centos5
          arch: 适用于的硬件平台,
                x86: i386, i486, i586, i686等;
                x86_64: x86_64
                powerpc: ppc
                noarch: 依赖于虚拟机
          例如:bash-4.2.3-3.centos5.x86_64.rpm

    分包机制:加入一个程序有30个功能:常用的功能8个,特殊A的13个,特殊B的6个,二次开发的3个

而我们只需要其中的常用功能,我们就没必要将整个包都给装上。此时就出现了分包机制。它是由核心包(主包):命名与源程序相同如:bash-4.2.3-3.centos7.x86_64.rpm;子包:bash-a-4.2.3-3.centos7.x86_64.rpm, bash-b-4.2.3-3.centos7.x86_64.rpm等    

    获取rpm包的途径:
                1、发行的光盘或站点服务器
                    镜像:
                        http://mirrors.163.com
                        http://mirrors.sohu.com
                2、项目的官网
                    源代码
                    rpm包
                3、很多第三方机构或个人制作并公开发布许多rpm包
                    http://rpmfind.net
                    http://rpm.pbone.net
    RPM包的合法性验证:其中包括来源性验证和包的完整性验证,包制作者完成以后会附加数字签名于包上。

五:RPM的使用命令:

    1.包的安装:

          rpm -ivh /path/to/package_file:

            -i:安装

            -v:详细安装

            -h:显示安装过程信息

            --test仅作测试并不安装

      当然用--relocate=/路径/报名:可以指定安装路径

注意:安装过程中可能出现依赖关系(A包依赖于B包,必须先安装B再安装A,或者同时安装),解决依赖关系后在安装,或者忽略依赖关系--nodeps,但是这样程序可能无法正常运行。

          --replacepkgs:重新安装:
 若果原有配置文件发生修改,此时重新安装可能不替换以前版本,此时应该将生成的配置文件重

 命名为.rpmnew    

    2.包的查询:

         查看包是否安装:

          rpm  -q package_name

         查看所有已经安装的包

          rpm  -qa

         查询包的描述信息

          rpm  -qi package_name

         查询某包安装生成了哪些文件
          rpm -ql package_name

         查询某包安装生成了哪些配置文件

          rpm -qc package_name

         查询程序包的相关脚本

          rpm -q --scripts package_name

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

          rpm -qf /path/to/some_file

    3.包的卸载:

          rpm-e package_name

      注意:如果有其他包依赖于此包需要将其他包一并卸载;或者忽略依赖关系--nodeps,但是依赖于

      此包的其他包可能不能使用

    4.数据库重建:
        数据库目录:/var/lib/rpm

        重建:
            rpm --initdb:

            rpm --rebuilddb
            初始化如果事先没有库,会新建一个;如果有,则不新建;

               
           

        

      

                            


本文出自 “linux运维” 博客,请务必保留此出处http://germanygu.blog.51cto.com/3574209/1530823

  程序包管理器之 RPM的用法,布布扣,bubuko.com

  程序包管理器之 RPM的用法

标签:        程序包管理器之rpm

原文地址:http://germanygu.blog.51cto.com/3574209/1530823

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