制作Ubuntu deb包使用方法
deb包已被廣泛應(yīng)用但是也在不斷的更新,這里介紹Ubuntu deb包安裝設(shè)置使用,幫助大家安裝更新Ubuntu deb包系統(tǒng)。制作Ubuntu deb包的三種方法 | Sean's Blog [轉(zhuǎn)]制作Ubuntu deb包的三種方法Posted by Sean Liu on 10 October, 2009 No comments yet This item was filled under [ Ubuntu ]
一、使用Ubuntu deb包
1. 查看Ubuntu deb包含有哪些文件(不安裝)
$ dpkg -c xxx.deb // 安裝前根據(jù)Ubuntu deb文件查看
$ dpkg -L debname // 安裝后根據(jù)包名查看
2. 安裝Ubuntu deb包
$ dpkg -i xxx.deb
注意,如果提示錯誤,可以加參數(shù)—force-all強(qiáng)制安裝,但不推薦這樣做
3. 查看某個文件屬于哪個Ubuntu deb包
$ dpkg -S filepath
4. 移除Ubuntu deb包
$ dpkg -r debname
二、制作Ubuntu deb包
1. 原理
1) Ubuntu deb包通常包含兩部分:控制信息(DEBIAN目錄)、安裝內(nèi)容(模擬root目錄)
2) 通過解開已有的Ubuntu deb包看其中內(nèi)容
i. 釋放安裝內(nèi)容到dirname目錄中
$ dpkg -X xxx.deb dirname
ii.釋放控制信息到當(dāng)前目錄下的DEBIAN子目錄中
$ dpkg -e xxx.deb
2. 準(zhǔn)備
1) 實驗平臺
ubuntu 8.04
2) 安裝相關(guān)工具
$ apt-get install dh-make checkinstall
3) 下載示例軟件包
以游戲模擬器為例(也可使用其它源碼包),制作它的Ubuntu deb包,下載地址:
http://prdownloads.sourceforge.net/fceultra/fceu-0.98.12.src.tar.bz2
4) 注意:對于自己寫的代碼制做Ubuntu deb包,建議用autoconf, automake生成編譯腳本,例程見
http://xy0811.spaces.live.com/default.aspx?_c01_BlogPart=blogentry&_c=BlogPart&handle=cns!F8AECD2A067A6B17!1002
3. 方法一: 使用checkinstall方法創(chuàng)建Ubuntu deb包
checkinstall不僅可以生成Ubuntu 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 // 制作Ubuntu deb包
此時當(dāng)前目錄下生成了Ubuntu deb包
4. 方法二: 使用dpkg方法創(chuàng)建deb包
dpkg是最基本的制作Ubuntu deb包的方法,推薦使用
$ tar xvjf fceu-0.98.12.src.tar.bz2 // 解包
$ mv fceu fceu-0.98 // 改目錄名為 包名-版本號
$ cd fceu-0.98
$ dh_make -s -e xieyan0811@sina.com.cn -f ../fceu-0.98.12.src.tar.bz2 // 生成制作deb包所需的默認(rèn)信息
此時當(dāng)前目錄下生成了debian目錄,此時通常修改兩個文件:
修改debian/control文件,配置你的信息,具體字段見參考部分
修改debian/rules腳本,它決定編譯參數(shù)(也可以不改)
$ dpkg-buildpackage -rfakeroot
此時可以看到,上層目錄中已建立了deb包
5. 方法三: 修改已有deb包
自己創(chuàng)建deb所需目錄結(jié)構(gòu)(控制信息和安裝內(nèi)容),然后打包,一般使用這種方法來修改已有的Ubuntu deb包,而不是新建deb包,命令如下:
$ dpkg -X xxx.deb test // 解包安裝內(nèi)容
$ cd test
$ dpkg -e ../xxx.deb // 解包控制信息
修改其中內(nèi)容
$ cd ../
$ dpkg -b dirname xxx_new.deb // 重新打包
三、參考
1. debian/control文件中信息說明
1) Package 包名
2) Version 版本
3) Architecture 目標(biāo)機(jī)架構(gòu)(i386, arm等)
4) Maintainer 維護(hù)者
5) Depends 依賴軟件包
6) Description 描述
2. checkinstall詳細(xì)例程
http://www.ibm.com/developerworks/cn/linux/l-cn-checkinstall/index.html
3. 自己制作Ubuntu 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
【編輯推薦】