重新编译deb包

简介:

debian/ubuntu 是高度自动化的Linux系统,编译源码包也不例外。

首选需要确保你的sources.list 包含src 源

例如:

 
 
1
deb-src http: //http .us.debian.org /debian  stable main contrib non- free


如果你刚刚在source.list里添加了上面那行,请运行下面的命令清除缓存

1
apt-get clean all


安装编译环境

1
apt-get  install  dpkg-dev devscripts build-essential


以软件包nginx为例


1、建立一个临时目录

 
 

1
2
mkdir -p /usr/src/nginx
cd /usr/src/nginx


2、下载源码,并编译软件包

 
 
1
2
apt-get  source  nginx
apt-get build-dep nginx


3、修改编译参数,并重新编译

1
2
3
4
cd nginx-*/debian
nano rules
cd ../../nginx-*/
dpkg-buildpackage -us -uc


4、生成的deb包位于当前目录


dpkg-deb: building package `nginx' in `../nginx_1.6.2-1~precise_amd64.deb'.

dpkg-deb: building package `nginx-debug' in `../nginx-debug_1.6.2-1~precise_amd64.deb'.

 dpkg-genchanges  >../nginx_1.6.2-1~precise_amd64.changes

dpkg-genchanges: including full source code in upload

 dpkg-source --after-build nginx-1.6.2

dpkg-buildpackage: full upload (original source is included)


5、保留文件,以ubuntu precise 为例

nginx_1.6.2-1~precise.debian.tar.gz

nginx_1.6.2.orig.tar.gz


6、将上述两个文件移动到另外一台机器

1
2
3
4
5
6
7
mkdir  build
cp  nginx_1.6.2-1~precise.debian. tar .gz build/
cp  nginx_1.6.2.orig. tar .gz
tar  zxvf nginx_1.6.2.orig. tar .gz
tar  zxvf nginx_1.6.2-1~precise.debian. tar .gz -C nginx-1.6.2
cd  nginx-1.6.2
dpkg-buildpackage -us -uc


这样就完成了移植性。










本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1156077,如需转载请自行联系原作者
目录
相关文章
|
算法 应用服务中间件 nginx
超越内存限制:深入探索内存池的工作原理与实现
这篇文章将深入探索内存池的工作原理与实现,介绍如何超越传统的内存限制。首先,我们将了解什么是内存池以及它与传统内存分配方式的不同之处。接着,我们将探索内存池的工作原理,包括内存池的数据结构和算法。我们还将解释内存池如何提升性能,避免内存碎片化,并减少内存分配的开销。此外,我们将介绍一些常见的内存池实现技术,例如固定大小内存池和动态大小内存池,并对比它们的优劣之处。
369 0
|
9月前
|
Ubuntu Linux Shell
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
通过这个过程,用户不仅可以定制自己的桌面外观,还可以学习到更多关于 Linux 系统管理的知识,从而更好地掌握系统配置和主题管理的技巧。
1400 12
|
9月前
|
数据采集 人工智能 JavaScript
Browser Use:40.7K Star!一句话让AI完全接管浏览器!自动规划完成任务,多标签页同时管理
Browser Use 是一款专为大语言模型设计的智能浏览器自动化工具,支持多标签页管理、视觉识别、内容提取等功能,并能记录和重复执行特定动作,适用于多种应用场景。
2557 21
Browser Use:40.7K Star!一句话让AI完全接管浏览器!自动规划完成任务,多标签页同时管理
|
机器学习/深度学习 存储 SQL
数据仓库革新:Snowflake在云数据平台中的创新实践
【10月更文挑战第27天】Snowflake作为云原生数据仓库的领导者,以其多租户、事务性、安全的特性,支持高度可扩展性和弹性,全面兼容SQL及多种数据类型。本文探讨了Snowflake在现代化数据仓库迁移、实时数据分析、数据存储与管理及机器学习集成等领域的创新实践和应用案例,展示了其在云数据平台中的强大优势和未来潜力。
633 2
|
消息中间件 监控 测试技术
惊呆了!Python性能测试高手都用这些神器:JMeter+Locust,效率翻倍📈
【9月更文挑战第8天】在软件开发中,性能测试对确保应用稳定性和高效运行至关重要。对于Python开发者而言,选择合适的性能测试工具能显著提升测试效率并精准定位性能瓶颈。本文深入探讨了JMeter和Locust这两款工具的独特优势。JMeter作为跨平台的性能测试工具,支持多种协议,具备高度可定制性和扩展性;而Locust则专为Python应用设计,利用协程实现高并发,提供实时监控和分布式测试功能。两者结合使用,可在实际项目中实现1+1>2的效果,帮助开发者构建全面高效的测试方案,保障应用稳定运行。
811 2
|
自然语言处理 计算机视觉
单一ViT模型执行多模态多任务,谷歌用协同训练策略实现多个SOTA
单一ViT模型执行多模态多任务,谷歌用协同训练策略实现多个SOTA
1020 0
|
API Android开发
Android P 性能优化:创建APP进程白名单,杀死白名单之外的进程
本文介绍了在Android P系统中通过创建应用进程白名单并杀死白名单之外的进程来优化性能的方法,包括设置权限、获取运行中的APP列表、配置白名单以及在应用启动时杀死非白名单进程的代码实现。
298 1
|
供应链 监控 区块链
确保区块链供应链的透明度和可追溯性,我们可以从以下几个方面进行
**区块链提升供应链透明度与可追溯性:** - 建立不可篡改记录,保证数据真实完整。 - 实现实时监控,加快问题响应,提高效率。 - 追溯产品全程,消费者可验证来源,增强信任。 - 促进信息共享,降低沟通成本,提升协同。 - 防止欺诈串通,确保供应链诚信与透明。 这些措施通过区块链技术的应用,优化供应链管理,降低成本,增强市场信心。
7. Java函数式编程:让代码更优雅
7. Java函数式编程:让代码更优雅
574 0
|
存储 开发工具 数据安全/隐私保护
全网最新详细学习SVN常用功能
全网最新详细学习SVN常用功能
523 0

热门文章

最新文章