編譯機

出自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

參見