Debian
創建 Debian 軟體包儲存庫以分發自定義 deb 軟體包的多個版本
我們正在建構一個應用程序,它將被打包到一個 DEB 包中。我們希望能夠以最少的手動互動,使用
apt-get
.為此,我們計劃在組織內部署我們自己的 DEB 包儲存庫。(所以我們只託管我們的包,但不鏡像現有的外部儲存庫)然後這個包儲存庫應該被組織內的所有 Linux 伺服器用於安裝我們的單個應用程序包。
有人可以解釋一下這應該怎麼做(包括最佳實踐)?
- 如何為我們的包建立一個最小的 DEB 包儲存庫(並在新版本發佈時處理)?
- 設置 Debian 伺服器,以便從我們組織內的自定義 DEB 包儲存庫伺服器中獲取單個包。
在花了一些時間探勘大量文件資源之後,我想出了以下解決方案,我正在分享:
- 在用於託管儲存庫的機器上,根據Ubuntu 文件的描述設置個人儲存庫,但不要在該機器上添加 sources.list 條目。
- 通過 Web 伺服器(例如使用 Nginx)公開包含 DEB 文件和 Packages.gz 文件的目錄,以便所有將使用 DEB 文件的機器都可以使用它。
- 在將獲取 DEB 包的機器上,在
/etc/apt/sources.list
文件中添加一個條目,該條目指向您的伺服器(將 foobar 替換為您自己的 URL):deb [trusted=yes] http://foobar/ /
- 跑
sudo apt update
- 執行
sudo apt install foobar
安裝自己的包(將 foobar 替換為自己的包名)**注意:**此設置託管 DEB 包,沒有簽名包/儲存庫提供的任何保護。如果儲存庫可供更廣泛的受眾使用,而不是位於公司防火牆後面的受保護子網上的團隊伺服器,您可能希望實現儲存庫和包的簽名。