deb包的製作(適合剛接觸deb的學者)

1、什麼是deb包,爲什麼需要

由於瞭解不全面所以不一定對,寫下來一方面方便自己看,另一方面希望可以給剛接觸的朋友一點幫助

1.1 在學校一般對deb包接觸會少一點,但是進入公司後可能就要用到,這到底是個什麼呢?

(1)可以看看鳥哥的linux私房菜第23章軟件安裝->23.1軟件管理器簡介,這個很有必要,因爲這會讓你知道這個東西的作用

個人理解:主要是爲了使我們編譯製作好的可執行能夠在不同的平臺進行移植,例如你製作好的應用程序server,而這個應用程序之所以能在你的主機平臺下正常運行,是因爲你提前搭建了運行環境(安裝某些特定軟件、移植某些特定的庫),如果現在將這個應用程序放另一家公司的平臺下運行呢?於是就出現了是否可移植兼容問題,所以deb包出現了,在製作deb包的時候就考慮到了這樣問題,這個包裏面放着需要在其他平臺運行的可執行程序、一些腳本文件、記錄信息的日誌等,當需要在在其他平臺運行某個文件時,我們就將它打包成deb包(打包製作過程並不麻煩,有好幾種方式,一般都是用固定的幾個命令製作),然後將deb包在另一個平臺安裝(有專門安裝命令,就一行解決),安裝的時候會運行deb包裏面的腳本文件(這個腳本需要自己寫,一般也有模板),腳本可以提示如果想運行deb包裏面的某個應用程序或庫時,需要提前安裝某些特定的軟件或庫等,腳本可能會自動幫你安裝,或者提示你需要哪些軟件,你自己安裝,這就看這個包的作者如何編寫deb裏面的腳本文件了。deb解壓后里面有很多文件,其中比較重要的一個文件是control,裏面有很多關係這個deb包的信息,包括這個應用程序的依賴關係,版本,描述等等。現在知道這個包的作用了吧。

1.2 自己作爲deb包的發佈者又需要掌握哪些,如何製作創建一個deb包呢?

(1)可以看看該博客:https://www.cnblogs.com/drfxiaoliuzi/p/4873670.html

製作方法有多種

(1)例如可以安裝一個軟件專門用來製作,裏面完整的包含了deb包所需要的所有文件,包括安裝前後運行的腳本、control信息等,你可以修改裏面的腳本、去掉你不需要的文件,保留重要的文件即可

請看博客:https://blog.csdn.net/steveyg/article/details/78059276

(2)如何製作Deb包和相應的軟件倉庫,其實這個很簡單。這裏推薦使用dpkg來進行deb包的創建、編輯和製作。dpkg(看鳥哥linux私房菜,其實就是ubuntu下支持的命令集之一,專門用來處理deb包),大致流程就是將你的應用程序放在一個文件夾裏,然後自己手動添加control文件、腳本文件等等,所以比較麻煩(也不麻煩,都有模板,對腳本編寫需要熟練),但如果你在公司不是做這一塊瞭解下就行了,不需要自己製作完整的deb包,學會解壓deb包,並在你的平臺下將李某的應用軟件運行起來就ok。

請看博客:https://www.cnblogs.com/drfxiaoliuzi/p/4873670.html

該博客有一些細節需要注意:

1.需要創建目錄並不是必須按照他的格式,除了DEBIAN需要大寫、control和一些特定膠片要放在DEBIAN裏面,其他文件你可以隨便創建,只是最後按照標準將可執行文件放在你創建的Application裏面,這樣拿到包的人知道在裏面找到這個可執行程序,比較方便,僅此而已

2.對於安裝前後的腳本文件,如果真正做公司工程,你又是做這一塊的工作,可能需要在DEBIAN文件裏面的腳本添加一些內容,這時需要修改DEBIAN文件的可執行權限,改爲755。如果僅僅是測試學習,不添加腳本做測試也是可以的,僅僅需要control即可

3.chmod 755 DEBIAN無效問題,因爲我個人是在windows與ubuntu的共享文件夾裏做實驗,因爲是共享所以無法改變共享文件夾裏面的可執行權限,所以我將準備打包的deb文件cp 到ubuntu裏面,然後再chmod這時發現可以了

2.實驗 

(1)cydia,是準備打包成deb包的一個文件,mkdir創建的一個普通文件,裏面再使用mkdir創建了3個文件(沒有任何規律,你想怎麼創建都行)

(2)App裏面放的是我的可執行文件(二進制文件server),var啥都沒,需不需無所謂

(3)DEBIAN就有講究了,首先必須大寫,裏面有一個control文件,裏面內容由於是測試使用所以隨便加哪幾項

vi打開control可以看到我隨手寫的一些信息,作爲發佈者需要寫清楚,作爲使用者,在自己平臺去看這些信息即可

(4)使用dpkg命令,生成了。就deb包

(5)然後使用安裝命令安裝,因爲我們同一環境下運行所以安裝成功,不同平臺可能不行,需要安裝環境

(6)使用dpkg --info可以看到deb包control信息,包括deb包發佈者寫明的依賴,就是該軟件包裏面可執行文件運行時需要提前安裝的庫,軟件包等信息。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章