编译机

来自Arch Linux 中文社区 维护者 Wiki
跳转到导航 跳转到搜索

本页介绍社区 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

参见