搭建apt软件源
Aptly
Aptly 是一个用于创建和管理 Debian 软件包仓库的工具。它为开发人员和系统管理员提供了一种灵活且强大的方式来处理 APT 仓库。Aptly 支持本地存储库的创建、远程存储库的镜像、快照和发布管理等功能。
安装aptly
1 | sudo apt install aptly |
数字签名
GPG(GNU Privacy Guard)是一种用于数据加密和签名的免费开源软件。它是 OpenPGP 标准(RFC 4880)的实现,提供了一套用于保护通信和数据的工具。GPG 允许用户加密数据、创建和验证数字签名,以及管理密钥。
生成gpg数字签名
1 | gpg --gen-key |
按照提示填写信息即可
生成之后会出现
1 | pub rsa4096 2023-01-01 [SC] [expires: 2025-01-01] |
我们将密钥导出
1 | gpg --export -a ABCDEF1234567890ABCDEF1234567890ABCDEF12 > public.key |
导出之后在我们的设备中使用apt-key add
将密钥导入
1 | apt-key add public.key |
注意事项
aptly时区别用户的,如果你使用默认用户创建了一个仓库,切换到root或其他用户再去操作仓库是不存在的。
请使用同一用户完成以下操作
创建仓库
首先我们创建一个名称为 simple-repo
的仓库
1 | aptly repo create simple-repo |
添加deb包
假设我们有一个名为 deb_1.0_aarch64.deb
的包
使用以下命令将包添加到仓库
这里也可以使用路径将文件夹下包全部添加
1 | aptly repo add simple-repo deb_1.0_aarch64.deb |
创建快照
从simple-repo创建一个名称为simple-repo-snapshot的快照
1 | aptly snapshot create simple-repo-snapshot from repo simple-repo |
发布快照
1 | aptly publish snapshot -distribution=stable -gpg-key=ABCDEF1234567890ABCDEF1234567890ABCDEF12 simple-repo-snapshot |
aptly默认将我们的repo发布到/home/user/.aptly/public目录下,我们可以在.aptly.conf中对其目录进行修改
常用命令
1 | aptly repo create <name> #创建仓库 |
配置nginx
我们在nginx中的配置中进行以下修改
添加location块
因为特殊需要我使用了alias,如果你是单纯为repo创建的站点使用root即可
1 | location /apt/simple-main { |
添加软件源
在客户端中修改sources.list
添加deb http://yourdomain.com/stable main
更新包列表并安装包
1 | sudo apt update |
本文是原创文章,采用 CC BY-NC-SA 4.0协议,完整转载请注明来自mucute
评论
匿名评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果