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包过程中主要是使用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目录

rpmbuild目录主要有两个目录:

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

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

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

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

通过yum-builddep进行依赖检查,检查系统未满足的依赖性则需要进行安装,通过yum和rpm直接安装并直到满足所有的依赖关系。

从上图可知需要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
#查询是否安装成功

重新进行依赖性检查

yum-builddep dpkg.spec

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

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

## 3.重新打包成rpm包

rpmbuild -ba dpkg.spec

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

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

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

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

rpm -ivh **.rpm
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/manwander/p/16920493.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程