创建一个简易 APT 仓库
创始人
2024-03-01 21:39:24
0

作为我工作的一部分,我所维护的 PATHspider 依赖于 cURLPycURL中的一些刚刚合并或仍在等待被合并的功能。我需要构建一个包含这些 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

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

昆仑万维正式发布并开源Sk...
人民财讯6月20日电,6月20日,昆仑万维发布软件工程(SWE)自...
2025-06-20 15:40:28
使用IDEA把项目上传到g...
使用IDEA把项目上传到gitee仓库在gitee上建立一个仓库第...
2025-06-01 17:15:00
如何提高仓库操作管理效率?
如何提高仓库操作管理效率?仓库管理主要可以分为四个方...
2025-06-01 03:25:07
四、电商数据仓库系统——第...
5.1 数据仓库分层规划优秀可靠的数仓体系,需要良好...
2025-05-31 23:57:14
本地新建项目如何推送到远程...
我本地新建了一个vue项目,想推送到远程的gitla...
2025-05-31 23:03:33
Windows环境安装及配...
欢迎关注博主 Mindtechnist 或加入【Linux C/C...
2025-05-31 21:41:26

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...