RPM软件包管理

简介:

   RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例,其RPM包xv-3.10a-13.i386.rpm可以在该程序的主页中下载取得。

Linux软件包 大概分为了一下几种

①   二进制软件包管理<RPM.YUM>

②   源代码包管理

③   脚本安装<shell或java脚本>

④   Debian系列linux软件包 <不后续介绍>

以sudo-1.7.4p5-11.el6.i686.rpm这个软件版为例

解释下linux命名格式sudu=软件名1.7.4p5=版本号 11.el6=发行号 i686=硬件平台

安装sudo  挂载光盘什么的不做介绍了

[root@chenyi Packages]# rpm -ivh sudo-1.7.4p5-11.el6.i686.rpm

RPM软件包参数

--exludedocs

不安装软件包中的文档文件

--prefix=

指定路径进行安装

--test

测试安装,不实际安装

--replacepkgs

覆盖安装

--replacefiles

忽略错误继续安装

--nodeps

忽略依赖关系安装

-a

查询所有已经安装的软件包

-f

查询文件所属的软件包

-p

查询软件包

-i

显示软件包信息

-l

显示软件包中的文件列表

-c

显示被标注为配置文件的文件列表

-d

显示被标注为文档的文件列表

-e

卸载软件包

-qf

查询文件隶属的软件包

–qi、–qip

查询软件包信息

-ql –qlp

查询软件包的安装文件

-qd

查询软件包的帮助文件

-qc

查询软件包配置文件

软件包校验: rpm –V [软件名称]

对应的参数

5

文件的md5校验值

S

文件大小

L

连接文件

T

文件的创建时间

D

设备文件

U

文件的用户

G

文件的用户组

M

文件的权限

这里演示下 –V 这个参数。因为他对于某种环境来说是很不错的!

以 /etc/inittab 配置文件为示例,这文件有啥用  我就不做解释了。

首先 rpm –qf 查看/etc/inittab 这个文件是有什么软件包所创建的!

 

解释下后2个命令  rpm –V initscripts 是校验 安装inittab这个配置文件的软件包。但回执信息告诉我们 它的文件创建时间被改变了。且不管它,第二个 rpm –V sudo  没有任何回执信息,如果确定没有更改过任配置信息。那么rpm –V 就是正常的,如果没做更改就不会有任何回执信息。但是如果回执信息有输出的话。就证明你的计算机被更改过。下面继续看图:

我更改了inittab文件的内容,更改了它的权限,更改了它的所属用户,更改了它的所属组,然后再校验就看到了 SM5..UGT.的回执 表示文件大小改变了,因为内容变了,然后文件的权限改变了,MD5值也改变了,所属用户也改变了,所属组也改变了,文件的创建时间也改变了,如果这不是我们管理员所做的更改,那证明 有其他人动过计算机,可能是黑客,可能是那坑爹的 江南style的男主角 !

呵呵,图上的操作为了验证效果所配置。别乱喷!

MD5值校验。咳咳,什么。我删除了inittab这个文件???….继续往下看吧

MD5校验原理

当安装一个新的rpm包时,会自动生成一个rpm库,在需要的时候会通过这个库来比较得到这些值!

刚才凤姐附体,不小心把inittab删除了,还好我没重启,不用进救援模式。要在线恢复也简单!

软件包文件提取,我们刚才就通过 –qf 参数知道了rpm 包的安装包的名字,现在挂载关盘提取inittab文件,没光盘自己去下载initscripts….

 

Inittab 就这样修复了。没什么很难的啊!!!

源代码包安装 以proftpd为例 自己搞包解压

./configure –prefix=/usr/local 配置

 

make编译

 

make install 安装

 

 就这样 装好了

如果没装C编译器 就装一个

Gcc cc 其他CC都行

反正 有人说yum比rpm好。我觉得都要用。作为一个技术人员。不要追求新,很多东西要都会,都知道,结合使用才强大撒!

 









本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1038649,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
人工智能 JavaScript Serverless
从零开始开发 MCP Server
本文介绍如何使用Serverless Devs CLI工具从零开发并一键部署MCP Server到阿里云函数计算(FC)。首先通过初始化MCP Server项目,完成本地代码编写,利用Node.js实现一个简单的Hello World工具。接着对代码进行打包,并通过Serverless Devs工具将项目部署至云端。部署完成后,提供三种客户端接入方式:官方Client、其他本地Client及在FC上部署的Client。最后可通过内置大模型的inspector测试部署效果。Serverless Devs简化了开发流程,提升了MCP Server的构建效率。
1207 119
|
Linux
阿里云官方yum源
阿里云官方yum源
72420 0
|
10月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
907 0
|
搜索推荐 数据挖掘 数据管理
短链接系统精选:打造高效网络分享体验
在互联网时代,短链接系统扮演着重要角色,将长网址转化为简洁、易记的字符串。本文介绍了四款知名服务:行业标准的Bitly,提供详细统计和定制功能;简洁的TinyURL,操作简便;品牌化的Rebrandly,支持自定义域名以增强营销效果;以及DZ_tech/ShortURL,提供轻量级的私有部署方案。选择合适的短链接服务能优化用户体验,助力数据分析和营销。
|
传感器 存储 Ubuntu
一步一步学会蓝牙开发之 ESP-IDF GATT Server 示例解析
学习蓝牙的 GATT 开发,我们从示例代码,一段代码一段代码进行详细分析说明
2707 1
一步一步学会蓝牙开发之 ESP-IDF GATT Server 示例解析
|
人工智能 自然语言处理 并行计算
【AI大模型】Transformers大模型库(六):torch.cuda.OutOfMemoryError: CUDA out of memory解决
【AI大模型】Transformers大模型库(六):torch.cuda.OutOfMemoryError: CUDA out of memory解决
809 0
【AI大模型】Transformers大模型库(六):torch.cuda.OutOfMemoryError: CUDA out of memory解决
|
存储 Java 编译器
String能存储多少个字符
String能存储多少个字符
|
机器学习/深度学习 人机交互 API
【机器学习】Whisper:开源语音转文本(speech-to-text)大模型实战
【机器学习】Whisper:开源语音转文本(speech-to-text)大模型实战
3265 0
|
域名解析 网络协议 应用服务中间件
阿里云SSL证书配置(HTTPS证书配置)
该内容是一个关于如何在阿里云上准备和购买SSL证书,以及如何为网站启用HTTPS的步骤指南。首先,需要注册并实名认证阿里云账号,然后在SSL证书控制台选择证书类型、品牌和时长进行购买。申请证书时填写域名信息,并进行DNS验证,这包括在阿里云域名管理板块添加解析记录。完成验证后提交审核,等待证书审核通过并下载Nginx格式的证书文件。最后,将证书配置到网站服务器以启用HTTPS。整个过程涉及账户注册、实名认证、证书购买、DNS设置和证书下载及安装。
7054 1
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
7440 4
一文带你认识蓝牙 GATT 协议