Skip to main content
Thông thường, mỗi lần bạn chạy bin/up, using-the-toolkit sẽ tự động cập nhật TeX Live full image của chúng tôi. Để tránh phải cập nhật thủ công, bạn có thể tự động hóa việc cập nhật TeX Live Sandbox image bằng script sau. Hãy thêm nó dưới dạng cron job, đảm bảo người dùng cron có quyền chạy docker. Chạy crontab -e để thêm dòng sau vào cuối.
crontab -e
flock -n sẽ bỏ qua một lần chạy nếu lần chạy trước vẫn đang giữ khóa, nhờ vậy một lần pull chậm sẽ không bao giờ bị dồn ứ.
/usr/local/bin/pull-texlive.sh
Tại sao xoay vòng theo giờ thay vì pull tất cả cùng lúc: tag được suy ra từ đồng hồ hệ thống (số giờ kể từ epoch, chia lấy dư cho số lượng tag), vì vậy job này không có trạng thái — không có gì ghi lại “lần trước đã dừng ở đâu”, và chu kỳ tự căn chỉnh lại sau khi khởi động lại hoặc bỏ lỡ một giờ. Mỗi lần chạy chỉ xử lý một tag; khi digest trên registry không thay đổi, việc pull chỉ là kiểm tra manifest (Image is up to date) và hoàn tất trong vài giây. Một lần cập nhật thực sự tải xuống tối đa một image mỗi giờ, được giới hạn bởi timeout 50m, và docker image prune -f sẽ xóa các layer bị bỏ rơi khi tag thay đổi. Để kiểm tra việc đồng bộ có hoạt động tốt hay không:
Khi một bản phát hành TeX Live mới được công bố, hãy thêm tag của nó vào mảng TAGS — độ dài vòng xoay sẽ tự động điều chỉnh. Những giờ máy chủ bị tắt sẽ bị bỏ qua chứ không được xếp hàng; các tag bị ảnh hưởng chỉ đơn giản được làm mới vào lượt tiếp theo của chúng.
Lần sửa đổi cuối 4 tháng 10, 2026