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

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

例如:

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

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

apt-get clean all

安装编译环境

apt-get install dpkg-dev devscripts build-essential

以软件包nginx为例

1、建立一个临时目录

mkdir -p /usr/src/nginx

cd /usr/src/nginx

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

apt-get source nginx

apt-get build-dep nginx

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

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、将上述两个文件移动到另外一台机器

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

这样就完成了移植性。

linux ded编译,重新编译deb包相关推荐

  1. alien指令 linux,使用alien命令让deb包和rpm包互相转换

    OS version: CentOS7 / Debian9 发现alien这个命令时很惊喜,之前在debian上安装etcd找不到安装包感觉很不科学,有了alien命令事情一下就变简单了. 这里以et ...

  2. chrome linux 64 deb,在Arch Linux下安装Chrome的DEB包

    首先要下载deb包:http://www.google.com/chrome/intl/en/eula_dev.html?dl=unstable_i386_deb 然后依次执行下列步骤: 1. 把de ...

  3. Linux -- 如何下载可用的 deb 包

    下载 deb 包之前首先需要知道当前机器的架构 cat /proc/version Linux version 4.4.58-20180615.kylin.server.YUN+-generic (Y ...

  4. 一分钟学会将OpenStack Havana代码编译成DEB包

    Why 我想有以下有几个原因促使我写这篇Blog: 1.很多人开始OpenStack之旅是从Ubuntu开始,但是却没有一篇文章系统的介绍如何将修改后的代码重新编译回DEB包. 2.如果我们采用源代码 ...

  5. Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  6. Linux操作系统下如何编译安装源码包软件

    一.什么是源码包软件? 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  7. linux编译blas,科学网—Linux下安装blas和lapack包小记 - 徐博伦的博文

    系统是centOS6.5,机器上已有gfortran编译器 从网上搜索下载blas.cblas.lapack的tar压缩文件包 1.编译blas 先解压文件 tar xvf blas.tgz cd b ...

  8. linux系统软件包分类,Linux软件包管理和编译安装

    软件包介绍 开源软件最初只提供了.tar.gz的打包的源码文件,用户必须自已编译每个想在GNU/Linux上运行的软件.用户急需系统能提供一种更加便利的方法来管理这些软件,当Debian诞生时,这样一 ...

  9. linux 制作deb包的三种方法

    一.使用deb包 1. 查看deb包含有哪些文件(不安装) $ dpkg -c xxx.deb // 安装前根据deb文件查看 $ dpkg -L debname // 安装后根据包名查看 2. 安装 ...

最新文章

  1. 定义一个有参宏判断一个字符是否在0~9之间
  2. 知道为啥失败么?87%的机器学习项目都是这么栽了的……
  3. apache2.0性能优化
  4. 软件测试自学舞蹈简单,中舞网APP评测:舞蹈初学者必备的APP
  5. python空格怎么加密_使用Python的RSA加密
  6. linux快照软件哪个好,Linux下的快照snapshot的实现
  7. Coursera 机器学习笔记(五)
  8. 《大企业云桌面运维实战》v1.13
  9. swfupload 实例 php,SWFUpload在PHP中使用实例教程
  10. table元素无法固定列宽,width设置无效
  11. react根据中文获取拼音_react-native按照汉字首字母排序
  12. PHP推荐简单采集微博文章信息自用
  13. 透过微信浏览器看开源问题
  14. Power BI中的ArcGIS地图
  15. nodejs实现微信小程序支付功能及相关问题总结
  16. 支付宝蚂蚁森林php自动,auto.js蚂蚁森林智能脚本使用方法分享 支付宝蚂蚁森林自动辅助...
  17. Sqlite3中对于毫秒数和本地时间之间的转换以及时间相关操作
  18. DHU Deep Learning Practice_章节测验【1】
  19. tuxedo服务配置
  20. 怎样清理浏览器缓存[各种浏览器]

热门文章

  1. 软件构架则是软件之上的 飞鸽传书 软件
  2. 飞鸽传书认证是互联网界具有极大声望
  3. iPhone软件开发新突破,真正VoIP通话
  4. 用友发布新一代价值分析型eHR软件
  5. 你最隐秘的性格在哪?
  6. 年度总结 是不公平和智障的产物
  7. 年薪50W不是梦,100天掌握BAT前端中高级工程师必备技能
  8. 计算机学院班徽在线设计,计算机学院班徽班旗设计大赛通讯稿
  9. 国际千人基因组计划数据库怎么用起来?
  10. 使用ComplexHeatmap绘制3D热图