编译机
本页介绍社区 x86-64 编译机的环境和可以提供的服务。
硬件配置
在Btrfs 只读事件之后,编译机迁移到了 Hetzner Falkenstein(FSN) 机房。硬件配置为:AMD Ryzen 9 7950X3D, 128G DDR5 RAM, 1.92TB×2 SSD
有用的路径
~/repo
: 这是个软链接。打好的包放入此处即可加入 cn 源中。其实际路径为/home/repo
,如果弄丢了可以自己创建一下。~lilydjwg/.lilac/log
: lilac 日志存放处。如果 lilac 打包失败,而邮件中的信息并不足以解决问题时可以查询此处。/data/repo
: archlinuxcn 软件仓库在编译机上的副本。维护者可以去修改和删除自己手动上传的包。/data/archgitrepo-webhook
: archlinuxcn/repo 仓库的克隆,由 webhook 实时拉取更新。archlinuxcn/pkgname_map.json
: 从 pkgname 到 pkgbase 的映射。用于映射 issue 中提及的包名。
专门的命令
ls-builders
: 列出当前谁正在打什么包。注意 lilac 使用 lilydjwg 用户进行打包。sudo cleanup-package-files
: 清理指定包的各种缓存文件。使用 --help 参数获取调用参数。
Web 服务
编译机监控
编译机上有 Grafana,可以看到负载、CPU 及内存占用、包文件大小和数量等信息。
lilac 近期打包概览
镜像的同步延迟
public_html 公开 HTTP(S) 服务
可以在个人家目录创建 public_html
文件夹,用以提供公开的 HTTP(S) 服务,方便临时发布下载链接。创建文件夹时请注意给予 http
用户(或者全部用户)对 ~/public_html
的可执行和读权限,以及对 ~/
的可执行权限。 创建文件夹后,可以通过https://build.archlinuxcn.org/~USERNAME/
的方式访问该文件夹下的内容。
推荐的权限修改命令如下:
mkdir -p ~/public_html
setfacl -m u:http:x ~
setfacl -m u:http:rx ~/public_html
setfacl -d -m u:http:rX ~/public_html
邮件系统
可以在个人家目录创建 ~/.forward
填写个人邮箱,让编译机邮件转发到个人邮箱。编译机上的个人邮件包括 crontab 执行结果,但不包括 lilac 打包日志。如果不进行转发,则可使用 mutt 命令阅读自己的邮件(通常是 dcron 寄送的,也有可能来自外部)。
注意:为避免程序运行不当产生垃圾邮件,包维护者默认是不能通过此邮件服务器外发邮件的。如果需要,并且经过细致的测试没有问题,可以向管理员申请许可。
sshd
除了 22 端口外,sshd 也监听 8122 端口。22 端口会部署反扫描策略,短时多次连接会被封禁一段时间,而 8122 端口不会。
定时任务
编译机上部署了 dcron ,可以使用 crontab 创建定时任务,参考 https://wiki.archlinux.org/index.php/Cron#Basic_commands
参见
- 编译机软件配置,关于编译机上各种软件和服务的配置信息