软件包管理rpm介绍

Posted 一起学IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件包管理rpm介绍相关的知识,希望对你有一定的参考价值。

一、软件包介绍

开源软件最初只提供了.tar.gz的打包的源码文件,用户必须自已编译每个想在GNU/Linux上运行的软

件。用户急需系统能提供一种更加便利的方法来管理这些软件,当Debian诞生时,这样一个管理工具

dpkg也就应运而生,可用来管理deb后缀的"包"文件。从而著名的“package”概念第一次出现在

GNU/Linux系统中,稍后Red Hat才开发自己的rpm包管理系统

软件包的分类:
  • 二进制文件
  • 库文件
  • 配置文件
  • 帮助文件

范例:利用 cpio工具查看包文件列表

rpm2cpio 包文件|cpio –itv 预览包内文件

rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件

二、软件包管理器

软件包管理器功能:

将编译好的应用程序的各组成文件打包一个或几个程序包文件,利用包管理器可以方便快捷地实现程序

包的安装、卸载、查询、升级和校验等管理操作

主流的程序包管理器

  • redhat:rpm文件, rpm 包管理器,rpm:Redhat Package Manager,RPM Package Manager
  • debian:deb文件, dpkg 包管理器

常见的arch:

x86: i386, i486, i586, i686

x86_64: x64, x86_64, amd64

powerpc: ppc

跟平台无关:noarch

范例:

bash-3.2-32.el5_9.1.i386.rpm

bash-4.2.46-19.el7.x86_64.rpm

bash-4.4.19-7.el8.x86_64.rpm

bash-4.4.19-7.el8.aarch64.rpm

bash-4.4.19-7.el8.ppc64le.rpm

bc_1.07.1-2_amd64.deb

bc_1.07.1-2_s390x.deb


查看rpm包个数:

ls *.rpm |rev | cut -d. -f2  | rev |sort -nr | uniq -c

二、包的依赖性

软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包

安装软件包时,会因为缺少依赖的包,而导致安装包失败。

解决依赖包管理工具:

yum:rpm包管理器的前端工具

dnf:Fedora 18+ rpm包管理器前端管理工具,CentOS 8 版代替 yum

apt:deb包管理器前端工具

zypper:suse上的rpm前端管理工具

三、程序包管理器相关文件

1. 包文件组成 (每个包独有)

  • 包内的文件
  • 元数据,如:包的名称,版本,依赖性,描述等
  • 可能会有包安装或卸载时运行的脚本

2. 数据库(公共):/var/lib/rpm

  • 程序包名称及版本
  • 依赖关系
  • 功能说明
  • 包安装后生成的各文件路径及校验码信息

四、获取程序包的途径

  1. CentOS镜像:

https://www.centos.org/download/

http://mirrors.aliyun.com

http://mirrors.sohu.com

http://mirrors.163.com

  1. Ubuntu 镜像:

http://cdimage.ubuntu.com/releases/

http://releases.ubuntu.com

  1. 第三方组织提供

Fedora-EPEL:Extra Packages for Enterprise Linux

https://fedoraproject.org/wiki/EPEL

https://mirrors.aliyun.com/epel/?spm=a2c6h.13651104.0.0.3bc47dfaZpesAr

Rpmforge:官网:http://repoforge.org/​, RHEL推荐,包很全,即将关闭

Community Enterprise Linux Repositoryhttp://www.elrepo.org​,支持最新的内核和硬件相关

  1. 软件项目官方站点

http://yum.mariadb.org/10.4/centos8-amd64/rpms/

http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/ ​

  1. 搜索引擎

http://pkgs.org

http://rpmfifind.net

http://rpm.pbone.net

https://sourceforge.net/

注意:第三方包建议要检查其合法性,来源合法性,程序包的完整性

将源码文件,利用工具,如:rpmbuild,fpm等工具制作成rpm包文件


ls *.rpm |rev | cut -d. -f2  | rev |sort -nr | uniq -c

以上是关于软件包管理rpm介绍的主要内容,如果未能解决你的问题,请参考以下文章

Linux系列教程——Linux软件包管理之yum在线管理

Linux系列教程——Linux软件包管理之yum在线管理

Linux学习38 Linux软件包管理-rpm命令介绍及实战应用

rpm命令介绍

Linux软件管理 - RPM工具

软件包管理器之一——RPM介绍及应用