作者 | Iain R. Learmonth
譯者 | geekpi
作為我工作的一部分,我所維護的 PATHspider[1] 依賴於 cURL[2] 和 PycURL[3]中的一些剛剛[4]被[5]合併或仍在等待[6]被合併的功能。我需要構建一個包含這些 Debian 包的 Docker 容器,所以我需要快速構建一個 APT 倉庫。
Debian 倉庫本質上可以看作是一個靜態的網站,而且內容是經過 GPG 簽名的,所以它不一定需要託管在某個可信任的地方(除非可用性對你的程式來說是至關重要的)。我在 Netlify[7](一個靜態的網站主機)上託管我的部落格,我認為它很合適這種情況。他們也支援開源專案[8]。
你可以用下麵的命令安裝 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[9],因為你可能會發現,根據你的策略,倉庫上的較新版本實際上並不是首選版本。
更新:如果你想要一個更適合平時使用的解決方案,請參考 repropro[10]。如果你想讓終端使用者將你的 apt 倉庫作為第三方倉庫新增到他們的系統中,請檢視 Debian wiki 上的這個頁面[11],其中包含關於如何指導使用者使用你的倉庫。
更新 2:有一位評論者指出用 aptly[12],它提供了更多的功能,並消除了 repropro 的一些限制。我從來沒有用過 aptly,所以不能評論具體細節,但從網站看來,這是一個很好的工具。
via: https://iain.learmonth.me/blog/2017/2017w383/
作者:Iain R. Learmonth[14] 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出