制作deb包的三种方法
作者:hcl春丽 | 来源:互联网 | 2017-11-16 08:22
制作deb包的三种方法--Linux发行版技术-Debian信息,下面是详情阅读。
我所知道的制作deb包有三种方法,一种是将现有的文件打包,安装该包就像将打包的文件释放到某个目录;第二种是用deb源码打包; 第三种是用makefile源码打包,安装这种包就相当于用源码编译安装软件。
1. 第一种方法-----将现有的文件打包:
比如你要打包你当前debian系统的/usr/src/soft目录,然后在另一个debian系统上安装
改包时这些文件也释放到/usr/src/soft目录下:
在随便一个目录,比如是root下创建一个工作目录,比如是work
#cd /root
#mkdir work
#cd work
因为安装包的时候默认是将文件释放到根目录下,所以我们设定好它的路径:
#mkdir -p usr/src
#cp -a /usr/src/soft usr/src
#mkdir DEBIAN
用如下的方法在DEBIAN目录下创建一个control文件,并用加入内容:
#cat >DEBIAN/control/etc/apt/sources.list 文件中加入 deb-src 条目.
然后, 运行命令
# apt-get update 或# aptitude update就可以用下面的命令下载源码包:
# apt-get source packagename 或 # aptitude source packagename
通常会下载三个文件:.orig.tar.gz,.dsc 和 .diff.gz。对于 Debian 专用的软件包,最后一个文件不会下载,第一个文件的文件名中没有“orig”项。
dpkg-source 读取 .dsc 文件信息,将源码包解包到 packagename-version 目录,下载下来的源码包中有一个 debian/ 目录,里面是创建 .deb 包所需的文件。
例如:
$ apt-get source nano
Reading package lists... DoneBuilding dependency tree...
DoneNeed to get 1199kB of source archives.
Get:1
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (dsc) [706B]
Get:2
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (tar) [1173kB]
Get:3
http://ftp.us.debian.org
testing/main nano 1.3.11-2 (diff) [25.4kB]
Fetched 1199kB in 3m46s (5287B/s) ... ...
dpkg-source: extracting nano in nano-1.3.11
dpkg-source: unpacking nano_1.3.11.orig.tar.gz
dpkg-source: applying ./nano_1.3.11-2.diff.gz
做相应调整后, 在源代码的根目录 nano-1.3.11 下运行:
# dpkg-buildpackage -rfakeroot -uc -b将代码编译成为软件包。
想要下载的源码包自动编译成软件包,只需在命令行中加上 -b,例如:
# apt-get -b source packagename请在下载包所在的目录中运行上面的命令。
# dpkg -i file.debapt-get的source命令与它的其它命令有所不同,普通用户权限就可以运行source命令,指定文件被下载到用户调用 apt-source package 命令时所处的目录中。
3.第三种方法,用makefile的源码打包
在源码所在的目录下用make命令来编译,然后用checkinstall命令来打包.
若没有checkinstall命令则可以先安装apt-get install checkinstall.
推荐阅读
-
在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ...
[详细]
蜡笔小新 2024-12-26 13:51:06
-
本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ...
[详细]
蜡笔小新 2024-12-26 13:32:29
-
-
本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ...
[详细]
蜡笔小新 2024-12-26 13:12:48
-
SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ...
[详细]
蜡笔小新 2024-12-25 19:26:39
-
本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ...
[详细]
蜡笔小新 2024-12-25 19:15:51
-
在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ...
[详细]
蜡笔小新 2024-12-25 18:48:34
-
本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ...
[详细]
蜡笔小新 2024-12-25 18:27:21
-
本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ...
[详细]
蜡笔小新 2024-12-25 17:47:23
-
在网页开发中,页面加载速度是一个关键的用户体验因素。为了提升加载效率,避免在PageLoad事件中进行大量数据绑定操作,可以采用异步加载和特定控件来优化页面加载过程。 ...
[详细]
蜡笔小新 2024-12-25 16:57:49
-
本文介绍了一种根据用户选择动态切换屏幕界面的方法,通过定义不同的选择块(Selection Block),实现灵活的用户交互体验。 ...
[详细]
蜡笔小新 2024-12-24 11:42:03
-
本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ...
[详细]
蜡笔小新 2024-12-23 18:42:12
-
本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ...
[详细]
蜡笔小新 2024-12-23 18:09:59
-
在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ...
[详细]
蜡笔小新 2024-12-23 17:01:04
-
本文介绍如何在华为CE交换机上配置M-LAG(多链路聚合组),以实现CE1和CE2设备作为VLAN 10网关的高可用性。通过详细的配置步骤,确保网络冗余和稳定性。 ...
[详细]
蜡笔小新 2024-12-23 15:47:12
-
本文详细探讨了SVN图标无法正常显示的问题,并提供了多种有效的解决方案,涵盖不同环境下的具体操作步骤。通过本文,您将了解如何排查和修复这些常见的SVN图标显示故障。 ...
[详细]
蜡笔小新 2024-12-23 15:33:27
-