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包管理工具的更多相关文章

  1. Mac上安装brew 包管理工具

    Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说 ...

  2. Linux服务器中安装python包管理工具pip

    pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...

  3. Deepin安装 ruby 包管理工具 RVM(适用于 Debian 系列)

    1. 安装 GPG keys 先安装 gpg2 工具 sudo apt install gnupg2 再安装 keys gpg2 --recv-keys 409B6B1796C275462A17031 ...

  4. 安装python包管理工具pip

    安装步骤(必须已经安装过python) 1>curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2>python get-pip ...

  5. 安装Windows包管理工具Chocolatey

    1.开始菜单里面用PS的管理员模式打开,执行一下命令. Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Syste ...

  6. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

  7. 利用chocolate包管理工具安装helm

    在powershell中执行 1 安装choco包管理工具 Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object Sys ...

  8. NodeJS 中npm包管理工具

    NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从 ...

  9. node的包管理工具:yarn和npm

    arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...

  10. 【前端】NodeJs包管理工具NPM

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题. 测试是否安装成功,出现版本提示表示安装成功. npm -v NPM常用命令 官方文档:https://www.npm ...

随机推荐

  1. 【SQLServer】并行的保留线程和已使用线程

    我们都知道SQL Server的并行执行.为了快速处理一个请求,SQL Server会使用多个线程来处理一个请求.并行执行涉及两个重要的参数设置:·maxdop:最大并行度·并行度的成本阈值:如果任何 ...

  2. Java 多线程:线程池

    Java 多线程:线程池 作者:Grey 原文地址: 博客园:Java 多线程:线程池 CSDN:Java 多线程:线程池 工作原理 线程池内部是通过队列结合线程实现的,当我们利用线程池执行任务时: ...

  3. java8 新特性 -Optional的常见用法

    1. Optional 一. 简介 Opitonal是java8引入的一个新类,目的是为了解决空指针异常问题.本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为 ...

  4. [Python]-tqdm模块-给for循环加上进度条

    import tqdm 使用tqdm模块,可以在漫长的for循环加上一个进度条,显示当前进度百分比. 将tqdm写在迭代器之外即可:tqdm(iterator) for i in tqdm(range ...

  5. Go工程化 - 依赖注入

    我们在微服务框架kratos v2的默认项目模板中kratos-layout使用了google/wire进行依赖注入,也建议开发者在维护项目时使用该工具. wire 乍看起来比较违反直觉,导致很多同学 ...

  6. Elasticsearch:Index alias

    现在让我们来谈谈Elasticsearch最简单和最有用的功能之一:别名 (alias).为了区分这里alias和文章"Elasticsearch : alias数据类型",这里的 ...

  7. 2_Docker

    一. Docker介绍 1.1 引言 场景1: 我本地运行没问题啊 环境问题 场景2: 哪个哥们又写死循环了, 怎么这么卡 在多用户的操作系统下, 会相互影响 场景3: 淘宝在双11的时候, 用户量暴 ...

  8. Opengl ES之纹理贴图

    纹理可以理解为一个二维数组,它可以存储大量的数据,这些数据可以发送到着色器上.一般情况下我们所说的纹理是表示一副2D图,此时纹理存储的数据就是这个图的像素数据. 所谓的纹理贴图,就是使用Opengl将 ...

  9. 关于aws账单数据中几个重要的与费用相关的字段的意义分析

    今天在看aws账号的详细信息时,看到字段很多,大多数字段,根据名称可以知道代表的意义 对于如下几个字段的概念有点模糊(位于"UsageStartDate","UsageE ...

  10. 新零售SaaS架构:中央库存系统架构设计

    近年来,越来越多的零售企业大力发展全渠道业务.在销售额增长上,通过线上的小程序.直播.平台渠道等方式,拓展流量变现渠道.在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模.而全渠道的库 ...