倉庫中有openresty (nginx), php (7.0-7.1), mysql (5.7-8.0), nmap等,詳見這裡

適用於Ubuntu 16.04 32位或64位;一鍵配置腳本

wget https://dl.yooooo.us/build/setup.sh -O -|sudo bash

這個倉庫將由兩部分組成,一是自己編譯的二進制包,二是從ppa等上鏡像下來的包。

結構

  • A:編譯機
  • B:簽名,下載鏡像
  • C:CDN

編譯

這裡我們用docker來隔離每次編譯的環境,同時避免重複地安裝每次都會用到的包。

 

編譯完成後上傳並觸發B機簽名和生成新的InRelease和Packages。

簽名

我們用lua-nginx-moduel寫了處理上傳,並配合cron實現觸發編譯。

nginx配置:

安裝apt-ftparchive和dpkg-sig。

簽名腳本:

生成gpg密鑰,然後在cron中添加

*/5 * * * * sudo /path/gen_repo.sh

鏡像

使用apt-mirror下載鏡像並且重新簽名。

安裝apt-mirror,然後編輯/etc/apt/mirror.list:

簽名腳本:

然後在cron中添加

6 0 */2 * * sudo /path/sync_repo.sh

CDN

使用openresty自建的CDN,有使用需求的小夥伴可以留言:)

測試cname: cdn.yoooo.us