編譯機
本頁介紹社區 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
參見
- 編譯機軟件配置,關於編譯機上各種軟件和服務的配置信息