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 \r 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. root root Oct : /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.-.el6.x86_64.rpm
warning: tree-1.5.-.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [%]
:tree ########################################### [%]

需要安装的软件包的名字一般都可能会比较长比较复杂,常用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

RPM安装软件的更多相关文章

  1. Ubuntu不支持rpm安装软件解决方法

    Ubuntu不支持rpm安装软件解决方法 以前经常使用的是RedHat Linux,习惯使用rpm方法安装软件.最近发现Ubuntu系统居然不支持rpm方法安装软件,提示信息如下: root@root ...

  2. rpm安装软件时提示warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de

    在RedHat下有时候用rpm安装软件是会出现下面则中错误 1.安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105 ...

  3. Linux使用RPM安装软件

    什么是RMP? RPM 的为Redhat Package Manager (RPM软件包管理器)的缩写. RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个 ...

  4. linux 使用rpm安装软件时,遇到"warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY "错误

    建议的做法: warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY    网上资料说这是 ...

  5. 用rpm安装软件的常用步骤

    假设软件叫software.rpm 1.安装前,查看是否安装过用 rpm -q software 2.安装时,用 rpm -ivh software.rpm 3.安装后想删除,用 rpm -e sof ...

  6. Linux之RPM安装软件

    源码包 (可以看到源代码)      脚本安装包(写好的xsheel一键安装.本质还是源码包和二进制包) 二进制包(RPM包.系统默认包)      包管理系统简单,通过命令就可以安装.卸载     ...

  7. rpm安装软件(需管理员权限)

    常用命名规范 linux-1.2.0-30.e16.i686.rpm rpm基本命令 安装rpm -i software.rpm 卸载rpm -e software 升级rpm -U software ...

  8. 【原创】RPM安装软件时解决依赖性问题(自动解决依赖型)

    满足以下3个条件才能自动解决依赖性: 1.使用rpmdb -redhat(在安装时会自动弹出依赖性错误) 2.所有互相依赖的软件都必须在同一个目录下面. 3.调用-aid参数.

  9. rpm安装jdk7

    原文:http://www.centoscn.com/image-text/config/2015/0208/4658.html 系统环境:centos-6.5 安装方式:rpm安装 软件:jdk-7 ...

随机推荐

  1. 《深入理解Java函数式编程》系列文章

    Introduction 本系列文将帮助你理解Java函数式编程的用法.原理. 本文受启发于JavaOne 2016关于Lambda表达式的相关主题演讲Lambdas and Functional P ...

  2. 浅谈C#数组(二)

    六.枚举集合 在foreach语句中使用枚举,可以迭代集合中的元素,且无需知道集合中元素的个数.foreach语句使用一个枚举器.foreach会调用实现了IEnumerable接口的集合类中的Get ...

  3. 自动获取代理IP信息的例子,含代码,分享哦,

    /// <summary> /// 读取URL数据内容 /// </summary> /// <param name="url">网址</ ...

  4. HR最喜欢问的问题_"你的职业规划是什么?"

    很多面试官都会问,“你的职业规划是什么?”这个问题往往会难倒很多求职者.今天我跟大家分享,求职者怎样回答,才能更给自己加分 1.对目前自己要从事的这个岗位有清晰的认识,比如这个主要的工作是做什么的,大 ...

  5. CF #271 F Ant colony 树

    题目链接:http://codeforces.com/contest/474/problem/F 一个数组,每一次询问一个区间中有多少个数字可以整除其他所有区间内的数字. 能够整除其他所有数字的数一定 ...

  6. 【Spark2.0源码学习】-3.Endpoint模型介绍

         Spark作为分布式计算框架,多个节点的设计与相互通信模式是其重要的组成部分.   一.组件概览      对源码分析,对于设计思路理解如下:            RpcEndpoint: ...

  7. qt 文本中显示中文

    QTextCodec *codec = QTextCodec::codecForName("utf8");QTextCodec::setCodecForLocale(codec); ...

  8. 【翻译】FreeMarker——入门

    原文传送门 1. Template + data-model = output data-model是一个树状模型,通常是一个java对象. 2.data-model 入门 hashes(散列):目录 ...

  9. jquery判断文本框输入的是非数字内容(交流QQ群:452892873)

    isNaN($(this).val())==false   输入的是数字, isNaN($(this).val())==true  输入的是非数字内容

  10. Docker- 创建支持SSH服务的容器镜像

    示例 - CentOS7 [root@CentOS-7 ~]# cat ssh-centos7 FROM centos:centos7 MAINTAINER anliven "anliven ...