注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

Linux中RPM包的管理

系统管理 彭东稳 6625次浏览 已收录 0个评论

软件包管理器介绍

在没有软件包管理器前,用户都是通过源代码的方式来安装软件。但是我们很容易发现,在每次安装软件时都必须对操作系统的境、编译的参数进行对应的编译,并且操作过程很是复杂,这对于不熟悉操作系统的朋友来说真心困难,那么有没有一款软件能让用户能很简单的安装所需的软件呢?

Linux下,除了使用源码包安装外,还有一种已经编译好的开源软件大多是采用“包”的形式发布的。包捆绑了一个软件所需要的二进制文件;数据、配置文件和技术文档。包还规范了将软件安装到系统上所需要的步骤,通常就是执行命令,但是由于不同的Linux发行版会有自己独特的特性,这就使得包适用于特定系统。因此,不同的Linux发行版会提供自己的包管理器,一个用于在系统中添加和删除包的特殊程序。

常见Linux软件安装方式有2种

第一种:RPM

RPM就是redhat中的一种包管理器,它由redhat在1997年开发出来。由于非常的简单实用,很多的distributions都使用这个机制来安装和管理软件。例如:RHEL、SuSe等。但RPM以前叫RedHat package manager;后更名为rpm is package manage),RPM包相对来说使用方便安装简,单但是它的缺陷就是RPM包内有些特性都不是我们需要的而我们需要的特性说不定它又没有;RPM包的版本一般都是落后于源码包。

第二种: DPKG

这个软件安装方法是通过Debian Linux社区开发出来的,通过dpkg机制,Debian所提供的软件就能通过很简单的方法安装软件,并且能记录安装后的软件信息。只有是Debian的Linux distributions大多数都是使用这个方法管理软件。例如B2D、Ubuntu。

软件包管理器的工作原理

RPM(RedHat Package Manager),RPM通过以一个种数据库记录的方式来将你所需的软件安装到你的Linux系统上的。在你所安装的软件前先通过编译完成,打包成RPM格式的文件,数据库记录的方式搜索对应需要具备的依赖关系的软件,那么当你在安装该软件的时候,RPM会查看你系统环境和依赖性关系来判定你是否能安装此软件。若能满足,则允许安装。否则将不给予安装。并且在安装的时候将该软件的信息写入RPM的数据库中,以便日后查询、检验和升级。

软件包管理器的核心功能

功能:将编译好的程序打包成一个文件或有限的几个文件,可以用于实现安装、卸载、升级、查询等功能。

包含:

1)打包这些二进制文件,库文件,配置文件,帮助文件成一个文件

2)安装此文件时在展开打包好的文件到各自指定的路径下去、

3)生成数据库追踪所安装的每一个文件/var/lib/rpm

4)支持安装,卸载,查看,升级,查询,校验,数据库重建等功能

5)软件包管理器也是一个软件可自我管理

一个程序的组成

安装一个软件大概也就是生成以下内容:

  • 二进制文件:存放在/bin/sbin/usr/bin/usr/sbin/usr/local/
  • 库:此库是软件自己的库文件提供其它软件调用或是二次开发存放在/lib/usr/lib
  • 配置文件:调整软件参数的存放在/etc/usr/local
  • 帮助文件:一些man文档和share文件存放在/usr/share/man

PS:/etc/dev/bin/sbin/lib/proc/sys:这些目录不能独立分区必须在/分区中。系统启动就需要用到的程序/usr/bin/usr/sbin/usr/lib:这一套程序运行操作系统核心功能要用到的

RPM包的组成和命名格式

RPM包的管理命令

1.安装卸载RPM包,语法如下

2)查看RPM包信息

3)查看尚未安装的RPM包信息

4) 验证RedHat的RPM软件包可靠性和完整性

RPM数据库重建

一般当RPM包或者YUM使用出现错误时就需要对rpm数据进行重建了,下面提供rpm数据库重建的命令。另外提供一个使用案例,yum报错rpmdb open failed处理方法


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)or分享 (0)
关于作者:

您必须 登录 才能发表评论!