rsync "ऑपरेशन की अनुमति नहीं है"


9

मैं USB हार्ड डिस्क के लिए एक सरल rsync करने की कोशिश कर रहा हूं, कमांड है

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 डिस्क पर फ़ाइल सिस्टम क्या है?
कालेब

क्या बाहरी डिस्क को FAT (32) के रूप में स्वरूपित किया गया है? यह काम नहीं करेगा क्योंकि FAT फ़ाइल स्वामित्व विशेषताओं को नहीं जानता है।
स्वेन

@ कालेब मुझे लगता है कि यह एफएटी है, हालांकि मैं कैसे बताऊं?
टिम

दौड़कर mount | grep /mnt/exthdतुम्हें बताना चाहिए।
कालेब

@ कालेब कहते हैं vfat
टिम द

जवाबों:


14

एफएटी फाइल सिस्टम (जो लिनक्स का माउंट कॉल vfat है) कुछ अनुमति और स्वामित्व डेटा को संग्रहीत करने में सक्षम नहीं है जो लिनक्स पर आपकी फ़ाइलों के बारे में संग्रहीत है।

आपके विकल्प प्रतीत होते हैं:

  • एक्सट्रीम 3/4 या किसी अन्य फाइल सिस्टम के साथ डिस्क को फॉर्मेट करें जो इन विशेषताओं का समर्थन करता है। मुझे लगता है कि अगर आप विंडोज के साथ साझा कर रहे हैं तो भी NTFS काम करेगा।
  • --fake-superविकल्प का उपयोग करके उन अतिरिक्त गुणों को संग्रहीत करें ताकि rsync फ़ाइल सिस्टम विशेषताओं का उपयोग करने के बजाय फ़ाइल में xattrs लिखता है
  • त्रुटि को अनदेखा करें, वे गुण बस खो जाएंगे।
  • अपने डेटा को एक टार फ़ाइल में सेट लपेटें और FAT सिस्टम पर टार फ़ाइल डाल दिया। यदि आप कभी भी इसे निकालते हैं तो सभी विशेषताएँ बनी रहती हैं और मौजूद रहेंगी।

--फेक-सुपर या तो काम नहीं करता है, हालांकि ऑपरेशन से त्रुटि में परिवर्तन की अनुमति नहीं है (1) से ऑपरेशन समर्थित नहीं है (95)
टिम द

हम्म। आप --no-ownerस्वामी को मिलान करने के लिए सेट करने का प्रयास नहीं करने के लिए उपयोग कर सकते हैं । (FAT के पास कोई संपत्ति नहीं है) और --no-permsसाथ ही संभव है ।
कालेब

आपकी मदद के लिए धन्यवाद, वास्तव में अच्छा है, फिर भी काम नहीं करता है हालांकि त्रुटि फिर से बदल गई है, प्रत्येक त्रुटि रेखा अब rsync: failed to write xattr user.rsync.%statशुरुआत में है।
टिम

3

रुपीस एक ऑपरेशन (चाउन और सिमलिंक) की कोशिश कर रहा है जो फाइल सिस्टम अनुमति नहीं देता है, या प्रदर्शन नहीं कर सकता है। मुझे लगता है कि आपके बाहरी HD एक FAT फाइल सिस्टम है।

यदि आप एक उचित बैकअप बनाना चाहते हैं, तो आप टार का उपयोग करना चाह सकते हैं।


1
या एक सभ्य फाइल सिस्टम।
Womble

एफएटी एक फाइल रिपॉजिटरी की तरह है, फाइलसिस्टम नहीं। :-)
जने पिक्कारेनन

व्यक्तिगत रूप से - मुझे rsync से नफरत है। मैंने विभिन्न प्रकार की बहुत सी त्रुटियों को देखा है, जब इसका उपयोग मेरे मैक से फ़ाइलों और निर्देशिकाओं को कॉपी करने के लिए मेरे राउटर पर एक नेटवर्क शेयर के लिए किया गया है जो एनएफएसपी सिस्टम का उपयोग करता है। मुझे कई बार ड्राइव करना पड़ा है क्योंकि rsync ने ऐसी फाइलें बनाई हैं जो लॉक थीं और जिन्हें डिलीट नहीं किया जा सका। मैं rsync बनाम cp का उपयोग करने की कोशिश करता रहा, क्योंकि यह बहिष्कृत फिल्टर का समर्थन करता है और इसे तेज़ माना जाता है। अंत में, मैंने बहुत ही सरल जावा कक्षाओं के एक जोड़े को लिखा - Copy.java और CopyJob.java जो कि फिल्टर के लिए मल्टी-थ्रेडिंग और अतिरिक्त समर्थन को
चलाने के लिए एक Runnable है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.