zoukankan      html  css  js  c++  java
  • RPM安装软件

    RMP:rpm命令详解注意事项rpm仓库安装实例srpm:源码rpm

    RPM Package Manager

      由Red Hat公司提出,被众多Linux发行版所采用;

      建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系。

     

    一、rpm命令

    1、查询已经安装的RPM软件信息

    rpm  -q[子选项]  [软件名]

      1、q  --query查询

      2、query-options查询子选项

        [-i,--info]:查看指定软件的详细信息

        [-a,--all]:查看系统中已安装的所有RPM软件包列表

        [-l,--list]:查询指定软件包所安装的目录、文件列表

        [-c,--configfiles]:仅显示指定软件包安装的配置文件

        [-d,--docfiles]:仅显示指定软件包安装的文档文件

      3、查询文件/目录属于哪个RPM软件:rpm  -qf  文件或目录名

    2、查询未安装的RPM包文件

    rpm  -qp[子选项]  RPM包文件

      1、-qpi:通过.rpm包文件查看该软件的详细信息

      2、-qpl:查看.rpm安装包内所包含的目录、文件列表

      3、-qpc:查看.rpm安装包内包含的配置文件列表

      4、-qpd:查看.rpm安装包内包含的文档文件列表

    3、安装或升级RPM软件

    rpm  [选项]  RPM包文件...

      1、-i:安装一个新的rpm软件包

      2、-U:升级某个rpm软件,若原本未装,则进行安装  {-U|--upgrade}

      3、-F:更新某个rpm软件,若原本未装,则放弃安装  {-F|--freshen}

    4、卸载指定的RPM软件

    rpm  -e  软件名  #{-e|--erase}

    5、辅助选项

      1、--force:强制安装所指定的rpm软件包(不要轻易使用)

      2、--nodeps:安装、升级或卸载软件时,忽略依赖关系(no dependencies)

      但是:可能会导致软件异常,有些软件被强行替换安装,并没有真正解决依赖关系。

     

      所以:无论是在安装还是卸载,都是先处理被依赖的软件包。

      3、-h:以“#”号显示安装的进度

      4、-v:显示安装过程中的详细信息

    二、安装软件和卸载软件注意事项

    1、使用完整名字或者短名字。

    2、不要混血(redhat和centos之间安装软件)。

    3、主要软件的版本要匹配--已经安装了高版本的软件,再安装低版本的软件会报错。

    4、同时接很多软件包,先后顺序没有很大关系,只要有就可以,系统会自己先安装最需要的软件包。

    5、注意系统是32位的还是64位,不要在64位的系统上强制安装某些32位的软件,会导致系统出问题,而且安装的软件也不能使用。

     

    三、RPM仓库

    1、位置:/var/lib/rpm目录下(备份好)

    2、RPM数据库故障原因

      1、非正常关机、误删除运行中的程序文件

      2、RPM数据文件被误写或删除

    3、RPM的缺点

      1、安装的环境必须与打包时的环境需求一致或相当;

      2、需要满足套件的相依属性需求;

      3、卸载时需要特别小心,最底层的套件不可先移除,否则可能造成整个系统的问题!

    四、rpm安装软件实例

    1、检查系统的版本

      [root@localhost ~]# cat /etc/issue

      Red Hat Enterprise Linux Server release 6.5 (Santiago)

      Kernel   on an m

    2、将对应系统的镜像文件放入虚拟机的光驱里

    3、挂载镜像文件到/mnt

    [root@localhost ~]# mount   /dev/cdrom    /mnt
    mount: block device /dev/sr0 is write-protected, mounting read-only
    mount: /dev/sr0 already mounted or /mnt busy
    mount: according to mtab, /dev/sr0 is already mounted on /mnt
    
    [root@localhost ~]# ll /dev/cdrom
    lrwxrwxrwx. 1 root root 3 Oct 22 21:46 /dev/cdrom -> sr0

    4、进入/mnt挂载点目录

      [root@localhost ~]# cd  /mnt/Packages

    5、进行安装

      1、安装ftp

      [root@localhost Packages]# rpm -ivh ftp-0.17-54.el6.x86_64.rpm 

      ……

      2、安装lftp(推荐)

      [root@localhost Packages]# rpm -ivh lftp-4.0.9-1.el6.x86_64.rpm 

      3、安装tree

    [root@localhost Packages]# rpm -ivh tree-1.5.3-2.el6.x86_64.rpm 
    warning: tree-1.5.3-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
    Preparing...                ########################################### [100%]
       1:tree                   ########################################### [100%]

    需要安装的软件包的名字一般都可能会比较长比较复杂,常用tab键补齐名字

    五、SRPM

      rpm包的“老祖先”

      源码类型的source rpm包--->半成品--->制作成rpm包

    1、简介

      1、SRPM 文件里面含有源代码( Source Code )

      2、SRPM 的文件名是以 ***.src.rpm 这种格式来命名

      3、需要编译生成RPM包后才能进行安装

    2、rpmbuild命令:安装SRPM包

      1、--rebuild 编译—>打包—>未安装

        最后通常会发现一行字体:Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm

      2、--recompile 编译—>打包—>安装

    命令范例:rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm

  • 相关阅读:
    golang中的值传递和引用传递
    链表

    hashtable(哈希表)
    TAO: Facebook’s Distributed Data Store for the Social Graph. 论文阅读笔记(上)
    Skip Lists: A Probabilistic Alternative to Balanced Trees 跳表论文阅读笔记
    【译】如何实现一个现代化电子商城搜索?(一)
    Elasticsearch搜索资料汇总
    Python 按比例获取样本数据或执行任务
    Python 按分类样本数占比生成并随机获取样本数据
  • 原文地址:https://www.cnblogs.com/geaozhang/p/6958643.html
Copyright © 2011-2022 走看看