rpm环境安装dpkg包管理工具
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
rpm环境安装dpkg包管理工具的更多相关文章
- Mac上安装brew 包管理工具
Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...
- Linux服务器中安装python包管理工具pip
pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...
- Deepin安装 ruby 包管理工具 RVM(适用于 Debian 系列)
1. 安装 GPG keys 先安装 gpg2 工具 sudo apt install gnupg2 再安装 keys gpg2 --recv-keys 409B6B1796C275462A17031 ...
- 安装python包管理工具pip
安装步骤(必须已经安装过python) 1>curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2>python get-pip ...
- 安装Windows包管理工具Chocolatey
1.开始菜单里面用PS的管理员模式打开,执行一下命令. Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Syste ...
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- 利用chocolate包管理工具安装helm
在powershell中执行 1 安装choco包管理工具 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Sys ...
- NodeJS 中npm包管理工具
NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...
- node的包管理工具:yarn和npm
arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...
- 【前端】NodeJs包管理工具NPM
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题. 测试是否安装成功,出现版本提示表示安装成功. npm -v NPM常用命令 官方文档:https://www.npm ...
随机推荐
- 【设计模式】Java设计模式 - 装饰者模式
Java设计模式 - 装饰者模式 不断学习才是王道 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 原创作品,更多关注我CSDN: 一个有梦有戏的人 准备将博客园.CSDN一起记录分享自 ...
- ES6之前,JS的继承
继承的概念 谈到继承,就不得不谈到类和对象的概念. 类是抽象的,它是拥有共同的属性和行为的抽象实体. 对象是具体的,它除了拥有类共同的属性和行为之外,可能还会有一些独特的属性和行为. 打个比方: 人类 ...
- stm32fxx_hal_i2c.c解读之HAL_I2C_Mem_Write
HAL_I2C_Mem_Write()函数位于stm32fxx_hal_i2c.c文件的2432行,源代码对该函数的解释如下图 HAL_StatusTypeDef HAL_I2C_Mem_Write( ...
- nginx中 location正则的理解
文章转载自:https://blog.csdn.net/wzj_110/article/details/110142902 正则表达式在线测试工具:https://tool.lu/regex loca ...
- Kubernetes 版本升级之路
把一个集群从1.22版升级到1.23版. 前提条件 确保备份所有重要组件,例如存储在数据库中的应用状态.Kubernetes 升级不涉及正常的工作负载,只涉及与 Kubernetes 相关的组件,但备 ...
- 监控平台SkyWalking9入门实践
简便快速的完成对分布式系统的监控: 一.业务背景 微服务作为当前系统架构的主流选型,虽然可以应对复杂的业务场景,但是随着业务扩展,微服务架构本身的复杂度也会膨胀,对于一些核心的业务流程,其请求链路会涉 ...
- .NET 反向代理 YARP 代理 GRPC
前面的 YARP 文档中,介绍了怎么去代理 http,和如何根据域名转发,而在现在微服务的应用是越来越来多了,服务间的调用依靠 http 越来越不现实了,因为 http 多次握手的耗时越发的影响应用的 ...
- C++面向对象编程之类的写法
1.头文件中的防卫式声明 例如自己要建复数complex类,可以建立一个complex.h的头文件. 头文件中必须先写防卫式声明: #ifndef __COMPLEX__ #define __COMP ...
- Mysql编程中遇到的小错误
我在mysql中创建的数据库表语句为如下 create table grade (id int not null, name varchar(255), desc varchar(255), prim ...
- 6.MongoDB系列之特殊索引和集合类型
1. 地理空间索引及全文搜索 与Elasitcsearch一样,MongoDB同样支持地理空间索引及全文搜索,由于选型常用ES而非MongoDB此处略过 2. TTL索引 首先先了解下固定集合,其类似 ...