tar: ทำลายข้อความแสดงข้อผิดพลาด: 'tar: การลบนำหน้า `/' ออกจากชื่อสมาชิก '


16

ฉันเรียกใช้จาก cronjob:

tar -czvf /var/backups/svn.tgz /var/svn/*

ที่สร้างสิ่งนี้ใน stderr:

tar: Removing leading `/' from member names

ฉันต้องการหลีกเลี่ยงสิ่งนี้เพราะไม่ใช่ข้อผิดพลาดจริง (สำหรับฉัน!) ฉันต้องการ stderr เฉพาะสิ่งที่ฉันควรกังวลเกี่ยวกับ?

ฉันจะฆ่าข้อความนั้นได้อย่างไร

ฉันรู้สึกว่ามันเป็นเรื่องของการใช้ตัวเลือก tar-C แต่ฉันไม่แน่ใจและไม่รู้วิธี

ขอบคุณสำหรับความช่วยเหลือ
แดน


คำตอบ:


12

ตัวเลือกของคุณ:

-P, --absolute-names : don't strip leading `/'s from file names

หรือ

-C /

(และเส้นทางสัมพัทธ์สำหรับสิ่งต่าง ๆ ที่จะเข้าสู่ tar) ... ขึ้นอยู่กับสิ่งที่คุณต้องการ

ตัวอย่างการใช้งานของการสร้างไฟล์เก็บถาวร tar โดยใช้ตัวเลือก -C (ซึ่งเป็นการลบเครื่องหมายทับ):

tar -czf /tmp/archive.tgz -C /etc .

2
ฉันไม่ต้องการ -P ฉันต้องการ -C แต่ไม่สามารถทำงานได้
แดน

5
ฉันได้พบมันออก: tar -czvf /var/backups/svn.tgz -C / var / SVN /
แดน

การยืมคำเตือนเกี่ยวกับ -P จากเธรดอื่น: การเก็บถาวรด้วยตำแหน่งที่แน่นอนเป็นความเสี่ยงด้านความปลอดภัย ผู้โจมตีสามารถใช้ไฟล์เก็บถาวรดังกล่าวเพื่อหลอกลวงผู้ใช้ในการติดตั้งไฟล์ในตำแหน่งที่สำคัญของระบบ
gmode

การเก็บถาวรด้วยตำแหน่งที่แน่นอนเป็นความเสี่ยงด้านความปลอดภัย ผู้โจมตีสามารถใช้ไฟล์เก็บถาวรดังกล่าวเพื่อหลอกลวงผู้ใช้ในการติดตั้งไฟล์ในตำแหน่งที่สำคัญของระบบ
AB

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