设为首页 收藏本站
查看: 3086|回复: 0

[经验分享] 银魔术师

[复制链接]

尚未签到

发表于 2017-11-21 15:53:52 | 显示全部楼层 |阅读模式
制作deb包

方法一:checkinstall
  checkinstall的原理就是将make install的内容放到一个临时目录然后打包,只要能执行make install就能创建deb包,如果代码已经make install了,需要先执行make uninstall,不然会出现只打包库文件的软连接而没有打包库文件的情况。通过dpkg-deb -c可以查看deb包的文件是否正常。


  •   设置打包环境
      

    sudo apt-get install checkinstall
  •   制作deb包
      

    checkinstall make install
  •   检查deb包
      

    dpkg-deb -c XX.deb
方法二: dpkg-buildpackage


  •   设置打包环境
      

    $ sudo apt-get install -y dh-make dpkg-dev devscripts
  •   创建控制文件
      

    $ wget http://zlib.net/zlib-1.2.8.tar.gz  
    $ tar xzf zlib-1.2.8.tar.gz
      
    # 命令将在当前目录下生成debian目录
      
    $ dh_make --createorig --copyright gpl3 --email fwdssg@gmail.com --single

  •   编辑debian/control
      

    Source: zlib  
    Section: unknow
      
    Priority: optional
      
    Maintainer: ubuntu <fwdssg@gmail.com>
      
    Build-Depends: debhelper (>=9),autotools-dev
      
    Standards-Version: 3.9.6
      
    Homepage: http://zlib.net/
      
    #Vcs-Git: git://anonscm.debian.org/collab-maint/zlib.git
      
    #Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/zlib.git
      
    Package: zlib
      
    Architecture: any
      
    Depends: ${shlibs:Depends}, ${misc:Depends}
      
    Description: <insert up to 60 chars description>
      <insert long description, indented with spaces>

属性
说明
Section
软件的类别,常见的有utils、net、mail、text、x11等
Architecture
软件包结构,如基于i386、amd64、m68k、sparc、alpha、powerpc等

  •   编辑debian/postinst.ex
      

    # deb安装完成时需要执行的脚本  
    $ mv postinst.ex postinst
      
    $ sed -i '/    configure)/a\    echo -e \"zlib deb test\" > $HOME/zlib.log' postinst

  •   编辑debian/rules
      

    # zlib比较特殊很多参数不支持,所以需要自定义configure,用--prefix=/usr/local会报错也是坑  
    echo -e "override_dh_auto_configure:\n\t./configure --prefix=/usr" >> rules

  •   制作deb包
      

    $ cd zlib-1.2.8  
    # 自己测试完就不签名-uc -us
      
    $ dpkg-buildpackage -rfakeroot -tc -uc -us -b

  •   检查deb包
      

    dpkg-deb -c XX.deb
dpkg-buildpackage使用技巧


  • 编辑rules文件添加export DEB_BUILD_MAINT_OPTIONS = hardening=-all可以去掉编译时候自动添加的-Werror=XX参数
参考资料
  从源码构建deb包
  
为现有的二进制文件制作deb包
  
官方文档
  
为Debian和Ubuntu制作软件包
  
构建软件包
  
官方文档
  
官方文档
  
官方文档
  
官方文档
  
Linux 的源码安装工具 CheckInstall

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409236-1-1.html 上篇帖子: Ubuntu中的MySQL修改root密码的多种方法 下篇帖子: Ubuntu apt-get不到最新版软件包解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表