怎麼製作Debian deb package

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

怎麼製作Debian deb package

文章企鵝狂 » 週五 5月 21, 2004 9:52 pm

我想要把別人的.deb解開.修改修改
然後再包裝回去.

ar x 可以解開出三個檔案

但是請問要怎麼把這修改過的檔案作成.deb呢?

謝謝
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

re:怎麼製作Debian deb package

文章Tetralet » 週五 5月 21, 2004 11:41 pm

deb 檔案是 Binary 檔案。

要修改還是要得由 Source Code 著手...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:怎麼製作Debian deb package

文章企鵝狂 » 週五 5月 21, 2004 11:52 pm

我只是想把營火飛的.deb檔
那個libfontconfig-x.x.x_firefly的firefly拿掉而已
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

re:怎麼製作Debian deb package

文章訪客 » 週六 5月 22, 2004 1:40 am

企鵝狂 寫:我只是想把營火飛的.deb檔
那個libfontconfig-x.x.x_firefly的firefly拿掉而已


警告: 以下是巫師級技能,麻瓜切勿模仿以免走火入魔

修改二位元 deb 檔案,有幾招快速的技巧

如果只是希望 libfontconfig-x.x.x_firefly.deb 檔名中沒有 firefly,那麼就用 mv libfontconfig-x.x.x_firefly.deb libfontconfig-x.x.x.deb 即可。

如果希望安裝後的版本顯示中沒有 firefly 字樣,那麼可以將 deb 解開後,修改 control 檔案,竄改版本編號後,再將檔案組起來。對! deb 檔案的基礎封裝格式是 ar,不過這樣的程序太低階了,還得逐一將檔案解開與包裝,有點麻煩,請改用 dpkg-deb 來解出所謂 "control info" 與檔案內容
代碼: 選擇全部
$ dpkg-deb -e /somewhere/libfontconfig*deb
$ dpkg-deb -X /somewhere/libfontconfig*deb .
$ ls
DEBIAN usr


如此如此,DEBIAN 目錄下擺的就是 "control info",包含紀錄軟體說明、版本、相依性等敘述的 contrl,安裝前後必須執行的命令稿,可能還有每個檔案的 md5sum,如果要改版本號碼,就編輯 DEBIAN/contrl 中的 Version,竄改完畢之後,再把檔案組合起來
代碼: 選擇全部
$ dpkg-deb -b . libfontconfig-x.x.x.deb

檔名自取,重點是 control 檔案中的編號已經改了。

另外一個需求是,只想把改過的檔案重新包起來,特別是設定檔,在最佳化系統設定之後,我們通常會希望可以在不同的機器安裝設定或是分享給其他人用,以上的作法又顯得麻煩,有一個指令叫做 dpkg-repack,可以把特定軟體的已安裝檔案重新包起來,包含修改過的檔案。但是這樣是無法直接對 control info 修改的 (除非自己去改 /var/lib/dpkg/ 下的檔案敘述)。
通常這個工作會使用 root 權限,但是也可以用 fakeroot 代勞之,重點是需不需要特權來存取某些系統檔案,如:
代碼: 選擇全部
$ fakeroot -u dpkg-repack dpkg-repack


以上都是污穢骯髒的技巧,非常態用途。 :-p
-DJ
訪客
 

re:怎麼製作Debian deb package

文章訪客 » 週六 5月 22, 2004 1:44 am

DJ 寫:如此如此,DEBIAN 目錄下擺的就是 "control info",包含紀錄軟體說明、版本、相依性等敘述的 contrl,安裝前後必須執行的命令稿,可能還有每個檔案的 md5sum,如果要改版本號碼,就編輯 DEBIAN/contrl 中的 Version,竄改完畢之後,再把檔案組合起來
代碼: 選擇全部
$ dpkg-deb -b . libfontconfig-x.x.x.deb

檔名自取,重點是 control 檔案中的編號已經改了。

s/contrl/control/g

抱歉,莫名其妙的錯字。
-DJ
訪客
 

re:怎麼製作Debian deb package

文章企鵝狂 » 週六 5月 22, 2004 5:33 pm

感謝.黑巫師可以把奇怪的binary包裝給別人用.
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客