目錄
- 前言
- 概念 **
- 建立自己的deb包
- 檔案源碼
- 制作deb的方式很多
- 使用 dpkg-deb 方式
- 使用 checkinstall 方式
- 使用 dh_make 方式
- 修改原有的 deb 包
- 李柱明部落格:https://www.cnblogs.com/lizhuming/
- 本文連結:https://www.cnblogs.com/lizhuming/p/13946825.html
- deb包
- deb包是在linux系統下的一種安裝包
- 它是基于tar包的
- 是以同樣會記錄着檔案的權限資訊(讀、寫、可執行)、所有者、使用者組等
- 可以使用
指令來檢視系統以及安裝了哪些deb包。dpkg -l
- deb包組成(一般分成兩部)**
- 控制資訊 (放在 DEBIAN 目錄下)
- 本 deb 包的 DEBIAN 目錄下有 changelog、control、copyright、postinst、postrm 等檔案(不一定全部都要有)
- changelog
- 記錄了該deb包的作者、版本以及最後一次更新日期等資訊
- control
- 記錄了包名、版本号、架構、維護者及描述等資訊
- copyright
- 檔案記錄了一些版權資訊
- postinst
- 安裝後執行的配置檔案
- postrm
- 軟體解除安裝後需要執行的腳本
- changelog
- 本 deb 包的 DEBIAN 目錄下有 changelog、control、copyright、postinst、postrm 等檔案(不一定全部都要有)
- 安裝的内容
- 目錄方式和檔案系統根目錄一樣
- 最終存放着需要運作的腳本
- 控制資訊 (放在 DEBIAN 目錄下)
- 建立目錄
- 建立目錄 myDeb
- 建立目錄 myDeb/DEBIAN
- 建立目錄 myDeb/home/lss/work
- 建立檔案
- 在 myDeb/DEBIAN 目錄下
- 建構 deb 包
- 運作
sudo dpkg-deb -b ../mydeb ../MyAdcSoftware_1.0.0_armhf.deb
-
【linux】制作deb包方法 **
-
-
檢視制作包的内容sdpkg -c myHello_1.0.0_armhf.deb
-
【linux】制作deb包方法 **
-
-
安裝了該軟體sdpkg -i myHello_1.0.0_armhf.deb
-
【linux】制作deb包方法 **
-
-
檢視是否安裝了該軟體sdpkg -s myHello
-
【linux】制作deb包方法 **
-
- 運作效果
-
【linux】制作deb包方法 **
-
- 運作
- myDeb/home/lss/work/myHello.sh
#/** @file myHello.sh
# * @brief 簡要說明
# * @details 詳細說明
# * @author lzm
# * @date 2020-11-08 19:33:53
# * @version v1.0
# * @copyright Copyright By lizhuming, All Rights Reserved
# *
# **********************************************************
# * @LOG 修改日志:
# **********************************************************
#*/
#!/bin/bash
echo hello
- myDeb/DEBIAN/control
Package: myHello
Version: 1.0.0
Section: free
Priority: optional
Essential: no
Architecture: armhf
Maintainer: lss <[email protected]>
Provides: MyHello
Description: hello detect
- myDeb/DEBIAN/postinst
if [ "$1" = "upgrade" ] || [ "$1" = "install" ];then
echo "install"
fi
- myDeb/DEBIAN/postrm
if [ "$1" = "upgrade" ] ; then
echo "upgrade"
elif [ "$1" = "remove" ] || [ "$1" = "purge" ] ; then
echo "remove"
fi