rpm环境安装dpkg包管理工具

  • rpm环境安装dpkg包管理工具已关闭评论
  • 11 次浏览
  • A+
所属分类:linux技术
摘要

rpm环境安装dpkg包管理工具索引:dpkg-scanpackages、dpkg、dpkg-query、dpkg-source、dpkg-scansource

rpm环境安装dpkg包管理工具


索引:dpkg-scanpackages、dpkg、dpkg-query、dpkg-source、dpkg-scansource


在centos、redhat、麒麟服务器版本中想对deb包进行管理,那么就需要安装dpkg包管理工具
主要是解决一些内网环境的特定包的需求
本次采用是src.rpm包重新制作rpm包


使用 rpmbuild命令编译 SRPM 包经历了以下 3 个过程:
先把 SRPM 包解开,得到源码包;
对源码包进行编译,生成二进制文件;
把二进制文件重新打包生成 RPM 包。


本次实验环境是arm架构+kylin服务版本操作系统,环境如下:

rpm环境安装dpkg包管理工具

本次制作rpm包过程中主要是使用yum-builddep、rpmbuild等工具,一般默认安装,未安装则需要提前下载

一、下载dpkg包

deb包dpkg管理工具主要是由dpkg和dpkg-perl两个包,因此此次只要重建这两个包
由于arm架构,因此需要下载noarch或者aarch64架构的src包
顺便给大家安利软件包下载平,上面包含了很多linux不同发行版本和不同架构的包,大家自行索取。

https://pkgs.org/ 

正式开始下载:

wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/SRPMS/Packages/d/dpkg-1.20.9-4.el8.src.rpm 

二、安装dpkg包

## 1.安装解压src.rpm包

rpm -i dpkg-1.20.9-4.el8.src.rpm 

安装完成会在/root/目录生成rpmbuild目录

rpm环境安装dpkg包管理工具

rpmbuild目录主要有两个目录:
rpm环境安装dpkg包管理工具

SOURCES #从 SRPM 包中解压出来的源码包(*.tar.gz)保存位置。 SPECS #参数配置表,检查依赖包的时缺少的包可以通过里面修改。  

进入SPECS内,有一个包名+spec文件
spec文件是配置规范文件,是RPM软件包编译过程的核心,它说明了软件包如何被配置、打那些补丁、安装哪些文件、安装到哪里、安装过程需要哪些系统级别活动。

## 2.检查包的依赖环境

cd ./rpmbuild/SPECS yum-builddep dpkg.spec 

通过yum-builddep进行依赖检查,检查系统未满足的依赖性则需要进行安装,通过yum和rpm直接安装并直到满足所有的依赖关系。
rpm环境安装dpkg包管理工具
从上图可知需要po4a软件版本未符合,则需要安装高版本的po4a,并且版本大于0.59,本次直接下载0.63版本

wget https://repo.almalinux.org/almalinux/8/PowerTools/aarch64/os/Packages/po4a-0.63-1.el8.noarch.rpm rpm -ivh po4a-0.63-1.el8.noarch.rpm  --force --nodeps #由于还需要的其他版本,因此可以采用加"--force --nodeps"进行强制安装 rpm -qa |grep po4a #查询是否安装成功 

rpm环境安装dpkg包管理工具

重新进行依赖性检查

yum-builddep dpkg.spec 

可以看到本次系统自动进行依赖包检查和安装,则根据默认进行安装,本次安装了之前检查不符合的软件包
rpm环境安装dpkg包管理工具

rpm环境安装dpkg包管理工具

安装完成后,可以再次进行依赖性检查

## 3.重新打包成rpm包

rpmbuild -ba dpkg.spec 

安装完成后查看重新编译好的rpm包

cd /root/rpmbuild/RPMS #本次src.rpm重新打包后生成了aarch64、noarch两个目录,根据不同的包则有不同。 cd aarch64/ && ls -la ##里面有4个aarch64架构的的包,而且包名也是根据系统进行重新命令 

rpm环境安装dpkg包管理工具

cd aarch64/ && ls -la ##里面有2个noarch架构的包 

rpm环境安装dpkg包管理工具

**## 4.安装重新打包后的包

rpm -ivh **.rpm