簡介html
說白了,deb包就是debian Linux下的一個軟件包格式,從文件的角度來看,deb包就是deb格式的歸檔文件而已。shell
其實我已經接觸debian系列的Linux很久了,可是說來也慚愧,我都沒有本身嘗試去手動打一個包。機緣巧合的是,個人組長R女士讓我作一個系統的幫助手冊軟件包,我當時就開開心心的攬下了這個活,我是一個作事喜歡理由或者藉口的人,若是上面二者都沒有,那麼我作事會很是消極。得虧此次不單單能做爲任務來交差,還能知足一下本身對deb打包的好奇心。瀏覽器
思路(想看打包方法的,直接跳過該部分)架構
首先,這個包是一個軟件,那我仍是最好遵循軟件工程的原則來作這個軟件包。
app
需求:1)從【開始菜單】進入在線幫助反饋,能夠在網頁上打開幫助頁面;工具
2)F1快捷鍵一樣能夠調用瀏覽器打開幫助頁面;
post
3)幫助頁面的內容爲操做系統的用戶幫助信息。
測試
4)最終該安裝包的名字fakeroot_01-01_amd64.deb。
ui
分析:編碼
軟件設計:
|開始菜單幫助入口| |F1按鍵|
| |
| |Gnome應用程序keybinding|
| |gnome-help|
| |
| --- 幫助應用程序 ------- |
編碼:
關於這個軟件的編碼量基本集中在網頁部分,就不具體說明了。
另外還有少許的腳本須要編寫。
測試:
黑盒>
1) 正常安裝;
2) 按下F1,firefox瀏覽器會打開一個help-doc.html網頁;
3) 在【開始菜單】入口中,點擊【在線幫助與反饋】,達到和上面同樣的效果;
4) 最後簡單對幫助反饋頁面的內容進行一個簡單的測試,須要網頁可以達到預計的效果。
5) 正常卸載。
發佈與提交
在測試正常的狀況下,將軟件包提交構建組構建,以提供進一步的測試。
打包過程
查閱相關文檔,確保源碼包中必須具有的基本目錄結構,目錄結構以下>
|-- DEBIAN
| |-- control #包含主要的軟件版本信息和維護者信息
| |--changelog #軟件包的修改記錄,它是有規範的,下面會給出
| |--rules #該文件及其重要,裏面包含了打包時執行的動做
| |-- postinst #該腳本爲安裝軟件包時執行的處理腳本
| |-- postrm #該腳本爲卸載軟件包時執行的處理腳本
| |-- compat #兼容性文件照者其它源碼包中的內容抄就ok了
|--usr
|--資源文件
1)步驟一
假設當前在~下,建立基本目錄結構
~ $ mkdir fakeroot-1.11.0 ~$ cd fakeroot-1.11.0 ~/fakeroot-1.11.0$ mkdir fakeroot # you can use any name you like , actually , I recommend you to use a name relevant to your debian software ~/fakeroot-1.11.0$ mkdir debian # important control files should be in it
2)步驟二
在debian目錄下建立控制信息
control文件
source: fakeroot #源碼包名 section: devel #工具類 Priority: optional #優先級 Maintainer: #維護者郵箱 Standards-Version: 1.11.0 #版本號 Package:fakeroot #這個指的是編譯生成的二進制包名 Architecture: any #軟件包適用的系統架構 Depends: ***(oprator version) Description : #給出你對這個軟件的描述
postinst文件
#!/bin/sh code block #do what you want to do on the post stage of excuting `dpkg -i fakeroot`
postrm文件
#!/bin/sh code block # do what you want to do on the post stage of excuting 'dpkg -r fakeroot**'
rules文件
install: build階段 rm -r $(CURDIR)/debian/fakeroot* #在build過程當中將fakeroot相關的中間文件刪除 mkdir -p $(CURDIR)/debian/fakeroot cp -r $(CURDIR) /fakeroot/$(DEB_HOST_ARCH)/usr $(CURDIR)/debian/fakeroot/ #將usr下的資源文件拷貝到資源文件下
3)步驟三
建立資源文件,這一部分是你實現軟件的核心部分文件了
在usr目錄下建立資源文件
usr/share/applications usr/share/cdos-help usr/share/doc
4) 步驟四
~/fakeroot-1.11.0 $ dpkg-buildpackage -fakeroot -uc -us
前面的步驟若是所有執行成功的話,那麼執行上面的命令的話,會在上一層目錄生成fakeroot-1.11.0_amd64.deb。
到這一步,你的二進制包文件已經建立成功了。
總結
通過以上的步驟,你想要建立的二進制包已經建立成功了。此時,你可使用dpkg命令來安裝和卸載它了。說到這裏,大概已經明白如何來建立二進制包的結構了吧。看千遍,不如本身動手作一遍,動手來作一作吧。