Cấu trúc của một kho lưu trữ Ubuntu là gì?


29

Các tệp trong kho lưu trữ Ubuntu được tổ chức như thế nào? Các tập tin quan trọng trong một kho lưu trữ là gì? Điều gì xảy ra khi một kho lưu trữ không nhất quán, bị hỏng hoặc đang được đồng bộ hóa?

Câu trả lời:


19

Theo dòng deb trên nguồn apt của bạn, apt sẽ tìm nạp:

Nó xác nhận nếu Release.gpg là chữ ký hợp lệ cho tệp Phát hành và nếu nội dung Gói.gz khớp với tổng kiểm tra tính toàn vẹn có trong tệp Phát hành. Nếu có sự không phù hợp, lỗi toàn vẹn chữ ký kho được báo cáo.

Tên tệp gói cho gói được yêu cầu được xác định từ nội dung Gói.gz đã truy xuất trước đó. Nó được tải xuống và tổng kiểm tra nội dung của nó phải phù hợp với nội dung tổng kiểm tra Gói.gz hoặc lỗi toàn vẹn được báo cáo.

Câu hỏi cuối cùng của bạn không phải là về cấu trúc gương mỗi se, mà là về sự đồng bộ hóa gương, phụ thuộc vào quá trình phản chiếu. Có thể đồng bộ hóa bằng cách sử dụng một vị trí tạm thời mà không phá vỡ tính toàn vẹn của kho lưu trữ trong quá trình đồng bộ. Tôi không chắc chắn nếu tất cả các máy nhân bản Ubuntu làm điều đó.


không may liên kết bị phá vỡ
xanh

Chúng không bị hỏng, chúng chỉ là các mẫu, bạn sẽ cần thay thế "phát hành" "THÀNH PHẦN", nhị phân- ", v.v., đó là các trường động.
João Pinto

18

Joao đã trả lời nửa sau câu hỏi của tôi, vì vậy tôi đã tự mình điều tra nửa đầu. Ở cấp độ gốc, có bốn thư mục và một tệp.

root
| -- dists
| -- pool
| -- indices
| -- project
| -- ls-lr.gz

(Cũng trong repo đại học của tôi, chỉ có hai mục đầu tiên ở đó. Vì vậy, 3 mục cuối dường như không cần thiết cho hoạt động của repo.)

Tệp ls-lr.gznày chứa đầu ra của ls -lrlệnh khi chạy trên thư mục gốc của kho lưu trữ.

Thư mục distsdường như chứa hầu hết các siêu dữ liệu, bao gồm tất cả các tệp tests.gz (chứa danh sách các gói) và Release.gpg / Release có ký tên gói. (Cảm ơn Joao về thông tin)

Thư mục poolchứa các tệp .deb thực tế. Các tổ chức là /pool/[section]/[letter]/[group]/packagename.deb. Do đó, vị trí thực tế của gói lật đổ python là /pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.debbởi vì subversion là nhóm của gói python-subversion và s là chữ cái đầu tiên của lật đổ.

Thư mục projectsdường như chứa một vài tệp mô tả chi tiết cách nhân bản được đồng bộ hóa với repo ban đầu.

Thư mục indiceschứa nhiều tệp, hầu hết đều trống. Các tệp không trống dường như cung cấp một số siêu dữ liệu bổ sung cho các gói.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.