rpm包软件管理

一、rpm介绍

linux服务器中所有的软件包安装方式有两种,一种是源码安装、另一种是二进制包安装(rpm)源码包安装的好处是适合不同的发行版本的linux,缺点是在编译过程中花费的时间很长,二进制包安装的特点是安装速度快,但缺点是32位的服务器不能安装64位服务器的安装包等。

二、rpm包包命名及依赖

1、命名规则

openssh-clients-6.6.1p1-.el7.x86_64.rpm

openssh-clients       包名

6.6.1p1                      版本号

31                              发行次数

el7                             适合的linux平台

x86_64                      适合的硬件平台

rpm                           rpm包扩展名       

如下图所示几乎都遵循了这个命名规则

2、rpm包依赖

树形依赖:a-b-c      安装时先安装c-b-a  卸载时先卸载a-b-c

环形依赖:a-b-c-a

模块依赖: 模块依赖查询网址http://rpmfind.net

 三   rpm包命令

查询rpm包

rpm   -q  httpd

rpm   -qa   查询所有安装的rpm包 (-q 是查询   -a是查询所有)

查询包信息

rpm  -qi   httpd

查询rpm包的安装位置

rpm   -ql   httpd

查询系统文件属于哪个rpm包(注意文件名必须是通过rpm包生成的,自己新建的无效)

rpm  -qf   文件名

查询rpm包所有的依赖关系

rpm  -qR   httpd

查询没有安装的rpm包的依赖关系

rpm  -qRp   包全名

四、rpm包校验

该功能可以查询rpm包是否被别人进行过修改,如果查询没有任何信息输出证明是是官方最原始的安装信息

rpm  -V  包名

rpm  -V  httpd

rpm包的验证内容中的信息内容如下:

S   文件大小是否改变

M  文件的类型或权限是否改变

5  文件的MD5效验和是否改变(可以看成文件内容是否改变)

D  设备中的代码是否改变

L   文件路径是否改变

U  文件属主是否改变

G  文件属组是否改变

T  文件的修改时间是否改变

文件类型

c   配置文件

d  普通文件

g  鬼文件(该文件不应该在rpm包中出现)

l   授权文件

r  描述文件

五、rpm包中文件提取

该功能是在文件误删除或误修改后,不需要对软件重新安装只需要从rpm包中重新提取覆盖即可

例如我把/bin/ls 下的文件删除了,导致我们的ls不可用这种情况我们不需重新安装只需要知道ls是属于哪个rpm包并还原即可

演示如下:

1、先找到ls 是属于哪个rpm包

rpm   -qf  /bin/ls

2、/bin/ls的文件移动到/tmp   (模拟ls文件被删除或损坏)

mv  /bin/ls  /tmp/

3、提取

rpm2cpio    /mnt/coreutils-8.4-46.el6.i686  | cpip  -idv   ./bin/ls

4、把ls命令复制到/bin目录下修复损坏的文件

cp   /root/bin/ls   /bin/

原文地址:https://www.cnblogs.com/heruiguo/p/8250726.html

时间: 2024-10-21 05:01:31

rpm包软件管理的相关文章

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

[20150522]RPM包的管理-朱晓扬

RPM包的管理 RPM包的分类 RPM包可分为源码包和二进制包两类.源码包的主要优点是开源,如果有足够的能力,可以修改源代码,源码包可以自由选择所需要安装的功能,软件是编译安装,所以更加适合自己的系统,更加稳定,效率也更高.但是缺点就是安装过程步骤比较多,编译过程时间比较长.二进制包也就是Red Hat中的RPM包的有点是包管理系统简单,只需要几个命令就可以实现包的安装.升级.查询.卸载,安装速度也比源码包快很多,缺点是经过编译,看不到源代码,功能选择不如源代码. 依赖性 树形依赖:A→B→C

Linux中rpm包的管理

1.相关概念  1.程序包管理器功能:1.应用程序打包:有特定格式 : 2. 对兼容的程序包进行管理:            [注意:制作成的二进制格式程序与平台有相关性,所以,通常需要制作各种流行平台所兼容的版本] 2.C程序包编译到机器识别的过程:   源代码(文本)--> 预处理 --> 编译 --> 汇编 --> 链接 编译时,根据是否将被调用的库文件直接打包进生成的二进制程序文件,编译方式可分为两类:                    动态链接:不将被调用的库文件打包

fpm工具来制作rpm包软件

第1章 rpm包的制作 1.1 fpm的概念介绍 FPM功能简单说就是将一种类型的包转换成另一种类型 1.1.1.支持的源类型 类型 说明 dir?? 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm?? 对rpm进行转换 gem?? 对rubygem包进行转换 python 将python模块打包成相应的类型 1.1.2 支持的目标类型包 类型 说明 rpm??? 转换为rpm包 deb??? 转换为deb包 solaris 转换为solaris包 puppet 转换为puppe

rpm包的管理

Rpm包的命名格式 name-version-relase.arch.rpm version:major.minor.release 解释如下: major:主版本号 minor:次版本号  release:rpm自身的发行号,与程序源码的发行号无关, 仅用于标识对rpm包不同制作的修订,同时,release还包含此包适用的OS arch则代表的是适用的平台 rpm包的安装: rpm 选项 安装包路径 常用选项: rpm -i example.rpm 安装 example.rpm 包: rpm

rpm包管理_yum在线管理

yum在线管理 rpm包的管理分为 rpm命令管理和yum在线管理,rpm命令管理由于可能需要解决各种依赖问题,在安装软件的时候可能显得比较麻烦,然而,yum在线管理正好和它相反.Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装.SO,SO,SO它用

rpm软件包管理/yum软件管理

绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make  对源代码进行编译,生成可执行文件 make install    将生成的可执行文件安装到当前计算机中 特点: 兼容性好/可控制性好/开源软件会大量使用其他开源软件的功能,要解决大量的依赖关系 为了解决编译时间长复杂容易出错等问题,开发了rpm(redhat package manager) 命名

tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum

tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 tar xvf 解压文件 tar zcvf /testdir/etc2.tar.gz /etc/ 解压再压缩到指定路径,文件格式 tar jcvf cpio 复制 从或到文件 cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以".cpio"或者".ta

制作源码软件的RPM包

使用nginx-1.12.2版本的源码软件,生产对应的RPM包软件 具体步骤: 1.安装rpm-build软件 # yum -y install rpm-build 2.生成rpmbuild目录结构 # rpmbuild -ba nginx.spec # ls /root/rpmbuild BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS [会报错,没有文件或目录,目的:自动生成的目录结构] 3.将源码软件复制到SOURCES目录 # cp nginx-