RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行。

使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名-软件版本-发布次数.操作系统类型.硬件架构类型 .rpm”的文件名形式,如“bash-4.1.2-15.e16_4.x86_64.rpm”。其中硬件平台通常为“i386”“i686”等,表示适用于Intel公司的处理器,“x86_64”表示适用于64位的系统,如果是“noarch”表示不区分硬件架构(支持不同硬件体系的处理器)。

RPM命令具有相当复杂 的命令格式,结合不同的选项及子选项主要可以实现以下三类功能

  • 查询、验证RPM软件包的相关信息
  • 安装、升级、卸载RPM软件包
  • 维护RPM数据库信息等综合管理

维护RPM数据库

重建数据库

init 初始化的意思

rebuild 重新建立 db(datebase)数据库

rebuilddb重新建立数据库

[root@localhost ~]#rpm --rebuilddb
或
[root@localhost ~]#rpm --initdb
导入验证公钥

import 导入的意思

[root@localhost ~]#rmp --import
/media/cdrom/RPM-GPG-KEY-redhat-release

查询RPM软件包信息

查询已安装的RPM软件包信息

rpm [选项] 软件包

查询功能主要通过 “ -q ” 来实现,主要针对当前系统中已经安装的软件包

  • -qa 查看已安装所有软件包
  • -qi 查看软件包更详细信息
  • -ql 查看软件包安装的所有文件包括路径
  • -qf 根据指定文件,查看属于哪个软件包
  • -qc 查看此软件包所有配置文件以.conf .cnf .ini文件属于配置文件,包括路径
  • -qd 查看软件包的文档(包括路径)
查询未安装的RPM软件包信息

rpm [选项] 软件包

通过 “ -qp ” 可以针对尚未安装的RPM包文件进行查询

  • -qpi 查看未安装软件包详细信息
  • -qpl 查看该软件包准备要安装的所有目标目录、文件列表

安装和升级RPM软件包

  • rpm -i 指安装指定的软件包

  • rpm -U 升级指定的软件包

  • rpm -v显示详细信息

  • rpm -h友好的显示文件大小

卸载指定的RPM软件包

  • rpm -e + 软件包名

  • rpm -v显示详细信息

  • rpm -h友好的显示文件大小

通常安装指定软包包时使用:rpm -ivh + 软件包名,卸载指定软件包时使用:rpm -evh +软件包名

如何查看yum源:

首先找一个目录作为挂载点,这里我们就使用/mnt,将/dev/sr0挂载到/mnt/目录下

mount /dev/sr0 /mnt

/mnt/packages (packages 包 里面有各种安装包)

yum list

挂载语法:

mout 设备名称 挂载点*(本地目录)*

rpm安装:


rpm安装过程中遇到依赖性问题,无法解决

yum安装:

可以使用yum仓库来解决:(如果使用官方,则使用的都是最新包)

[root@localhost ~]# yum install httpd -y
已加载插件:fastestmirror, langpacks
base                                                         | 3.6 kB  00:00:00
extras                                                       | 2.9 kB  00:00:00
updates                                                      | 2.9 kB  00:00:00
updates/7/x86_64/primary_db                                  | 2.8 MB  00:00:00
Loading mirror speeds from cached hostfile* base: centos.ustc.edu.cn* extras: centos.ustc.edu.cn* updates: centos.ustc.edu.cn
正在解决依赖关系
…………省略部分内容…………
已安装:httpd.x86_64 0:2.4.6-90.el7.centos                                                作为依赖被安装:apr.x86_64 0:1.4.8-5.el7                       apr-util.x86_64 0:1.5.2-6.el7      httpd-tools.x86_64 0:2.4.6-90.el7.centos       mailcap.noarch 0:2.1.41-2.el7

rpm卸载:

[root@localhost ~]# rpm -evh bind
准备中...                          ################################# [100%]
正在清理/删除...1:bind-32:9.9.4-50.el7             ################################# [100%]

yum卸载:

[root@localhost ~]# yum -y remove httpd
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-90.el7.centos 将被 删除
--> 解决依赖关系完成……………省略部分内容………………删除:httpd.x86_64 0:2.4.6-90.el7.centos                                                完毕!

yum私网仓库

yum公网仓库

  • 1)自建仓库

  • 2)官方仓库

yum list 加载yum列表
yum安装语法:yum -y install 软件包
yum 包卸载语法:yum -y remove 软件包
清空缓存:yum -clean all (出现卡顿,延迟可使用)

安装过成功需要手动确认, 安装时或卸载时 -y 可以免交互


在无网络情况下建立本地yum仓库

yum文件,都以.repo为结尾的配置文件

进入yum本地配置文件

[root@localhost ~]# ping www.baidu.com       //确定目前无网络状态
ping: www.baidu.com: 未知的名称或服务
[root@localhost ~]# cd /etc/yum.repos.d/      //进入yum配置文件目录
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

repo结尾的全是配置文件(需要使用网络,因为我们是在无网络情况下,所以暂时用不到,可以创建一个目录移动进去)

[root@localhost yum.repos.d]# mkdir yum
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  yum
[root@localhost yum.repos.d]# mv CentOS* yum
[root@localhost yum.repos.d]# ls
yum

现在,我们在yum.repos.d里面建立手工配置,建立一个文件,名字随意,如:abc

格式 vim abc.repo

进入后进行配置(如下图):

[文件名字]

描述信息,yum仓库的名称

指定软件所放的路径 ,file:// 是固定格式 /mnt是路径

1为开启yum仓库

0为关闭校验,不需要检查了

:wq 保存退出

这时使用yum list 就可以加载出来软件包了

[root@localhost yum.repos.d]# vim abc.repo
[root@localhost yum.repos.d]# yum list
已加载插件:fastestmirror, langpacks
abc                                             | 3.6 kB     00:00
(1/2): abc/group_gz                               | 156 kB   00:00
(2/2): abc/primary_db                             | 3.1 MB   00:00
Loading mirror speeds from cached hostfile
已安装的软件包
GConf2.x86_64                         3.2.6-8.el7             @anaconda
GeoIP.x86_64                          1.5.0-11.el7            @anaconda
ModemManager.x86_64                   1.6.0-2.el7             @anaconda
ModemManager-glib.x86_64              1.6.0-2.el7             @anaconda
NetworkManager.x86_64                 1:1.8.0-9.el7           @anaconda
NetworkManager-adsl.x86_64            1:1.8.0-9.el7           @anaconda
………………省略部分内容…………

然后就可以进行安装了

[root@localhost yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 将被 安装
--> 解决依赖关系完成…………省略部分内容…………已安装:httpd.x86_64 0:2.4.6-67.el7.centos                                   作为依赖被安装:httpd-tools.x86_64 0:2.4.6-67.el7.centos                             完毕!

安装成功。通过实验可以看本地yum源会存在列表中没有此源文件而造成无法安装RPM包的问题,但是本地

yum源是可以在无网络情况下正常安装RPM包。

并且yum可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

Linux——RPM、Yum 安装及yum本地安装相关推荐

  1. Linux RPM包管理及yum安装用法

    rpm命令 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" 常用命令组合:     -ivh      ...

  2. linux rpm找不到命令_Linux安装软件

    在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续"下一步"即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为不是在图形界面下,需要学会如何在l ...

  3. cygwin用命令安装软件_Cygwin本地安装版

    cygwin本地安装版离线即可安装,使用十分方便,适合linux.安卓平台软件开发与测试时使用,倍受行业人员和学者们的青睐. http://www.itmop.com/downinfo/13002.h ...

  4. hadoop安装Snappy HBase本地安装Snappy

    1.环境 Centos7 hadoop-2.7.7 zookeeper-3.4.14 hbase-1.4.10 JDK1.8 2.hadoop安装snappy(集群,在主库安装) 2.1.安装snap ...

  5. arch linux rpm格式,如何在ArchLinux上安装RPM包

    有时候你可能会发现,想安装一个包,但是这个包只提供 RPM 安装文件,而 ArchLinux 并不支持安装 RPM 文件,这该怎么办呢? 下面这个方法也许可以帮到你. 1. 安装 rpmextract ...

  6. php本地的调试安装,教你本地安装、运行、调试PHP程序

    安装工具 对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事:至少对于我来说本地调试PHP程序比登天还要困难,繁荣拖沓的各种程序.以前我博客程序用的是PJBLOG,本地的IIS就完全可以 ...

  7. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...

  8. nodejs全局安装和本地安装的区别

    作者:白树 转载自http://www.cnblogs.com/PeunZh... 上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm ...

  9. node.js全局安装和本地安装的区别

    上一篇文章<npm 常用命令详解>主要是整理了最常使用的npm命令及相关介绍,其中有提到全局安装(npm install gulp -g)和本地安装(npm install gulp),下 ...

  10. python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error

    python打包 Python安装Pyinstaller失败,Preparing wheel metadata ... error 解决办法 执行pyinstaller时报错:TypeError: a ...

最新文章

  1. Java项目:前台+后台精品水果商城系统设计和实现(java+Springboot+ssm+mysql+jsp+maven)
  2. ECharts 之 环形图
  3. 易优cms问一下大家 二级目录 真的完全不能装吗
  4. 3种骚操作,教你查看 Java 字节码!
  5. 联想g510升级方案_联想集团副总裁阿木:智能化转型是VUCA 时代的成功路径 -联想 ——快科技(驱动之家旗下媒体)-...
  6. kafka 思维导图
  7. Hadoop基础知识
  8. WebService工具类调用远程接口服务时java.io.IOException: Server returned HTTP response code: 500 for URL XXX
  9. mysql merge事务_mysql菜鸟手迹11--mysql存储引擎之Merge
  10. idea配置Tomcat乱码处理
  11. 静态代理和动态代理的区别是什么
  12. 【STM32H7的DSP教程】第14章 DSP统计函数-最大值,最小值,平均值和功率
  13. matlab 1stopt,1stOpt或者MATLAB自定义公式曲线拟合 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  14. vue中点击打开新的页面window.open()
  15. R-S编码译码-缩短码(10,6)
  16. OC中类目(Catagory)和扩展(Extension)的使用
  17. Ansible常用配置及命令
  18. 分别用抽象类和接口实现四个动物类(鱼类、鸟类、爬行类、昆虫类)的类别和天赋
  19. 后端技术交流群,邀你加入
  20. tbb学习笔记(一): tbb容器及Mutex

热门文章

  1. VS2015编译boost1.58 Linux平台编译
  2. 2022亲测狮子鱼16.7.0小程序源码+独立版交易组件
  3. 解码Snapchat CEO埃文:大学没毕业 完全不懂代码
  4. 【题解】P1553 数字反转(升级版)
  5. Beyond compare3.3 绿色版+右键菜单修复方法.rar
  6. c语言逆波兰式算法,c语言 逆波兰式输入 计算器程序
  7. 越南兴建30MW太阳能电站,2030环境目标更进一步
  8. Glide图片加载流程浅析
  9. 公司该怎样留住人才?
  10. html div虚线背景,关于CSS(DIV属性,背景,连接,边框,虚线,实线,布局与命名)...