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 \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安装软件的更多相关文章
- Ubuntu不支持rpm安装软件解决方法
Ubuntu不支持rpm安装软件解决方法 以前经常使用的是RedHat Linux,习惯使用rpm方法安装软件.最近发现Ubuntu系统居然不支持rpm方法安装软件,提示信息如下: root@root ...
- rpm安装软件时提示warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de
在RedHat下有时候用rpm安装软件是会出现下面则中错误 1.安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105 ...
- Linux使用RPM安装软件
什么是RMP? RPM 的为Redhat Package Manager (RPM软件包管理器)的缩写. RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个 ...
- 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 网上资料说这是 ...
- 用rpm安装软件的常用步骤
假设软件叫software.rpm 1.安装前,查看是否安装过用 rpm -q software 2.安装时,用 rpm -ivh software.rpm 3.安装后想删除,用 rpm -e sof ...
- Linux之RPM安装软件
源码包 (可以看到源代码) 脚本安装包(写好的xsheel一键安装.本质还是源码包和二进制包) 二进制包(RPM包.系统默认包) 包管理系统简单,通过命令就可以安装.卸载 ...
- rpm安装软件(需管理员权限)
常用命名规范 linux-1.2.0-30.e16.i686.rpm rpm基本命令 安装rpm -i software.rpm 卸载rpm -e software 升级rpm -U software ...
- 【原创】RPM安装软件时解决依赖性问题(自动解决依赖型)
满足以下3个条件才能自动解决依赖性: 1.使用rpmdb -redhat(在安装时会自动弹出依赖性错误) 2.所有互相依赖的软件都必须在同一个目录下面. 3.调用-aid参数.
- rpm安装jdk7
原文:http://www.centoscn.com/image-text/config/2015/0208/4658.html 系统环境:centos-6.5 安装方式:rpm安装 软件:jdk-7 ...
随机推荐
- linux命令之crontab定时执行任务
一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动c ...
- Java泛型知识点:泛型类、泛型接口和泛型方法
有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类. 泛型类 容器类应该算得上最具重用性的类库之一.先来看一个没有泛型的情况下的容器类如何定义: public class Cont ...
- list、set、map区别
list是有序且重复的; list中的数据都是按照写入的顺序排列的,存入list的数据用add方法写入; list可以用循环遍历list以达到获取全部数据的目的,同时也可以通过下标get(index) ...
- java并发程序——并发容器
概述 java cocurrent包提供了很多并发容器,在提供并发控制的前提下,通过优化,提升性能.本文主要讨论常见的并发容器的实现机制和绝妙之处,但并不会对所有实现细节面面俱到. 为什么JUC需要提 ...
- hdu3829最大独立集
The zoo have N cats and M dogs, today there are P children visiting the zoo, each child has a like-a ...
- linux 内核的futex - requeue 以及 requeue-pi
futex为更好支持pthread_cond的实现(,最主要是broadcast),设计了requeue功能,并以futex系统调用提供操作接口,包括一对配对的操作 futex_wait_requeu ...
- Java的CLASSPATH
在JDK安装好后,要设置两个变量Path和Classpath,Path是操作系统要求的,这里不谈了,而classpath是Java虚拟机要求的这里做一个详细的解释. 一.classpath的作用 == ...
- 微信公众号开发笔记2(nodejs)
本篇主要记录调用微信各种api和功能实现 一.始于access_token 无论调用微信的什么api,都需要一个查询参数,就是我们每隔1小时或者2小时获取的access_token,笔记1中已经保证了 ...
- 服务器数据库挂掉 Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(2) ";
刚刚遇到这个报错,我无语了,我这么个菜逼,咋解决,还好师兄(付付)解决了,付付真棒,在此记录一下,以供学习 Can 't connect to local MySQL server through s ...
- 3、J2EE学习推荐书籍
3.J2EE学习推荐书籍 J2EE的学习应该循序渐进,一本好书会很快上手和深入.在学习J2EE之前,应该学好SQL,基本上,程序设计都会跟数据库打交道.如果SQL没学好,就如同房子没有基脚 ...