ฉันสังเกตพฤติกรรมดังต่อไปนี้กับทั้ง tar 1.26 และ 1.27.1:
$ mkdir a b a/diffowner
$ sudo mkdir b/diffowner
$ sudo chmod a+w b/diffowner
$ echo foo > a/diffowner/foo
$ tar -C a -cvf test.tar diffowner
diffowner/
diffowner/foo
$ tar -C b -xvf test.tar diffowner
diffowner/
diffowner/foo
tar: diffowner: Cannot utime: Operation not permitted
tar: diffowner: Cannot change mode to rwxr-xr-x: Operation not permitted
tar: Exiting with failure status due to previous errors
ดังนั้นสิ่งที่ฉันพยายามทำที่นี่คือการแตกไฟล์ tar ลงในโครงสร้างไดเรกทอรีที่มีอยู่ซึ่งฉันไม่ได้เป็นเจ้าของไดเรกทอรีทั้งหมดที่เกี่ยวข้อง แต่ฉันมีสิทธิ์เขียนทั้งหมด ในความเป็นจริงพวกเขาจะใช้ร่วมกันระหว่างกลุ่ม
ฉันไม่สนใจเกี่ยวกับการประทับเวลาและฉันเชื่อว่าสิทธิ์ควรถูกต้องแล้ว ฉันใช้งานสิ่งนี้ในฐานะผู้ใช้ปกติดังนั้นจึงไม่ควรลองทำ--preserve-permissions
หากไม่ได้รับการแจ้งให้ทราบซึ่งฉันไม่ได้ทำ สิ่งที่ทำให้ฉันกังวลคือสถานะการออก: ฉันตั้งใจจะใช้สิ่งนี้ในสคริปต์และต้องการทราบว่าการดึงข้อมูลจริงทำงานได้ดีหรือไม่
มีตัวเลือกให้ tar ซึ่งบอกว่าจะไม่ตั้งค่าการอนุญาตไดเรกทอรีไม่ทันทีหรือล่าช้าหรือไม่ ความล้มเหลวนั้นคุณจะแนะนำโซลูชันอื่นใด ตอนนี้ฉันกำลังคิดที่จะแยกไปยังไดเรกทอรีชั่วคราวและใช้rsync
เพื่อย้ายข้อมูลไปไว้ในต้นไม้ที่มีอยู่ แต่บางทีคุณอาจรู้วิธีการแฮ็กน้อย