Score:0

วิธีคัดลอกโฟลเดอร์แบบอ่านอย่างเดียวโดยใช้ rsync

ธง in

ฉันพยายามคัดลอกโฟลเดอร์โดยใช้ rsync

rsync -avP "$src_path" "$target_path"

โดยที่ src_path เป็นไดเร็กทอรีแบบอ่านอย่างเดียว AFAIK ในการคัดลอก ซอร์สไม่จำเป็นต้องแก้ไขได้ ในขณะที่เป้าหมายเท่านั้นที่ต้องเขียนได้ (...ดู๊!)

แต่ rsync ให้ข้อผิดพลาดนี้แก่ฉัน

rsync: recv_generator: mkdir $target_path/sub_dir ล้มเหลว: ระบบไฟล์แบบอ่านอย่างเดียว (30)
*** การข้ามเนื้อหาใด ๆ จากไดเร็กทอรีที่ล้มเหลวนี้ ***

ถ้าฉันคัดลอกโดยใช้ รีซิงค์ จาก เขียนได้ แหล่งที่มา ฉันไม่ได้รับข้อผิดพลาดนี้ ถ้าฉันคัดลอกโดยใช้ ซีพี จาก อ่านเท่านั้น แหล่งที่มา ฉันไม่ได้รับข้อผิดพลาดนี้

TLDR; ฉันต้องการใช้ rsync เพื่อคัดลอก อ่านเท่านั้น แหล่งที่มา.

แก้ไข: อย่าขอให้ฉันเข้าถึงการเขียนไปยังโฟลเดอร์ต้นทางซึ่งเป็นไปไม่ได้ (เช่นฉันไม่ได้เป็นเจ้าของ) นอกจากนั้นไม่อยู่ในขอบเขตของคำถามนี้

แก้ไข (2): หากต้องการทำซ้ำ

  1. ไปที่โฟลเดอร์ไดรฟ์นี้ ลิงค์
  2. เพิ่มทางลัดไปยังไดรฟ์ของคุณ
  3. ตอนนี้ถึง Google Colab และลองคัดลอกโฟลเดอร์โดยใช้ rsync
  4. คุณจะล้มเหลวโดยใช้ rsync ลองคัดลอกโดยใช้ cp แล้วคุณจะประสบความสำเร็จ

อัปเดต: หาก src_path เป็นแบบอ่านอย่างเดียว ไฟล์, rsync ใช้งานได้ แต่ถ้าเป็น โฟลเดอร์ มันไม่ทำงาน (cp และ tar ทำงานในทุกเงื่อนไข)

ป.ล.ฉันไม่ต้องการใช้ cp ฉันต้องการใช้ rsync (ดังนั้นโปรดอย่าแนะนำให้ฉันใช้สิ่งที่มีประสิทธิภาพน้อยกว่า rsync)

sudodus avatar
jp flag
คุณลองด้วยการอนุญาตขั้นสูง `sudo rsync ...` หรือไม่
Cyber Avater avatar
in flag
ไม่เป็นไร ฉันไม่มีสิทธิ์เขียนสำหรับแหล่งที่มาเพราะฉันไม่ได้เป็นเจ้าของไฟล์ แต่เป็นโฟลเดอร์ Google ไดรฟ์ที่ฉันมีสิทธิ์ดูเท่านั้น
sudodus avatar
jp flag
แทนที่จะเขียนไฟล์ คุณสามารถลองสร้าง tarball ได้ คุณอาจต้องได้รับการอนุญาตขั้นสูง (คำนำหน้าด้วย `sudo`) เพื่อรักษาความเป็นเจ้าของและการอนุญาต `tar -cvzf file.tar.gz "$src_path"` ; อ่านเพิ่มเติมเกี่ยวกับ tar ใน `man tar` หรือค้นหาบทช่วยสอนทางอินเทอร์เน็ต
Cyber Avater avatar
in flag
cp (cp -r -L) -> ใช้งานได้ tar (tar -cvzf file.tar.gz "$src_path") -> ใช้งานได้ rsync (rsync -avP "$src_path" "$target_path") -> ไม่ทำงาน (จะใช้ได้ก็ต่อเมื่อฉันมีสิทธิ์เขียนสำหรับ src_path) ฉันต้องการ rsync (ฉันระบุไว้แล้วว่าฉันสามารถคัดลอกโดยใช้ cp (ตอนนี้ยัง tar, ทดสอบแล้ว)) แต่ต้องการ rsync
sudodus avatar
jp flag
อีกทางเลือกหนึ่งคือการปิดตัวเลือกการเก็บถาวร `-a` และให้ rsync เขียนด้วยความเป็นเจ้าของ/สิทธิ์เริ่มต้นของไดเร็กทอรีเป้าหมาย (เช่น แทนที่ `-a` ด้วย `-r`) อ้อ มันคือระบบไฟล์อะไร (ซึ่งไดเร็กทอรีเป้าหมายของคุณตั้งอยู่) ระบบไฟล์ linux (เช่น `ext4`) หรืออาจเป็นระบบไฟล์ Windows หรือ MacOS
Cyber Avater avatar
in flag
rsync -rl "$src_path" "$target_path" ก็ใช้งานไม่ได้เช่นกัน ระบบไฟล์ linux (จาก google colab)
sudodus avatar
jp flag
ให้เรา [ดำเนินการสนทนาต่อในการแชท](https://chat.stackexchange.com/rooms/130076/discussion-between-sudodus-and-cyber-avater)
vanadium avatar
cn flag
สิ่งสำคัญที่นี่คือการให้ข้อมูลเฉพาะเกี่ยวกับลักษณะของระบบไฟล์ต้นทางและเป้าหมายของคุณ และเวอร์ชันของ rsync ฉันไม่สามารถสร้างปัญหานี้ซ้ำด้วยโปรโตคอล rsync เวอร์ชัน 3.2.3 เวอร์ชัน 31 บน Ubuntu 21.04 ที่คัดลอกจากและไปยังพาร์ติชัน ext4
Cyber Avater avatar
in flag
ฉันได้เพิ่มขั้นตอนการสืบพันธุ์
Will avatar
id flag
ฉันอาจเข้าใจผิดไปทั้งหมด แต่ข้อความแสดงข้อผิดพลาดบอกฉันว่า rsync ล้มเหลวเนื่องจากไม่สามารถสร้างไดเร็กทอรีในเป้าหมายได้ เนื่องจากเป็นแบบอ่านอย่างเดียว ฉันแน่ใจว่าคุณพูดถูก - rsync กับตัวเลือกเหล่านั้นไม่ควรต้องการแหล่งที่มาเพื่ออ่าน/เขียน นี่อาจเป็นพื้นฐานเกินไป แต่คุณได้ตรวจสอบแล้วว่าเส้นทางสัมบูรณ์ไปยังเป้าหมายนั้นถูกต้องหรือไม่ นั่นคือคุณไม่ได้ใช้เส้นทางสัมพัทธ์ ดังนั้นจึงพยายามสร้างไดเร็กทอรีในไดเร็กทอรีต้นทาง (อ่านอย่างเดียว)
Cyber Avater avatar
in flag
ฉันใช้เส้นทางสัมบูรณ์ คุณสามารถทำตามขั้นตอนการสืบพันธุ์และตรวจสอบได้หากต้องการ
Score:0
ธง in

ปรากฎว่าเวอร์ชันที่จัดทำโดย google collab คือ 3.1.2 (ซึ่งเป็นบั๊กกี้) ในขณะที่เวอร์ชันล่าสุดคือ 3.2.3 (ซึ่งแก้ไขปัญหาแล้ว)

ป.ล. !apt อัปเดต && อัปเกรด apt -y ไม่อัปเกรด rsync เป็น 3.2.3 ฉันต้องดาวน์โหลดและติดตั้งด้วยตนเองจาก ที่นี่ (ใช่ ฉันต้องดาวน์โหลดและอัปเดตการอ้างอิงด้วยตนเองด้วย)

ขอบคุณทุกคนที่พยายามช่วยฉัน (โดยเฉพาะ @vanadium).

โพสต์คำตอบ

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