zoukankan      html  css  js  c++  java
  • rpm基本命令参考

    水可载舟,亦可覆舟!


     

    1、 介绍

      在Linux操作系统中,常用的软件有RPM包软件包,src.rpm格式的软件包(源码),以源代码发布的软件包以及.bin格式软件包和绿色软件。如果采用.rpm格式的软件,同一软件针对不同的Linux发行版有不同的RPM包,相互依赖关系会经常出现不可预料的错误,但安装过程很简单,源码软件包不依赖具体的发行版本和操作系统内核,但安装此软件的主机上应有对应的开发工具(GCC)和内核代码程序支持,而且安装过程要稍微复杂一些,.bin格式文件可以直接运行安装,绿色软件包则可以直接使用。

    2、  内容

    .rpm

      Linux发行版本都使用某中形式的软件包管理安装,更新和卸载软件,这种方法与直接从源代码安装相比,具有以下优点。

    A    软件包易于安装和卸载

    B    易于更新已安装的软件包。

    C    易于保护配置文件

    D    易于跟踪已安装文件

    rpm 包根据不同的操作系统内核和处理器架构编译过的,因此,不同的操作系统内核版本和处理器架构都需要自己独立的RPM包

      rpm 全称Red Hat Package Manager(Red Hat包管理器)。其本质上就是一个包,包含可以立即在特定处理器架构和操作系统内核上安装和运行的Linux软件,大多数Linux RPM软件包的命名有一定的规律,其命名规则如下所示:

    名称-版本-修正版-类型

    Software-1.2.1-i386.rpm

    .src.rpm

    .deb

    .tar.gz     .tar.Z     .tar.bz2             .tarz

    .bin

    安装系统软件包(讲解图形界面的安装)

    redhat-config-packages

    RPM软件包管理

    安装RPM软件包

    命令格式:

    rpm -i ( or --install) options file1.rpm ... fileN.rpm

    参数:

    file1.rpm ... fileN.rpm   将要安装的RPM包的文件名

    详细选项:

    -h (or --hash) 安装时输出hash记号 (``#'')  
    --test          只对安装进行测试,并不实际安装。
    --percent       以百分比的形式输出安装的进度。
    --excludedocs   不安装软件包中的文档文件
    --includedocs   安装文档
    --replacepkgs   强制重新安装已经安装的软件包
    --replacefiles 替换属于其它软件包的文件
    --force         忽略软件包及文件的冲突
    --noscripts     不运行预安装和后安装脚本
    --prefix <path> 将软件包安装到由 <path> 指定的路径下   #制定安装目录,有些脚本不许制定位置
    --ignorearch     不校验软件包的结构
    --ignoreos       不检查软件包运行的操作系统
    --nodeps         不检查依赖性关系
    --ftpproxy <host>    用 <host> 作为 FTP代理  
    --ftpport <port>     指定FTP的端口号为 <port

    通用选项

    -v   显示附加信息
    -vv 显示调试信息
    --root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
    --rcfile <rcfile> 设置rpmrc文件为 <rcfile>  
    --dbpath <path>    设置RPM 资料库存所在的路径为 <path>

    二、删除

    命令格式:

    rpm -e ( or --erase) options pkg1 ... pkgN

    参数

    pkg1 ... pkgN :要删除的软件包

    详细选项

    --test       只执行删除的测试
    --noscripts 不运行预安装和后安装脚本程序
    --nodeps     不检查依赖性

    通用选项

    -vv            显示调试信息
    --root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
    --rcfile <rcfile> 设置rpmrc文件为 <rcfile>
    --dbpath <path>    设置RPM 资料库存所在的路径为 <path>

    三、升级

    命令格式

    rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm

    四、查询

    命令格式:

    rpm -q ( or --query) options

    参数:

    pkg1 ... pkgN :查询已安装的软件包

    详细选项

    -p <file>(or ``-'') 查询软件包的文件
    -f <file>            查询<file>属于哪个软件包
    -a                   查询所有安装的软件包
    --whatprovides <x>   查询提供了 <x>功能的软件包  
    -g <group>           查询属于<group> 组的软件包
    --whatrequires <x> 查询所有需要 <x> 功能的软件包

    信息选项

    <null> 显示软件包的全部标识
    -i 显示软件包的概要信息
    -l 显示软件包中的文件列表
    -c 显示配置文件列表
    -d 显示文档文件列表
    -s 显示软件包中文件列表并显示每个文件的状态
    --scripts 显示安装、卸载、校验脚本
    --queryformat (or --qf) 以用户指定的方式显示查询信息
    --dump 显示每个文件的所有已校验信息  
    --provides 显示软件包提供的功能
    --requires (or -R) 显示软件包所需的功能

    五、校验已安装的软件包

    命令格式:

    rpm -V ( or --verify, or -y) options

    参数

    pkg1 ... pkgN 将要校验的软件包名

    软件包选项

    -p <file> Verify against package file <file>  
    -f <file> 校验<file>所属的软件包
    -a Verify 校验所有的软件包
    -g <group> 校验所有属于组 <group>   的软件包

    详细选项

    --noscripts 不运行校验脚本  
    --nodeps     不校验依赖性
    --nofiles    不校验文件属性

    六、校验软件包中的文件

    语法:

    rpm -K ( or --checksig) options file1.rpm ... fileN.rpm

    参数:

    file1.rpm ... fileN.rpm 软件包的文件名

    Checksig--详细选项

    --nopgp 不校验PGP签名   

    通用选项

    -v   显示附加信息
    -vv 显示调试信息
    --rcfile <rcfile> 设置rpmrc文件为 <rcfile>  

    七、其它RPM选项

    --rebuilddb 重建RPM资料库
    --initdb     创建一个新的RPM资料库
    --quiet      尽可能的减少输出
    --help       显示帮助文件
    --version    显示RPM的当前版本

    3、实例演示

    rpm –ivh mysoftware-1.2-i386.rpm   

    //安装 rpm软件包  -i install   安装软件  -v verify 检测套件是否正确安装    

    //-h hash 安装时在屏幕依次打印标识(即#符号)显示安装进步

    rpm –qpi mysoftware-1.2-i386.rpm

    //查询某一个rpm文件的信息命令

    rpm –Uvh mysoftware-1.2-i386.rpm 

    //需要更新的软件

    rpm –e mysoftware   

    //卸载软件名

    单独删除一个rpm时系统可能会提示错误,尤其是系统上有相关的程序依赖于它时。

    这时可以用—force选项重新安装。

    rpm –ivh –force mysoftware-1.2-i386.rpm

    查询软件包安装情况

    rpm –qa            //查询当前系统所有安装的rpm包

    rpm –qa | grep softwarename      //查询当前系统是否安装了某软件包

    rpm –qa | grep telnet              //查询当前系统是否安装了telnet

    rpm –qal mysoftware-1.2-i386.rpm    //查看rpm包在系统中安装的文件的详细信息,可以使用-l参数

      目前rpm有两种模式,一种是已经过编码的(i386.rpm).这种软件包只能用于对应平台(如i386.rpm软件包起处理器只能是i386的);

    一种是末经过编码的(src.rpm),这种软件包没有固定的应用平台限制,而且操作方便,用户可以根据内核和Linux开发工具重新编译,用户必须在当前系统中安装Linux内核和开发工具).对于.src.rpm 安装过程如下所示:]

    rpm –ivh Filename.src.rpm                    //解压软件包系统自动解压到/usr/src/redhat/SPECS文件夹

    cd /usr/src/redhat/SPECS

    rpmbuild –bb filename. Spec               //编译软件包,解压到/usr/src/redhat/RPMS/i386  自动

    cd /usr/src/redhat/RPMS/i386         

    rpm –ivh /usr/src/regflag/RPMS/i386/filename.rpm

    使用源代码安装:

    tar文件    tar xf xxx.tar

    gz文件     tar zxvf xxx.tar.gz

    bz2文件    tar xjvf xxx.tar.bz2

    源码编译安装

    ./configure          //配置

    make   // 调用make ,编译程序

    make install  //安装源代码

    make clean   //删除安装时产生的临时文件

    make uninstall      //卸载软件

    文件的安装xxx.bin

    chmod +x xxx.bin  && ./bin

  • 相关阅读:
    分布式文件系统:HDFS
    MapReduce处理流程
    Maven之pom知识点
    Junit单元测试
    Mybatis中@param注解
    kafka在Maven项目中的使用
    无线/安卓安全课堂内容
    C中经常忘记的一些东西
    基于七牛API开发的前端JavaScript SDK
    常见名词解释
  • 原文地址:https://www.cnblogs.com/xiaochina/p/7429440.html
Copyright © 2011-2022 走看看