Kịch bản: Trong phiên bản cấu hình hệ thống được kiểm soát dựa trên Puppet, Chef, v.v., cần phải tái tạo một trạng thái hệ thống nhất định. Điều này được thực hiện bằng cách chỉ định rõ ràng các phiên bản gói hệ thống.
Gần đây, chúng tôi gặp phải một vấn đề trong đó các phiên bản gói nhất định bị thiếu trong kho Debian. Một ví dụ: Gói "patch" được yêu cầu trong phiên bản 2.7.5-1 + deb9u1, nhưng chỉ có 2.7.5-1 + deb9u2. Một ví dụ khác, thậm chí nghiêm trọng hơn: "linux-headers-4.9.0-9-common" là bắt buộc (do kernel được liên kết được cài đặt) và chỉ có "linux-headers-4.9.0-11-common".
Điều này làm cho nó không thể tái tạo một trạng thái nhất định của một hệ thống.
Các gói trên chỉ là ví dụ (trong thực tế tôi gặp phải). Tôi quan tâm đến việc hiểu và giải quyết vấn đề chung.
Ý tưởng đằng sau những cập nhật này, các gói 'biến mất' và các phiên bản gói là gì?
Tôi có thể lấy các phiên bản trước ở đâu (không phải phiên bản cũ, nhưng phiên bản cũ vài tuần) của các gói Debian? Có thể tự động hóa quá trình cài đặt theo cách chung.
stable
vẫn nhất quán, ít nhất là cho đến khi phát hành điểm tiếp theo. ổn định - cập nhật, kiểm tra và không ổn định chỉ chứa phiên bản mới nhất của bất kỳ gói nào. Đối với bất cứ điều gì khác, bạn sẽ phải bất lực nhìn archive.debian.org (hoặc snapshot.debian.org như đã đề cập trong câu trả lời của SK)
linux
pkg mới là một ngoại lệ: nói chung, các gói ổn định của Debian đi cùng tên gói và chỉ thay đổi số phiên bản. linux-image-amd64
không bao giờ thay đổi tên và luôn phụ thuộc vào mới nhất linux-image-4.9.0-*
. Tên linux-image-4.9.0-*
pkg mới đánh dấu các thay đổi ABI kernel không tương thích cần thiết để nhập một số lỗi và cho phép xử lý việc biên dịch lại cần thiết của các mô-đun được xây dựng tùy chỉnh (dkms, v.v.). Tương tự cho linux-headers-*
.
apt-get changelog packagename