การเก็บถาวร tar จะไม่แยกออก -“ เส้นทางประกอบด้วย '.. '”


8

2014-12-12 04-00-01.tarชื่อของไฟล์ ฉันรันคำสั่ง:

tar xvf 2014-12-12\ 04-00-01.tar

ผลลัพธ์เป็นหลายบรรทัดของแบบฟอร์ม:

x ../server/: Path contains '..'

แล้วแบบฟอร์มบางส่วน:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

ดูเหมือนว่าฉันจะไม่ระมัดระวังเมื่อเขียนสคริปต์สำรอง ฉันจะแตกไฟล์ได้อย่างไร

คำตอบ:


11

คุณจะต้องเพิ่มการตั้งค่าสถานะP(หรือ-P) ลงในบรรทัดคำสั่งของคุณ จาก manpage:

-P รักษาชื่อพา ธ โดยค่าเริ่มต้นชื่อพา ธ สัมบูรณ์ (ที่ขึ้นต้นด้วย / ตัวละครจะนำเครื่องหมายทับออกทั้งสองเมื่อสร้างคลังเก็บและแยกออกจากกันนอกจากนี้tar จะปฏิเสธที่จะแยกรายการเก็บถาวรที่มีชื่อพา ธ ประกอบด้วย ..หรือไดเรกทอรีเป้าหมายจะถูกเปลี่ยนแปลง symlink ตัวเลือกนี้จะหยุดพฤติกรรมเหล่านี้

ลองtar Pxvf 2014-12-12\ 04-00-01.tarดู โปรดทราบว่าคุณจะต้องเข้าถึงการเขียนไปยังไดเรกทอรีหลักของไดเรกทอรีการทำงานที่คุณเรียกใช้คำสั่ง


นั่นเป็นเคล็ดลับ!
Thom Smith

0

คุณสามารถลอง:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
Thom Smith

แปลก. ลองtar xvf 2014-12-12\ 04-00-01.tar -C --dirแทน
LDC3

เส้นประสองเท่าคืออะไร
Xen2050

มันอยู่ในไฟล์ man ฉันคิดว่ามันบ่งบอกว่าตัวอักษรที่ตามมาเป็นส่วนหนึ่งของคำสั่งตั้งแต่คุณมีtar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.