Có cách nào để tạo tệp .tar
bỏ qua các giá trị của atime/ctime/mtime cho các tệp/thư mục của nó không?Làm cách nào để tạo tệp tar bỏ qua dấu thời gian cho nội dung của nó?
Tại sao chúng tôi muốn thực hiện việc này?
Chúng tôi có một bước trong quá trình xây dựng của chúng tôi tạo ra một thư mục các hiện vật được đóng gói thành một con tarfile. Chúng tôi hy vọng rằng bước xây dựng là không cần thiết - với cùng một yếu tố đầu vào, nó tạo ra chính xác cùng một tệp/đầu ra mỗi lần.
Lý tưởng nhất, chúng tôi cũng muốn bước là bitwise không đáng kể trong các bản dựng sạch, để chúng tôi có thể sử dụng các bản dựng liên tiếp để kiểm tra xem không có gì thay đổi. Nhưng vì các tệp tar bao gồm dấu thời gian (atime/ctime/mtime) cho mỗi mục nhập, các tệp tar được tạo bởi bước xây dựng đó không bao giờ giống hệt với lần chạy trước đó, mặc dù nội dung của mỗi tệp bên trong tệp nén là giống hệt nhau.
Có cách nào để tạo ra một tarfile bỏ qua dấu thời gian của các mục nhập của nó, sao cho bước tạo lưu trữ có thể là bitwise idempotent? (Chúng tôi muốn tận dụng siêu dữ liệu tệp khác mà tar
bảo tồn, chẳng hạn như bit chế độ tệp và liên kết tượng trưng.)
bạn đã bao giờ tìm thấy câu trả lời hoàn chỉnh cho điều này chưa? Tôi cũng muốn làm điều tương tự, được hỏi trong một câu hỏi ở đây: https://stackoverflow.com/questions/45734702/tar-preserving-only-file-names-contents-and-executable-bit?noredirect=1#comment78427625_45734702 Tôi cũng muốn đảm bảo rằng người dùng, nhóm và quyền không được lưu trữ. Có điều gì khác cần lưu ý không? –
@TomEllis, tôi sẽ xem xét việc xây dựng một cái gì đó tùy chỉnh với mô-đun «tarfile' Python nếu bạn muốn kiểm soát chính xác các quyền đó và không được lưu trữ. –