rsync“ ไม่อนุญาตให้ใช้งาน”


9

ฉันพยายามที่จะ rsync ง่ายๆกับฮาร์ดดิสก์ USB คำสั่งคือ

rsync -az --modify-window=2 /home /mnt/exthd/tmp/

ฉันกำลังเรียกใช้สิ่งนี้ในฐานะที่เป็นราก

แต่ฉันได้รับข้อผิดพลาดมากมายที่ดูเหมือนว่าเกี่ยวข้องกับการอนุญาตไม่เพียงพอ:

rsync: chown "/mnt/exthd/tmp/home/someuser" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/someuser/.bashrc" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_logout" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bash_profile" failed: Operation not permitted (1)
rsync: chown "/mnt/exthd/tmp/home/guest/.bashrc" failed: Operation not permitted (1)
rsync: symlink "/mnt/exthd/tmp/home/guest/fred2" -> "fred" failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1042) [sender=3.0.7]

นี่คือรุ่น 3.0.7 ฉันได้ลองใช้ตัวเลือก --super เพื่อไม่มีผลกระทบ ความคิดใด ๆ


ระบบไฟล์บนดิสก์ USB คืออะไร
Caleb

ดิสก์ภายนอกจัดรูปแบบเป็น FAT (32) หรือไม่ ไม่สามารถใช้งานได้เนื่องจาก FAT ไม่ทราบแอตทริบิวต์ความเป็นเจ้าของไฟล์
สเวน

@Caleb ฉันเดาว่าเป็น FAT แต่ฉันจะบอกได้อย่างไร
Tim the Enchanter

วิ่งmount | grep /mnt/exthdควรบอกคุณ
คาเลบ

@Caleb ได้รับการกล่าวว่า vfat
Tim the Enchanter

คำตอบ:


14

ระบบไฟล์ FAT (ซึ่ง mount ของ Linux เรียก vfat) ไม่สามารถจัดเก็บข้อมูลการอนุญาตและความเป็นเจ้าของบางส่วนที่เก็บไว้เกี่ยวกับไฟล์ของคุณทางด้าน Linux

ตัวเลือกของคุณดูเหมือนจะเป็น:

  • ฟอร์แมตดิสก์ด้วย ext3 / 4 หรือระบบไฟล์อื่นที่รองรับคุณสมบัติเหล่านี้ ฉันคิดว่าแม้ NTFS จะทำงานถ้าคุณแบ่งปันกับ Windows
  • เก็บคุณสมบัติพิเศษเหล่านั้นโดยใช้--fake-superตัวเลือกเพื่อ rsync เขียน xattrs ในไฟล์แทนการใช้คุณลักษณะระบบไฟล์
  • ละเว้นข้อผิดพลาดคุณสมบัติเหล่านั้นจะหายไป
  • ห่อชุดข้อมูลของคุณในไฟล์ tar และวางไฟล์ tar บนระบบ FAT คุณลักษณะทั้งหมดจะยังคงอยู่และจะปรากฏขึ้นหากคุณแยกออกมา

- fake-super ไม่ทำงานเช่นกันแม้ว่าข้อผิดพลาดการเปลี่ยนแปลงจาก Operation ไม่ได้รับอนุญาต (1) เป็น Operation ที่ไม่รองรับ (95)
Tim the Enchanter

ฮึ่ม คุณสามารถใช้--no-ownerเพื่อไม่พยายามตั้งค่าให้เจ้าของจับคู่ (FAT ไม่มีคุณสมบัติของเจ้าของ) และเป็นไปได้--no-permsเช่นกัน
Caleb

ขอบคุณสำหรับความช่วยเหลือของคุณดีจริงๆยังคงใช้งานไม่ได้แม้ว่าข้อผิดพลาดจะเปลี่ยนไปอีกครั้งบรรทัดข้อผิดพลาดแต่ละรายการจะมีrsync: failed to write xattr user.rsync.%statจุดเริ่มต้น
Tim the Enchanter

3

Rsync กำลังพยายามดำเนินการ (chown และ symlink) ที่ระบบไฟล์ไม่อนุญาตหรือไม่สามารถดำเนินการได้ ฉันเดาว่า HD ภายนอกของคุณมีระบบไฟล์ FAT

หากคุณต้องการสำรองข้อมูลที่เหมาะสมคุณอาจต้องการใช้ tar


1
หรือระบบไฟล์ที่ดี
womble

FAT เป็นเหมือนที่เก็บไฟล์มากกว่าระบบไฟล์ :-)
Janne Pikkarainen

ส่วนตัว - ฉันเกลียด rsync ฉันเห็นข้อผิดพลาดประเภทต่าง ๆ มากเกินไปเมื่อใช้มันเพื่อคัดลอกไฟล์และไดเรกทอรีจาก MAC ของฉันไปยังเครือข่ายที่ใช้ร่วมกันบนเราเตอร์ของฉันที่ใช้ระบบไฟล์ NFS ฉันต้องฟอร์แมตไดรฟ์หลายครั้งเพราะ rsync สร้างไฟล์ที่ถูกล็อคและไม่สามารถลบได้ เหตุผลที่ฉันพยายามใช้ rsync vs cp ก็คือมันรองรับตัวกรองที่ไม่รวมและมันควรจะเร็วกว่า ในท้ายที่สุดฉันได้เขียนคลาส Java อย่างง่าย ๆ สองอย่างคือ Copy.java และ CopyJob.java ซึ่งเป็น Runnable เพื่อรองรับการทำเกลียวหลายเธรดและเพิ่มการรองรับตัวกรอง ... :)
jrobertsz66
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.