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 xieyan08[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