কীভাবে একটি মেশিন থেকে অন্য মেশিনে সিমলিংকগুলি প্রতিলিপি হিসাবে অনুলিপি করবেন?


13

ধরা যাক আমার দুটি অভিন্ন সিস্টেম রয়েছে। প্রথম সিস্টেমে আমি একটি প্রতীকী লিঙ্ক তৈরি করেছি। দ্বিতীয়টিতে আমি এই সিমিলিঙ্কটি এসএফটিপি-র মাধ্যমে অনুলিপি করতে চাই এবং সিমিলিঙ্কটি একই কাজ করবে (উদাহরণস্বরূপ, যদি সিমিলেঙ্ক লিঙ্ক করে /etc/, এটি অনুলিপি করার পরে, কেবলমাত্র সিমলিংক অনুলিপি করা হবে এবং কেবলমাত্র সিমলিংক (লিঙ্কযুক্ত ফাইল নয়))

আমি কীভাবে এটি করতে পারি / যদি আমি এটি করতে পারি তবে কোনও ধারণা? আমি কেবল প্রতীকী লিঙ্কটি অনুলিপি করতে চাই, অন্য কিছুই নয়; শুধু রেফারেন্স।


আপনি ইতিমধ্যে বর্ণনা হিসাবে এটি কাজ করে না?
মাইকজার্ভ

1
sftpআপনাকে এটা করতে দেবে না rsyncপারেন, পারছেনssh cp ...
রোয়াইমা

আমি যে জিনিসটি অর্জন করতে চাইছি তা প্রতীকী মানচিত্রে অনুলিপি করা হচ্ছে ... আমি ফাইলগুলি চাই না ... আমি কেবল কোড বিট চাই যা ফোল্ডার> ইটিসি বলে ... আমি কেবল সার্ভারটি থেকে একটি সিমলিংক তৈরি করতে এবং সরানো চাই এটি সার্ভারের জন্য এটির জন্য প্রয়োজনীয় ... আমি একটি বদ্ধ ফাইল হ্যাক করার চেষ্টা করছি
দ্য হিডেন

1
@roaima ssh সিপি? যেমন scp হিসাবে? কীভাবে?
প্রযুক্তি_পরিচয়টি

উত্তর:


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

আপনি দেখতে পাবেন যে সিমলিংকটি রয়েছে, তবে এটি যে ফাইলটি দেখিয়েছে তা মূল ফাইল নয়।

অবশ্যই, যদি আপনি তাদের সম্পর্ক সংরক্ষণের সময় মূল ফাইল এবং সিমলিংক উভয়ই স্থানান্তর করতে চান, তবে আপনি তাদের উভয়কে টারবলে রেখে দিতে পারেন এবং সেগুলি উভয়ই স্থানান্তরিত হতে পারে, এবং যখন আপনি সঙ্কোচন করেন তখন সিমলিংকটি মূল ফাইলটির দিকে সঠিকভাবে নির্দেশিত হওয়া উচিত গন্তব্য অবস্থানের tarball।


এটি বরং আকর্ষণীয় তবে দুঃখের সাথে আমি মনে করি না যে এটি আমাকে সাহায্য করবে, এই সমস্ত এসএফটিপিগুলি ফোল্ডারগুলিকে লক ডাউন করার জন্য এপিআইয়ের মাধ্যমে করা হয় তবে আমি সিমলিংক ব্যবহার করে বাক্সটি হ্যাক করার চেষ্টা করছি কারণ কিছুটা আছে একটি জরুরি অবস্থা এবং আমাকে মাস্টারের কাছ থেকে অ্যাক্সেস নেওয়া দরকার যা নির্বাচিত আপডেটগুলিকে চাপ দেয়, সুরক্ষার কারণে আমি যে ফাইলগুলি প্রেরণ করি তা কার্যকর হয় না, তবে আমি যদি সিমলিংক করতে পারি তবে সিমিলিংকের মাধ্যমে ফাইলটি প্রতিস্থাপন করে আমি ইতিমধ্যে বিদ্যমান প্রক্রিয়াতে (তাত্ত্বিকভাবে) ইনজেক্ট করতে পারি ... তবে এটি করার জন্য আমার 100% কাঁচা বেশি একটি
সিমিলিংক

@ ব্যবহারকারী 1779617 "স্লেভ" এবং "মাস্টার" এর অর্থ আপনি কী বোঝাতে চান তা এখনও স্পষ্ট নয়, কারণ আপনি মনে করেন সার্ভার এবং ক্লায়েন্ট উভয়ের জন্য উভয় পদই পরস্পর বিনিময়যোগ্যভাবে ব্যবহৃত হয়। আপনার যদি সার্ভারে একটি সিমলিংক তৈরি করতে হয় তবে আপনি এটি এসএফটিপি দিয়ে করতে পারেন, তবে কনফিগারেশনের উপর নির্ভর করে আপনি এসএফটিপি-ডেমনের ক্রোডযুক্ত রাজ্যের বাইরে দেখতে পারবেন না। sftp( Linux.die.net/man/1/sftp ) এর ম্যান পেজটি দেখুন ! symlinkআপনার যা প্রয়োজন বলে মনে হচ্ছে তার জন্য বিশেষভাবে আদেশ রয়েছে ।
পোলেমন

5

আপনি ঠিক কীভাবে সিমলিংকটি মোকাবেলা করতে চান এটি কিছুটা অস্পষ্ট। আমি এটি বুঝতে পেরেছিলাম, আপনি অন্য সিস্টেমে সিমলিংকটি পুনরায় তৈরি করতে চান। সিমলিংকগুলি ফাইল সিস্টেম নির্ভর, ফাইল অনুলিপি করতে ব্যবহৃত প্রোটোকল অবশ্যই সে সম্পর্কে সচেতন থাকতে হবে। একটি ভাল উদাহরণ বিকল্প rsyncসহ ব্যবহার করা হয় -a

আরও নির্দিষ্টভাবে, -lবিকল্পটি, তবে -aসম্ভবত আপনি চান।

এটি লক্ষ্যগুলি না টানিয়ে সিঙ্কলিঙ্কগুলি পুনরায় তৈরি করবে (লিঙ্কগুলি অবলম্বন করে)।


আমি এইচএম দেখছি, সুতরাং কোনও ফাইলের মতো এটি অনুলিপি করার এবং লিঙ্কটি ধরে রাখার কোনও উপায় থাকবে না? আমি কেবলমাত্র অভিন্ন সিস্টেমে সিমলিংক তৈরি করার এবং এটির অনুলিপি করার জন্য কেবলমাত্র ফাইলগুলি সরানোর ক্ষমতা রাখি বা আমি কেবল আশাবাদী হয়ে যাচ্ছি?
TheHmitted

@ ব্যবহারকারী 1779617 প্রথমে: আপনি যখন "সরান" বলবেন, আপনি আসলে "সরানো" বা "অনুলিপি" বলতে চান? কারণ "সরানো" বলতে মূল ফাইলটি মুছে ফেলা বোঝায় (এটি আপনার কারণ সম্পাদনা করার কারণও ছিল)। দ্বিতীয় জিনিস: আপনি একটি নির্দিষ্ট ফাইল স্থানান্তর প্রোটোকল সীমাবদ্ধ (শুধুমাত্র FTP মত) যদি তা হয় তবে আমাদের এটিকে আরও পরিধির মধ্যে নিয়ে আলোচনা করা উচিত এবং আমরা যে ফাইল সিস্টেমগুলির কথা বলছি।
পোলেমন

কেবলমাত্র এসএফটিপি, কেবলমাত্র সেই মেশিন থেকে ডাউনলোড করুন যার জন্য সিমলিংক প্রয়োজন, সুতরাং আমি অর্থ মাস্টার থেকে কেবল স্লেভ এসএফটিপিতে অনুলিপি করছি এবং এসএফটিপি সংযোগটি কেবলমাত্র ক্রীতদাসের কাছ থেকে।
TheHmitted

@ ব্যবহারকারী 1779617 আমি ধরে নিচ্ছি আপনার অর্থ "ক্লায়েন্ট" (স্লেভ) এবং "সার্ভার" (মাস্টার)। স্যুইচ sftpসহ সাব-ডাইরেক্টরিগুলিকে অতিক্রম করবে -r, কিন্তু সিমলিঙ্কগুলি অনুসরণ করবে না, কারণ এটি ফাইল সিস্টেমগুলি বিমূর্ত করে। sftpহোস্টে symlinks তৈরি সমর্থন করে। আপনার অন্তত ডাউনলোড করার চেষ্টা করা উচিত শুধু সিমবলিক লিঙ্ক (যখন সিমবলিক লিঙ্ক হয় ~/etc-> /etc/কি get etcচিহ্ন ছাড়া /) এবং দেখুন সেখানে কি ঘটছে। এটি সার্ভার এবং ক্লায়েন্টের এফএসের উপর নির্ভর করে। সেই অনুযায়ী আপনার মূল প্রশ্নটি সম্পাদনা করুন!
পোলেমন

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 স্থাপন করে provide


3

আমি জানি @ পোলেমন ইতিমধ্যে এটির উত্তর দিয়ে গেছে।

তবে দ্রুত সমাধানের জন্য আমার বাডটি করছেন।

আমি কোন সুইচটি ব্যবহার করতে চাই তা জানতে আমাকে আরএসসিএনসি করতে হয়েছিল ...

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

যদিও, আপনার ক্ষেত্রে আপনার লিঙ্কগুলি নষ্ট না হয়েছে তা নিশ্চিত করা দরকার!


0

অন্যান্য উত্তরগুলি ইতিমধ্যে ব্যাখ্যা করে যে কীভাবে অন্য মেশিনে প্রতীকী লিঙ্ক স্থানান্তর করতে হয়। তবে, আপনি কীভাবে সিমলিংক স্থানান্তর করবেন তা নির্বিশেষে আপনি /etc/এফটিপি, এসএফটিপি, এসসিপি, এসএসএইচ বা অন্য কোনও উপায়ে কোনও ফাইল অ্যাক্সেস করতে এই সিমলিংকটি ব্যবহার করতে সক্ষম হবেন না । এই পরিষেবাগুলি কোনও প্রদত্ত ডিরেক্টরিতে ক্রোটযুক্ত হতে পারে বা অন্যথায় স্পষ্টভাবে ভাগ করা হয়নি এমন ফাইলগুলিতে অ্যাক্সেস সরবরাহ থেকে বিরত থাকে। অবশ্যই, পুরানো সিস্টেমগুলিতে এটি প্রায়শই হ্যাক করার উপায় রয়েছে তবে এ জাতীয় দুর্বলতাগুলি খুঁজে পাওয়া মাত্রই তা প্যাচ আপ এবং আপগ্রেড করার প্রবণতা রয়েছে। আমি দুঃখিত, আপনি যা করতে চান তা সম্ভব হতে পারে বলে আমি মনে করি না।


পর্যাপ্ত পরিমাণে, কমপক্ষে আমি অনুমান করার চেষ্টা করেছি :(
TheHmitted
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.