創建一個簡易 APT 倉庫
作為我工作的一部分,我所維護的 PATHspider 依賴於 cURL 和 PycURL中的一些剛剛被合併或仍在等待被合併的功能。我需要構建一個包含這些 Debian 包的 Docker 容器,所以我需要快速構建一個 APT 倉庫。
Debian 倉庫本質上可以看作是一個靜態的網站,而且內容是經過 GPG 簽名的,所以它不一定需要託管在某個可信任的地方(除非可用性對你的程序來說是至關重要的)。我在 Netlify(一個靜態的網站主機)上託管我的博客,我認為它很合適這種情況。他們也支持開源項目。
你可以用下面的命令安裝 netlify 的 CLI 工具:
sudo apt install npm
sudo npm install -g netlify-cli
設置倉庫的基本步驟是:
mkdir repository
cp /path/to/*.deb repository/
cd repository
apt-ftparchive packages . > Packages
apt-ftparchive release . > Release
gpg --clearsign -o InRelease Release
netlify deploy
當你完成這些步驟後,並在 Netlify 上創建了一個新的網站,你也可以通過 Web 界面來管理這個網站。你可能想要做的一些事情是為你的倉庫設置自定義域名,或者使用 Let's Encrypt 啟用 HTTPS。(如果你打算啟用 HTTPS,請確保命令中有 apt-transport-https
。)
要將這個倉庫添加到你的 apt 源:
gpg --export -a YOURKEYID | sudo apt-key add -
echo "deb https://SUBDOMAIN.netlify.com/ /" | sudo tee -a /etc/apt/sources.list
sudo apt update
你會發現這些軟體包是可以安裝的。注意下 APT pinnng,因為你可能會發現,根據你的策略,倉庫上的較新版本實際上並不是首選版本。
更新:如果你想要一個更適合平時使用的解決方案,請參考 repropro。如果你想讓最終用戶將你的 apt 倉庫作為第三方倉庫添加到他們的系統中,請查看 Debian wiki 上的這個頁面,其中包含關於如何指導用戶使用你的倉庫。
更新 2:有一位評論者指出用 aptly,它提供了更多的功能,並消除了 repropro 的一些限制。我從來沒有用過 aptly,所以不能評論具體細節,但從網站看來,這是一個很好的工具。
via: https://iain.learmonth.me/blog/2017/2017w383/
作者:Iain R. Learmonth 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive