एक मशीन से दूसरी मशीन में सिमलिंक के रूप में सिम्फिंक की नकल कैसे करें?


13

मान लेते हैं कि मेरे पास दो समान प्रणाली हैं। पहली प्रणाली पर मैंने एक प्रतीकात्मक लिंक बनाया है। दूसरे पर मैं उस सिम्पीनल को sftp के माध्यम से कॉपी करना चाहता हूं और सिम्लिंक एक ही काम करेगा (यानी अगर सिमलिंक लिंक करता है /etc/, तो इसे कॉपी करने के बाद, केवल सिम्लिंक कॉपी किया जाएगा और केवल सिम्लिंक (लिंक की गई फाइलें नहीं))

मैं यह कैसे कर सकता हूं / यदि मैं यह कर सकता हूं तो कोई विचार? मैं केवल प्रतीकात्मक लिंक को कॉपी करना चाहता हूं , और कुछ नहीं; सिर्फ संदर्भ।


यह वैसे ही काम नहीं करता है जैसा कि आप पहले से ही वर्णन करते हैं?
सुबह

1
sftpआप ऐसा नहीं होने देंगे। rsyncकर सकते हैं, ssh cp ...
रोआमा

जिस चीज को मैं हासिल करने की कोशिश कर रहा हूं, वह प्रतीकात्मक नक्शे पर नकल कर रही है ... मुझे फाइलें नहीं चाहिएं .. मैं बस कोड चाहता हूं जो FOLDER> ETC कहता है ... मैं बस सर्वर से एक सिमलिंक बनाना चाहता हूं और आगे बढ़ना चाहता हूं सर्वर पर इसकी जरूरत है ... im एक संलग्न फाइल से बाहर हैक करने की कोशिश कर रहा है
TheHidden

1
@roaima ssh cp? scp में? कैसे?
technical_difficulty

जवाबों:


12

यदि आप सीमलिंक को टारगेट करते हैं, तो आप किसी भी तरह से तारकोल को रिमोट मशीन पर कॉपी कर सकते हैं। जब आप इसे अनटार्ट करते हैं, तो आप पाएंगे कि आपने केवल प्रतीकात्मक लिंक की नकल की है और कुछ नहीं। उदाहरण के लिए:

इसका परीक्षण करने के लिए, पहले मैंने एक पाठ फ़ाइल बनाई।

echo this is a test > file.txt

फिर फ़ाइल में एक सिमलिंक बनाएं और इसे टार गज़िप में संपीड़ित करें।

ln -s file.txt link.lnk
tar czvf tarball.tar.gz link.lnk

इस फ़ाइल को अपनी दूसरी मशीन पर स्थानांतरित करें और फिर इसे अनलॉक्ड करें:

tar xzvf tarball.tar.gz

आप पाएंगे कि सिमलिंक वहाँ है, लेकिन उस मूल फ़ाइल को नहीं जिसे उसने इंगित किया था।

बेशक, यदि आप अपने रिश्ते को बचाते हुए मूल फ़ाइल और सिम्लिंक दोनों को स्थानांतरित करना चाहते हैं, तो आप उन्हें तारकोल में डाल सकते हैं और वे दोनों स्थानांतरित हो जाएंगे, और जब आप अनकम्प्रेस करते हैं, तो सिम्लिंक को मूल फ़ाइल में ठीक से इंगित किया जाना चाहिए गंतव्य स्थान में टारबॉल।


यह बल्कि दिलचस्प है, लेकिन दुख की बात है कि मुझे नहीं लगता कि यह मेरी मदद करेगा, मुझे गुलाम पर कोई नियंत्रण नहीं है इन सभी SFTP को एपीआई के माध्यम से फ़ोल्डर्स को बंद कर दिया जाता है, लेकिन मैं सिम्बलिंक का उपयोग करके बॉक्स को हैक करने की कोशिश कर रहा हूं क्योंकि थोड़ा सा है एक आपातकालीन और मुझे उस मास्टर से एक्सेस प्राप्त करने की आवश्यकता है जो चयनित अपडेट्स को धक्का देता है, सुरक्षा कारणों से जो फाइलें मैं नहीं भेजती हूं उन्हें निष्पादित करें, लेकिन अगर मैं सिम्लिंक कर सकता हूं तो मैं कोड को पहले से मौजूद प्रक्रिया (सैद्धांतिक रूप से) में सिम्पीनल के माध्यम से फाइल को बदलकर इंजेक्ट कर सकता हूं। ... लेकिन यह करने के लिए मैं एक% सिमलिंक 100 से अधिक कच्चे :( कॉपी करना
TheHidden

@ user1779617 यह अभी भी स्पष्ट नहीं है कि आप "दास" और "मास्टर" के साथ क्या मतलब रखते हैं, क्योंकि आप सर्वर और क्लाइंट दोनों के लिए दोनों शब्दों का उपयोग करते हैं। यदि आपको सर्वर पर एक सिमलिंक बनाने की आवश्यकता है , तो आप ऐसा कर सकते हैं कि एसएफटीपी के साथ, हालांकि कॉन्फ़िगरेशन के आधार पर, आप एसएफटीपी-डेमन के चिरोटेड दायरे से बाहर देखने में सक्षम नहीं हो सकते हैं। कृपया sftp( linux.die.net/man/1/sftp ) के मैन पेज को देखें ! वहाँ symlinkविशेष रूप से आप क्या जरूरत के लिए आदेश है।
पोल्मन ने

5

यह थोड़ा स्पष्ट नहीं है कि आप सिम्लिंक से कैसे निपटना चाहते हैं। जैसा कि मैं इसे समझता हूं, आप अन्य सिस्टम पर सिम्लिंक को फिर से बनाना चाहते हैं। Symlinks फाइल सिस्टम पर निर्भर हैं, फ़ाइलों की प्रतिलिपि बनाने के लिए उपयोग किए जाने वाले प्रोटोकॉल के बारे में पता होना चाहिए। एक अच्छा उदाहरण विकल्प के rsyncसाथ उपयोग कर रहा -aहै।

अधिक विशेष रूप से, -lविकल्प, लेकिन -aशायद वही है जो आप चाहते हैं।

यह टारगेट को खींचे बिना (लिंक को डिरेल करते हुए) सिमिलिंक को फिर से बनाएगा।


मुझे hm दिखाई देता है, इसलिए फ़ाइल की तरह इसे कॉपी करने और लिंक को बनाए रखने का कोई तरीका नहीं होगा? मेरे पास केवल फ़ाइलों को सीधे स्थानांतरित करने की क्षमता है, जो मैं समान सिस्टम पर सिमलिंक का निर्माण करने की उम्मीद कर रहा था और इसे कॉपी कर रहा हूं या क्या मैं बस उम्मीद कर रहा हूं?
दिहाड़ी

@ user1779617 सबसे पहले: जब आप "चाल" कहते हैं, तो क्या वास्तव में आपका मतलब "चाल" या "नकल" है? क्योंकि "चाल" से तात्पर्य मूल फ़ाइल को हटाने से है (यही कारण है कि मैंने आपके प्रश्न को संपादित किया है)। दूसरी बात: क्या आप एक विशिष्ट फ़ाइल स्थानांतरण प्रोटोकॉल (केवल एफ़टीपी की तरह) तक सीमित हैं? यदि हां, तो हमें इसके दायरे में चर्चा करनी चाहिए, और जिन फाइल सिस्टमों के बारे में हम बात कर रहे हैं।
पोल्मन ने

एसएफटीपी केवल, उस मशीन से डाउनलोड करें जिसे सिम्लिंक की जरूरत है, इसलिए मेरा मतलब है कि मास्टर से दास एसएफटीपी में ही कॉपी करें और एसएफटीपी कनेक्शन केवल गुलाम से है।
TheHidden

@ user1779617 मैं आपको "क्लाइंट" (दास) और "सर्वर" (मास्टर) मान रहा हूं। स्विच के sftpसाथ उपनिर्देशिका को पार कर जाएगा -r, लेकिन फाइल सिस्टम को सार के रूप में, सिम्लिंक्स का पालन नहीं करता है। sftpमेजबान पर सहानुभूति बनाने का समर्थन करता है। आपको कम से कम डाउनलोड करने का प्रयास करना चाहिए सिर्फ सिमलिंक (जब सिमलिंक है ~/etc-> /etc/कर get etcअनुगामी बिना /) और देखो क्या होता। यह सर्वर और क्लाइंट के FS पर निर्भर करता है। तदनुसार अपने मूल प्रश्न को संपादित करें!
पोलीमोन 12

3

एक बहुत ही आसान उपाय (होम डायरेक्टरी के लिए):

tar -c SYMLINKFILE | ssh machine 'tar -x'

या

tar -c SYMLINKFILE | ssh machine 'tar -xC /some/other/location  '

जैसे

tar -c .bashrc | ssh another_machine 'tar -x'

एक अन्य (जैसे नेटवर्क) गंतव्य पर रखने के लिए एक सहिष्णु .bashrc प्रदान करने के लिए।


3

मुझे पता है @polemon ने पहले ही इसका जवाब दे दिया है।

लेकिन त्वरित समाधान के लिए मेरे बालक थोड़ा कर।

मुझे यह जानने के लिए मैन rsync करना पड़ा कि मैं किस स्विच का उपयोग करना चाहता हूं ...

rsync -avz -e ssh /file or sym link/to/copy/ user@ip:/dest/path/

हालांकि, आपके मामले में आपको यह सुनिश्चित करने की आवश्यकता है कि लिंक टूटे नहीं हैं!


0

अन्य उत्तर पहले से ही समझाते हैं कि एक प्रतीकात्मक लिंक को किसी अन्य मशीन में कैसे स्थानांतरित किया जाए। हालाँकि, आप सिम्लिंक को कैसे स्थानांतरित करते हैं, इस पर ध्यान दिए बिना, आप /etc/एफ़टीपी, एसएफटीपी, एससीपी, एसएसएच या किसी अन्य तरीके से फ़ाइल तक पहुँचने के लिए इस सिम्लिंक का उपयोग नहीं कर पाएंगे । इन सेवाओं को किसी दिए गए निर्देशिका में शामिल किया जाता है या अन्यथा उन फ़ाइलों तक पहुंच प्रदान करने से रोका जाता है जिन्हें स्पष्ट रूप से साझा नहीं किया गया था। बेशक, पुराने सिस्टम पर हमेशा इसके आस-पास हैक करने के तरीके होते हैं, लेकिन इस तरह की कमजोरियों का पता चलते ही इन्हें अपग्रेड और अपग्रेड किया जाता है। मुझे क्षमा करें, मुझे नहीं लगता कि आप जो करना चाहते हैं वह संभव होने जा रहा है।


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