打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
创建一个简易 APT 仓库 | Linux 中国
Debian 仓库本质上可以看作是一个静态的网站,而且内容是经过 GPG 签名的,所以它不一定需要托管在某个可信任的地方(除非可用性对你的程序来说是至关重要的)。
-- Iain R. Learmonth

编译自 | https://iain.learmonth.me/blog/2017/2017w383/ 
 作者 | Iain R. Learmonth
 译者 | geekpi

作为我工作的一部分,我所维护的 PATHspider[1] 依赖于 cURL[2] 和 PycURL[3]中的一些刚刚[4][5]合并或仍在等待[6]被合并的功能。我需要构建一个包含这些 Debian 包的 Docker 容器,所以我需要快速构建一个 APT 仓库。

Debian 仓库本质上可以看作是一个静态的网站,而且内容是经过 GPG 签名的,所以它不一定需要托管在某个可信任的地方(除非可用性对你的程序来说是至关重要的)。我在 Netlify[7](一个静态的网站主机)上托管我的博客,我认为它很合适这种情况。他们也支持开源项目[8]

你可以用下面的命令安装 netlify 的 CLI 工具:

  1. sudo apt install npm

  2. sudo npm install -g netlify-cli

设置仓库的基本步骤是:

  1. mkdir repository

  2. cp /path/to/*.deb repository/

  3. cd repository

  4. apt-ftparchive packages . > Packages

  5. apt-ftparchive release . > Release

  6. gpg --clearsign -o InRelease Release

  7. netlify deploy

当你完成这些步骤后,并在 Netlify 上创建了一个新的网站,你也可以通过 Web 界面来管理这个网站。你可能想要做的一些事情是为你的仓库设置自定义域名,或者使用 Let's Encrypt 启用 HTTPS。(如果你打算启用 HTTPS,请确保命令中有 apt-transport-https。)

要将这个仓库添加到你的 apt 源:

  1. gpg --export -a YOURKEYID | sudo apt-key add -

  2. echo 'deb https://SUBDOMAIN.netlify.com/ /' | sudo tee -a /etc/apt/sources.list

  3. 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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解决“由于没有公钥,下列签名无法进行验证”的问题
APT-GET更新GPG签名错误解决
对 Linux 新手非常有用的20个命令
Debian安装Docker
在Ubuntu上安装Docker(4种简单方法)
如何在 Ubuntu 中删除仓库及其 GPG 密钥
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服