以下教程將會為Ubuntu、Linux Mint和Debian GUN/Linux使用者講述,如何在它們基於Debian的Linux作業系統上輕鬆的解壓和重新打包.deb檔案。
有時候你在生活中會碰到這樣的問題,你想要修改.deb檔案的部分內容,然後重新打包。不過只有你真正深入瞭解電腦才能完成這樣的駭客技巧。
下面的例子是剛發生在我身上的真實經曆。一位Linux開發人員為一個軟體構建了一個Debian包(.deb),我也成功地將它安裝在我的裝載Ubuntu的電腦上。
當我試圖從一個Git庫中檢索一些檔案時,它總是卡頓,很顯然,該軟體並沒有正常工作。我知道安裝的檔案在哪裡(/opt目錄),所以,我搜查了代碼並適當地將部分問題修複。之後,當程式試圖檢索需要的包時不再卡頓。
所以,長話短說,我要將.deb檔案解包,替換上我的補丁檔案,然後再重新打包回來。這樣我可以其它電腦上安裝,或者將修正的包檔案發給我的朋友。我要怎麼做呢?
在網路上搜尋問題的答案,我發現一個名叫ailoo.net的小型部落格,它給出類似這樣解釋:
mkdir -p extract/DEBIANdpkg-deb -x package.deb extract/dpkg-deb -e package.deb extract/DEBIAN [...do something, e.g. edit the control file...]mkdir builddpkg-deb -b extract/ build/
這五條命令將奇蹟般地完成工作。讓我為你解釋一下:
- 第一條命令建立了一個名為“extract”檔案夾和一個名為“DEBIAN”的子檔案夾;
- 第二條命令會從你的.deb包提取一些檔案到“extract”檔案夾;
- 第三條命令會解壓.deb包的內容到“DEBIAN”子檔案夾,在那裡你就可以修改/補丁你想要的檔案;
- 第四條命令建立一個名為“build”的檔案夾;
- 而第五條命令會將修改後的檔案重新構建到一個新的.deb包中,並在 “build” 檔案夾中產生。
這就是本次教程!牢牢地記住上面的命令吧,在你執行第三條命令後,可以通過你的預設檔案管理工具,用一個圖形化的文字編輯器可視化地修改檔案。如果你在學習本教程時遇到問題,不要猶豫,在下面給我們寫下評論。
Ubuntu下將現有的檔案打包成deb包