วิธีการ tar ไดเรกทอรีเก็บรักษาไม่เพียง แต่สิทธิ์ แต่ความเป็นเจ้าของด้วย


37

ฉันต้องบีบอัดไดเรกทอรีโดยใช้ tar.gz ไม่เพียง แต่รักษาสิทธิ์ แต่เป็นเจ้าของ / กลุ่มด้วย

และในไดเรกทอรีนี้มีไฟล์จำนวนมากที่เป็นของผู้ใช้หลายคน

คำตอบ:


39

คุณกำลังมองหาการ-pตั้งค่าสถานะดังนั้นตัวอย่างจะต้องtar -cvpf file.tar folderToCompressระมัดระวังการใช้tarคำสั่งเพราะมันง่ายที่จะเขียนทับไฟล์ถ้าไวยากรณ์ของคุณสำหรับคำสั่งไม่ถูกต้อง

เจ้าของไฟล์ถูกสงวนไว้ตามปกติเมื่อแตกไฟล์คุณจำเป็นต้องใช้--same-ownerแฟล็ก เช่นtar --same-owner -xvf file.tarแม้ว่าการตั้งค่าสถานะจะแนะนำสำหรับผู้ใช้ขั้นสูงเท่านั้น

ตรวจสอบหน้าคนน้ำมันดิน


9
มันจะต้องtar -cvpf file.tar(หรืออาจจะดีกว่าในแง่ของความชัดเจน-cvp -f file.tar) มิฉะนั้น-fpส่วนที่ถูกตีความว่าเป็น--file pและtarเขียนไปยังแฟ้มชื่อแทนp file.tar
KT

4
นอกจากนี้ยังระบุว่าคำตอบที่กล่าวถึงการบีบอัดและผู้คนมีแนวโน้มที่จะคัดลอกวางคำตอบจากโพสต์โดยไม่ต้องคิดแล้วแจ้งให้เราทราบว่าสำนวนการเก็บข้อมูลยอดนิยมที่มีการบีบอัดจะเป็น: หรือtar -czvpf file.tar.gz folderToCompress tar -cjvpf file.tar.bz2 folderToCompress
KT

@KT - คุณถูกต้องดังนั้นฉันจะแก้ไขการ-fตั้งค่าสถานะ - แม้ว่าฉันไม่ได้แก้ไขการ-zตั้งค่าการบีบอัด สำหรับการบีบอัดผมอยากแนะนำ-Ipigz(ที่ฉันทุน) แทน-z; บนระบบมัลติคอร์ pigz สามารถเร็วขึ้นมาก
NVRAM

13
คำตอบนี้ผิด pเป็นแฟลกการแยกจะไม่มีผลเมื่อสร้างไฟล์เก็บถาวร นอกจากนี้ยังมีผลต่อการอนุญาตของไฟล์ไม่ใช่การเป็นเจ้าของ ธงที่เกี่ยวข้องสำหรับการเป็นเจ้าของซึ่งจะเปิดใช้งานโดยค่าเริ่มต้นเมื่อแยกเป็น--same-owner root
Vladimir Panteleev

1
@NVRAM SnowRepub ยกเลิกการเปลี่ยนแปลงของคุณ (!!!) SnowRep ฉัน downvoting คุณและฟื้นฟูแก้ไข NVRAM ซึ่งเป็นที่ถูกต้อง กรุณาอย่าใส่ข้อมูลที่ไม่ถูกต้องในเว็บไซต์!
Kyle Strand

23

ฉันต้องบีบอัดไดเรกทอรีโดยใช้ tar.gz ไม่เพียง แต่รักษาสิทธิ์ แต่เป็นเจ้าของ / กลุ่มด้วย

โดยค่าเริ่มต้นtarจะรักษาสิทธิ์ของไฟล์และความเป็นเจ้าของเมื่อสร้างไฟล์เก็บถาวร

ในการแยกสิทธิ์ไฟล์และการเป็นเจ้าของคุณจะต้องเรียกใช้tarในฐานะรูทเมื่อแตกไฟล์เนื่องจากการเปลี่ยนความเป็นเจ้าของไฟล์มักจะต้องใช้สิทธิ์ superuser ดูคำถามนี้สำหรับข้อมูลเพิ่มเติม


1
เมื่อคุณบอกว่ามันรักษาความเป็นเจ้าของไว้นั่นหมายความว่าทั้งผู้ใช้และกลุ่ม?
CMCDragonkai

1
ถูกต้อง. ทั้งเจ้าของและกลุ่มจะได้รับการบันทึกโดยค่าเริ่มต้น (อย่างน้อยใน GNU tar)
Vladimir Panteleev
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.