uos 如何將sh腳本制作成deb安裝包
問題背景
當我們遇到交付需要執行一些腳本來完成時,由於客戶機器無法開啟開發者模式,故腳本無法運行,但如果我們將sh腳本制作成deb安裝包,並且進行簽名,即可在客戶的機器上運行。
制作方法
1.deb包的結構
- DEBIAN
- control
- postinst 軟件安裝時執行的腳本
- prerm 軟件卸載前執行的腳本
- postrm 軟件卸載后執行的腳本
- boot
- mysoftware 這里我們可以不放文件
2.創建對應文件夾和文件
mkdir -p /home/debname
mkdir -p /home/debname/DEBIAN
mkdir -p /home/debname/boot
touch /home/debname/DEBIAN/control
touch /home/debname/DEBIAN/postinst
touch /home/debname/DEBIAN/postrm
touch /home/debname/boot/mysoftware
3.寫入control文件
Package: ** (軟件名稱,中間不能有空格)
Version: 1 (軟件版本)
Section: free (軟件類別)
Prioritt: optional (軟件對於系統的重要性)
Architecture: amd64 (軟件所支持的平台架構)
Maintainer: xxx <> (打包人和聯系方式)
Description: mydeb (對軟件的描述)
(此處必須空一行再結束)
4.寫postinst、prerm以及postrm腳本
編寫完腳本后需要給這三個文件加上“x”權限:
sudo chmod +x postinst
sudo chmod +x postrm
sudo chmod +x prerm
5.打包
在debname上級目錄執行:
dpkg -b debname debname.deb
這時我們得到了debname.deb這樣一個安裝包,安裝包執行的效果就是我們編寫的腳本