建立和安裝您自己的 deb 套件的簡單教學。
除了 Debian、Ubuntu 或任何基於 Debian 的作業系統之外什麼都沒有
Mypackage應用程式在運行時將開啟 Ubuntu 的官方網站。
mypackage_1.0_all
資料夾的命名法: package-name_version_architecture
。
套件名稱: mypackage
版本: 1.0
架構:可以是受支援架構的all
或子集
原始包架構:
。 └── mypackage_1.0_all # 套件主資料夾 ├── 德比安 │ ├── control # 包含包主要資訊的文件 │ ├── postinst # 安裝後執行的腳本 │ └── preinst # 安裝前執行的腳本 ├── 選擇 │ └── mypackage # 包含我們軟體的資料夾 │ └── open_link.sh # 開啟瀏覽器存取ubuntu.com的腳本 └── usr └── 分享 ├── 應用領域 │ └── mypackage.desktop # 啟動器中包含應用程式資訊的文件 └── 圖標 └── mypackage.xpm # 啟動器應用程式圖標
有關DEBIAN/control
文件的更多資訊:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
儘管有多種方法可以在不使用 sudo 的情況下安裝 deb 存檔,但大多數 deb 軟體包都設計為在系統範圍內安裝。這意味著preinst和postinst腳本或存檔中包含的任何其他二進位檔案可以在系統上不受任何限制地運行(請參閱Snap 套件以取得替代方案)。請仔細檢查您的腳本,並在共享時小心謹慎,以免破壞他人的電腦。
建造
dpkg-deb --build ./mypackage_1.0_all
安裝
sudo gdebi -n ./mypackage_1.0_all.deb # 測試(需要 gdebi-core) sudo dpkg -i ./mypackage_1.0_all.deb # 安裝
注意使用
sudo apt autoremove mypackage
卸載
您應該在啟動器中看到Mypackage :
第一個選項是最簡單的:我們可以在本地安裝軟體包。
建立一個資料夾,我們的儲存庫將位於其中,並將我們的.deb
套件移入其中
mkdir -p ./鏡像/池 cp ./mypackage_1.0_all.deb ./mirror/pool/
建立Packages
索引文件
cd ./鏡子 dpkg-scanpackages -m ./pool > 軟體包
將目錄新增至系統來源中
echo "deb [trusted=yes] 文件:/path/to/repository/mirror /" | sudo tee /etc/apt/sources.list.d/mypackage.list
更新您的套件定義並安裝
須藤apt更新 sudo apt安裝mypackage
然後,可以透過您自己電腦上的簡單 Apache 伺服器來提供本機安裝的儲存庫。
您可以選擇建立個人套件檔案 (PPA),託管在 上,然後每個人都可以使用簡單的add-apt-repository ppa:<repository_name>
命令進行存取。
如果您希望您的軟體包發佈到 Ubuntu 的 Universe/Multiverse 儲存庫中,這可能會變得很棘手,因為您應該獲得 MOTU 的批准。想要發佈到 main 嗎?這需要滿足許多條件,包括安全性和對維護標準的承諾。
META 套件是只安裝依賴項清單的套件。
這就是您如何透過一個軟體包安裝整個桌面。
APT 是 Debian 及其衍生產品(包括 Ubuntu)所使用的傳統套件管理系統。它於 1998 年首次亮相,使用.deb
軟體包。
Snap 由 Canonical 於 2014 年推出,是一種較新的套件管理器,旨在提供跨不同 Linux 發行版的更輕鬆的套件分發。它將依賴項捆綁在每個.snap
套件中,導致套件大小更大,但減輕了「依賴地獄」。這在離線系統中尤其有用。
主要區別在於,snap 包專注於跨發行版相容性和自我包含性,透過包沙箱和自動更新可能會提供更好的安全性。另一方面,APT 依賴系統範圍的庫,這使得套件更小,但可能會導致依賴性問題。