歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 制作Ubuntu deb包的三種方法

制作Ubuntu deb包的三種方法

日期:2017/3/3 13:00:56   编辑:Linux技術
original url:http://www.cnblogs.com/sunyubo/archive/2010/08/27/2282129.html 一、使用deb包
1. 查看deb包含有哪些文件(不安裝)
$ dpkg -c xxx.deb // 安裝前根據deb文件查看
$ dpkg -L debname // 安裝後根據包名查看
2. 安裝deb包
$ dpkg -i xxx.deb
注意,如果提示錯誤,可以加參數—force-all強制安裝,但不推薦這樣做
3. 查看某個文件屬於哪個deb包
$ dpkg -S filepath
4. 移除deb包
$ dpkg -r debname
二、制作deb包
1. 原理
1) deb包通常包含兩部分:控制信息(DEBIAN目錄)、安裝內容(模擬root目錄)
2) 通過解開已有的deb包看其中內容
i. 釋放安裝內容到dirname目錄中
$ dpkg -X xxx.deb dirname
ii.釋放控制信息到當前目錄下的DEBIAN子目錄中
$ dpkg -e xxx.deb
2. 准備
1) 實驗平台
ubuntu 8.04
2) 安裝相關工具
$ apt-get install dh-make checkinstall
3) 下載示例軟件包
以游戲模擬器為例(也可使用其它源碼包),制作它的deb包,下載地址:http://prdownloads.sourceforge.net/fceultra/fceu-0.98.12.src.tar.bz2 4) 注意:對於自己寫的代碼制做deb包,建議用autoconf, automake生成編譯腳本,例程見http://xy0811.spaces.live.com/default.aspx?_c01_BlogPart=blogentry&_c=BlogPart&handle=cns!F8AECD2A067A6B17!1002 3. 方法一: 使用checkinstall方法創建deb包
checkinstall不僅可以生成deb包,還可以生成rpm包,使用簡單,但是不靈活,功能粗糙,只做介紹,不推薦使用
$ tar xvjf fceu-0.98.12.src.tar.bz2 // 解包
$ cd fceu;./configure;make // 編譯
$ checkinstall -D -y -install=no –pkgversion-0.98 –pkgname=fceuxy –pkgcource=./ –showinstall=no -default make install // 制作deb包
此時當前目錄下生成了deb包
4. 方法二: 使用dpkg方法創建deb包
dpkg是最基本的制作deb包的方法,推薦使用
$ tar xvjf fceu-0.98.12.src.tar.bz2 // 解包
$ mv fceu fceu-0.98 // 改目錄名為 包名-版本號
$ cd fceu-0.98
$ dh_make -s -e [email protected] -f ../fceu-0.98.12.src.tar.bz2 // 生成制作deb包所需的默認信息
此時當前目錄下生成了debian目錄,此時通常修改兩個文件:
修改debian/control文件,配置你的信息,具體字段見參考部分
修改debian/rules腳本,它決定編譯參數(也可以不改)
$ dpkg-buildpackage -rfakeroot
此時可以看到,上層目錄中已建立了deb包
5. 方法三: 修改已有deb包
自己創建deb所需目錄結構(控制信息和安裝內容),然後打包,一般使用這種方法來修改已有的deb包,而不是新建deb包,命令如下:
$ dpkg -X xxx.deb test // 解包安裝內容
$ cd test
$ dpkg -e ../xxx.deb // 解包控制信息
修改其中內容
$ cd ../
$ dpkg -b dirname xxx_new.deb // 重新打包
三、參考
1. debian/control文件中信息說明
1) Package 包名
2) Version 版本
3) Architecture 目標機架構(i386, arm等)
4) Maintainer 維護者
5) Depends 依賴軟件包
6) Description 描述
2. checkinstall詳細例程
linux/l-cn-checkinstall/index.html">http://www.ibm.com/developerworks/cn/linux/l-cn-checkinstall/index.html
3. 自己制作deb包例程http://blog.chinaunix.net/u2/78998/showart.php?id=1404403 4. 官方的debian制作手冊(比較長)http://www.debian.org/doc/manuals/maint-guide/index.zh-cn.html
Copyright © Linux教程網 All Rights Reserved