软件分类:

Linux系统中,软件包一般可以分为2种,一种是源代码包,例外一种就是RPM包。源代码包又叫做脚本安装包,它的特点就是属于源代码安装包。

源码安装包的优点是:
1、开源的,如果对C或C++很了解的情况下,可以修改或者扩展源码。
2、可以自由选择所需的功能
3、软件是编译安装,所以更加适合自己的系统,更加稳定效率更加高。因为编译不通过,大家就会直接修改。
而不是其他人处理好的东西,然后再操作。
4、卸载方便,相当于windows的绿色安装一样,直接删除安装路径即可。
源码安装包的缺点是:
1、安装步骤多,尤其安装大型软件集合时,容易出现拼写错误。
2、编译时间较长,一个几十M的源码包,编译下来估计就得花费个1-2天。
3、编译安装,安装出错,新手很难解决问题。
RMP包,又叫二进制包,它是属于编译之后的安装包。一般属于系统默认包,大多存储在.iso镜像文件的Packages
文件夹内。
二进制包的优点是:
1、包管理简单,只需要几个简单的命令就可以完成对包的安装,升级,查询和卸载等操作。
2、安装速度比源代码包安装快的多,因为它是编译之后的产品,无需再次编译了。
二进制包的缺点是:
1、经过编译,不再可以查看源代码了
2、功能选择不如源码来的灵活
3、依赖性提高了
这篇博客以RPM包的指令操作为主,暂时不涉及到源码包的安装内容。 首先,我们先看下RPM包的命名规范,包
的命名的组织规范
从上面的图例中,我们可以看出,httpd为软件的包名,而httpd-2.2.15-15.el6.centos.1.i686.rpm才是包的包全名 。
这2个内容要区分开来,因为指令会按照场景选择包名或者包的包全名,一般在安装,升级时这种指令都是用的包的
包全名。 可以这样理解,一般我们在操作未安装的包的时候,那么都用的是包的包全名。而查看,卸载这些指令就
用的多是 包名。
例外,就是看下RPM包的依赖性,RPM包在安装的时候,常常会依赖于其它包的安装,这种情况在windows中也是很
常见的。
可能看到依赖一般分为3种,树形与环形,还有模块。前2种都说的RPM包之间的依赖,后者则说的RPM包与.so.0
这种类似模块之间的依赖。
需要说明的是:在Packages包中并不存在,那么需要将依赖的模块完整信息,在www.rpmfind.net这个网站上去
查 看具体依赖的是哪一个RPM包。然后再完成安装。

RPM安装

RPM二进制包的安装,主要依靠如下命令:rpm -ivh 包全名 其中的i代表(install)安装的含义,v代表显示详
细 信息,h代表显示进度。rpm的手动安装,很复杂,依赖太多,不好操作,只作为了解即可。
RPM二进制包的更新,只需将上述安装命令的i修改为大写的U即可完成升级操作。命令也就是:rpm -Uvh 包全
RPM二进制包安装好后,如果需要卸载,采用命令:rpm -e 包名

RPM查询

查看软件包:
需要想要查看某个软件包,是否在系统中有过安装,则采用指令:rpm -q 包名 例如:
这里查看是否有安装apache,那么最终的结果是并未安装。
查看所有已经安装过的包:
如果要查看所有已经安装的软件包,那么就采用指令:rpm -qa 这条指令将会把所有在系统中依旧安装的软件包
显示出来。当然不便于我们查找我们想要的结果,这时就可以使用:rpm -qa | grep perl模糊查询所有包名中有
perl的软件包。例如:

查看软件包的详细信息:
如果想要查看一个软件包的详细信息,我们可以采用如下命令:rpm -qi 包名 其中的i表示(information),
例如:
这种是查看已经安装过的软件包的信息,如果要查看尚未安装的软件包的信息,则在命令后,添加一个p即可,其中p
代表(package)的含义,指令:rpm -qip 包全名。

查看软件包安装后的位置:
如果要查看一个软件包在安装后,安装的目录在什么地方, 则采用:rpm -ql 包名,其中l代表(list)的含义
,例如:
当然,如果想要查看未安装的软件包,即将安装的位置,则在命令后,添加p即可,p同样代表(package)的
含义,命令如:rpm -qlp 包全名。

查询系统文件属于哪个RPM软件包:
如果我们想要查看某个系统文件,它是哪个软件包下面的,则可以采用:rpm -qf 系统文件名来进行查看,
例如:
查询软件包的依赖性:
如果我们需要查看某个软件安装包的依赖包信息,那么则可以采用:rpm -qR 包名 ,其中R代表(requires),即可完成查看,例如:
这都是需要依赖的软件包,那么在手动安装上述包之前,就需要将这些依赖包都给先安装好才可以完成手动安装
RPM包。如果要查看一个未安装的软件包的依赖关系,则在上述命令之后,添加p即可,命令如:rpm -qRp 包全名。
RPM包的校验:
首先,要知道RPM软件包,一般都是系统包,那么系统包如果被其它人修改后,我们如何查看是否有过变化,
则可以通过命令:rpm -V 已安装的包名 来完成校验,其中的V代表(verify)校验。例如:
如果系统文件没有发生改变,则不会显示任何内容出现,但是一旦经过修改,我将上述文件的一个字母有大写的P修改为小写的p,则会出现如下情况:
可以看的到,出现了..5....T. 这8个字符,这8个字符分别代表了不同的含义:
例外,就是在这个图中未显示出来的文件类型,需要注意:
当出现g “鬼"文件时,一定要注意,这种文件不应该出现在我们的系统中的。
RPM包中文件提取:
有的时候,我们在操作windows时,将系统文件删除了,除了重新安装系统以外,几乎毫无办法,但是linux却不是这样的,只要我们找到相应的文件,直接重新导入到系统文件目录下即可重新一切恢复正常。例子如下:
上述指令中,需要说明的是:“./bin/ls”中间的这个"."实际上是代表当前目录,没有其他的意思。提取文件通常来说都是用于系统修复,文件的恢复。

RPM软件安装包-rpm指令操作相关推荐

  1. 从阿里云下载kubeadm rpm格式安装包到本地离线安装

    从阿里云下载kubeadm rpm格式安装包到本地 ①.配置yum源 # cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernet ...

  2. 通过yum获取rpm离线安装包

    通过yum获取rpm离线安装包 离线安装不可避免需要下载对应安装包,此时可以通过yum命令只下载不安装的rpm安装包. 两种获取rpm包方式: 使用yum命令 将lftp所需安装包保存到当前目录(注意 ...

  3. creatprocess 操作文件_F7000荧光分光光度计(软件安装包+基本操作规程)

    10月软件文档 F-7000荧光分光光度计(软件安装包+基本操作规程) 文件下载方式长按识别二维码关注公众回复: 软件2 即可免费获取原文件 软件包内容 基本操作规程 1.开机: (1)开启计算机. ...

  4. 程序的安装——软件安装包的制作、软件仓库的使用

    读书笔记 -- <嵌入式C语言自我修养> 软件安装 linux 安装包的制作 编译 软件安装包路径 使用dpkg命令来制作安装包   及   安装包的卸载 软件仓库 更新源 查看具体需要更 ...

  5. 使用Qt Installer Framework制作软件安装包

    概述 Qt Installer Framework(缩写QIF)是Qt官方用于生成软件安装包的工具.包括Qt Creator和Qt Installer Framework自身的安装包都是由这个工具制作 ...

  6. C++编程【Visual Studio 2017 环境搭建教程】【附:软件安装包】

    学习网址:哔哩哔哩网站--黑马程序员C++从0到1入门编程(附C++编程环境搭建教程) 软件安装包:visual_studio_community_2017_version_15.3.exe 链接:h ...

  7. 专业的软件安装包可以这样做!

    C/S客户端开发完成,需要将程序交付给用户,直接压缩发给用户是可以的(只是有点不专业),如果能有一个比较好看的安装界面,那档次就不一样了. 本文介绍怎么使用Adanced Installer 17.9 ...

  8. Pocket PC/Smartphone软件安装包之制作DIY

    Pocket PC/Smartphone软件安装包之制作DIY<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:of ...

  9. cad常青藤插件_CAD 2020软件安装包+插件大合集+完整视频教程,自学也可以的

    CAD软件作为工程人常用的软件之一,功能非常的强大,应用的范围也很广泛.想要熟练操作应用CAD软件,当然也少不了便捷的软件插件. 常用的CAD软件,也就是所谓的三维制图软件,较二维的图纸和二维的绘图软 ...

最新文章

  1. java写出文本文档乱码_对象流如何写出到文件以及为什么乱码
  2. 超级实用的linux 下shell快捷键汇总
  3. Docker Machine-Windows
  4. 计算机玩游戏不能全屏,玩游戏屏幕两边有黑条?教你简单几步轻松解决-win7玩游戏不能全屏...
  5. bundle文件解压_通过sourcemap解压缩webpack 实战
  6. (十七)Java springcloud B2B2C o2o多用户商城 springcloud架构-消息驱动 Spring Cloud Stream...
  7. 像python一样运行js的__main__
  8. iis ftp 隔离账户
  9. 收入时间序列——之预测总结篇
  10. origin8.1中文乱码设置方法
  11. python---录制音频
  12. 新生儿婴幼儿宝宝护理知识学习
  13. 华硕主板反复进入BIOS以及无法识别固态硬盘?
  14. Markdowm常用公式及相关符号笔记
  15. java 子类克隆_Java对象克隆了解
  16. 常用的git命令,基本工作够用了
  17. FATE —— 二.3.2 Hetero-NN使用CustModel设置顶部、底部模型
  18. 台式计算机显示屏不亮,电脑开机显示屏不亮怎么办 电脑连接显示屏不显示怎么办...
  19. 【C】echo命令的实现
  20. 卷毛0基础学习Golang-基础-slice切片

热门文章

  1. 创意相册、3D立体相册
  2. 《卸甲笔记》-单行函数对比之三
  3. 311 稀疏矩阵的乘法
  4. 【SCI投稿委婉催稿信模板】
  5. mysql 在指定的dsn中_access 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配...
  6. python3 diff函数案例
  7. WPS文档究竟有多好,不服一起跑个分?
  8. yiui易柚7 是Android什么版本,康佳YIUI易柚操作系统
  9. 联邦滤波算法封装Matlab函数
  10. 贴片电容的封装尺寸容值解读