क्या हम एक माउंटेड विंडोज़ शेयर पर यूनिक्स हार्डलिंक का उपयोग कर सकते हैं?


6

lnआदेश घुड़सवार विंडोज शेयर पर हार्ड लिंक बनाने के लिए, लेकिन कर सकते हैं cp -alविफल रहता है। क्या यह अपेक्षित व्यवहार है? मैं लिखने की शैली बैकअप का उपयोग करके एक प्रतिलिपि बनाकर डिस्क स्थान को बचाने की कोशिश कर रहा हूं cowdancer, rsyncऔर cp -al

backupuser@lan0:/mnt/backup/share$ mkdir a
backupuser@lan0:/mnt/backup/share$ touch a/b
backupuser@lan0:/mnt/backup/share$ cp -al a x
cp: cannot create hard link `x/b' to `a/b': No such file or directory
backupuser@lan0:/mnt/backup/share$ mkdir x
mkdir: cannot create directory `x': File exists
backupuser@lan0:/mnt/backup/share$ ln a/b x/b
backupuser@lan0:/mnt/backup/share$ ls -l x
total 0
-rwxr-xr-x 0 backupuser backupuser 0 Dec 23 17:33 b

अपडेट: lnवास्तव में एक कॉपी बना रहा है न कि एक वास्तविक लिंक


मुझे लगता है कि लिंक एक फाइल सिस्टम स्तर की बात है, और मुझे यकीन नहीं है कि smb इसे क्लाइंट के सामने लाएगा।
जर्नीमैन गीक

नरम (प्रतीकात्मक) लिंक एफएस में कोई विशेष प्रतिनिधित्व नहीं है और इसे अधिकांश (सभी?) फाइल सिस्टम पर दर्शाया जा सकता है, लेकिन हार्डलिंक को विशिष्ट एफएस-साइड समर्थन की आवश्यकता होती है।
एलक्विक्सोटिक

1
जब मैंने उबंटू पर एक सांबा सर्वर सेटअप किया और इसे डेबियन पर माउंट किया, तो मैं cp -al (यदि मुझे सही याद है) का उपयोग करने में सक्षम था।
पाइरेट प्रवीण

जवाबों:


4

क्या आप एसएएमबीए को सर्वर के रूप में चला रहे हैं? फिर "smb.conf" में "यूनिक्स एक्सटेंशन" देखें और उन्हें सक्षम करें।

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#UNIXEXTENSIONS

"यूनिक्स एक्सटेंशन" सक्षम होने के साथ, एसएएमबीए हार्ड लिंक, फाइल और निर्देशिका के लिए यूनिक्स स्वामित्व जानकारी और मोड का समर्थन करता है (उर्फ अनुमति)।

हालाँकि, यह सेटिंग एक वैश्विक सेटिंग है। इसलिए यूनिक्स एक्सटेंशन को सक्षम करना सभी शेयरों को प्रभावित करता है (जो आप चाहते हैं या नहीं हो सकता है)।


मैं ग्रीन चेक मार्क के साथ आपके उत्तर को स्वीकार क्यों नहीं कर सकता?
buhtz

0

मैंने हाल ही में विंडोज 10 प्रो का उपयोग सर्वर के रूप में किया है। मेरा लिनक्स सिस्टम CentOS 7 चला रहा है, जो आज के समय में सांबा 4.4.4 के रूप में है। हार्डलिंक स्थानीय फाइल सिस्टम की तरह ही अच्छा काम करता है।

टेस्ट:

/mnt/f/tmp# mkdir a
/mnt/f/tmp# touch a/b
/mnt/f/tmp# cp -al a x
/mnt/f/tmp# stat a/b
  File: ‘a/b’
  Size: 0           Blocks: 0          IO Block: 16384  regular empty file
Device: 28h/40d Inode: 1688849861497214  Links: 2
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/   yanli)   Gid: ( 1000/   yanli)
Context: system_u:object_r:cifs_t:s0
Access: 2017-05-17 14:31:43.564755100 -0700
Modify: 2017-05-17 14:31:43.564755100 -0700
Change: 2017-05-17 14:31:46.571727600 -0700
 Birth: -
/mnt/f/tmp# stat x/b
  File: ‘x/b’
  Size: 0           Blocks: 0          IO Block: 16384  regular empty file
Device: 28h/40d Inode: 1688849861497214  Links: 2
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/   yanli)   Gid: ( 1000/   yanli)
Context: system_u:object_r:cifs_t:s0
Access: 2017-05-17 14:31:43.564755100 -0700
Modify: 2017-05-17 14:31:43.564755100 -0700
Change: 2017-05-17 14:31:46.571727600 -0700
 Birth: -
/mnt/f/tmp# echo something >a/b
/mnt/f/tmp# cat x/b
something
/mnt/f/tmp# mount | grep /mnt/f
//192.168.1.7/f on /mnt/f type cifs (rw,nosuid,nodev,noexec,relatime,vers=1.0,cache=strict,username=redacted,domain=REDACTED,uid=1000,forceuid,gid=1000,forcegid,addr=192.168.1.7,file_mode=0755,dir_mode=0755,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1,user)

जैसा कि आप देख सकते हैं, फ़ाइल a/bऔर x/bएक ही इनोड संख्या है, यह दर्शाता है कि वे एक ही इनोड के हार्डलिंक हैं। एक फ़ाइल की सामग्री को बदलने से दूसरी फ़ाइल भी प्रभावित होती है।

ln सही ढंग से भी काम करता है।

CIFS को माउंट करने के लिए किसी विशेष विकल्प का उपयोग नहीं किया गया था; हर विकल्प डिफ़ॉल्ट था। मैंने विंडोज पर भी कुछ खास नहीं किया। यह विंडोज 10 प्रो की एक डिफ़ॉल्ट स्थापना और एक सादा साझा फ़ोल्डर है।

मुझे अभी तक पता नहीं है कि यह सुविधा CIFS / सांबा क्लाइंट / विंडोज में कब जोड़ी गई थी। ओपी ने केवल "विंडोज शेयर" कहा, इसलिए यह स्पष्ट नहीं है कि विंडोज / सांबा का कौन सा संस्करण चल रहा था। मुझे उम्मीद है कि मेरा जवाब उन लोगों की मदद कर सकता है जिन्हें विंडोज सर्वर द्वारा समर्थित CIFS माउंटेड शेयर पर हार्डलिंक बनाने में परेशानी होती है; आप विंडोज 10 प्रो और कम से कम सांबा 4.4.4 में अपग्रेड करके समस्या का समाधान कर सकते हैं (सेंटोस को सबसे चमकदार और नवीनतम कोड शिपिंग के लिए नहीं जाना जाता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.