ln -s বনাম মাউন্ট - বাইন্ড


19

ব্যবহার ln -sবা ব্যবহারের মধ্যে কোন ব্যবহারিক পার্থক্য আছে mount --bind?

আমি কিছু ফোল্ডারগুলির ডিমন সেটিংটি পরিবর্তন না করেই অন্য পার্টিশনে স্থানান্তর করতে চাই এবং আমার কী পদ্ধতির গ্রহণ করা উচিত তা অবাক করে দিতে চাই।

আমি পছন্দ করি ln -sযেহেতু এটির ন্যূনতম সেটআপ প্রয়োজন (কোনও /etc/fstabপরিবর্তন নেই) তবে সম্ভবত এটি সাধারণ না হওয়ার কারণ রয়েছে?

উত্তর:


25

হ্যাঁ জাহান্নাম. আপনি চালানো হলে ln -sআপনি একটি সিম্বলিক লিঙ্ক, যা একটি তৈরি inode হার্ড সংযোগগুলি তাদের নিজস্ব inode হবে না: একটি নির্দিষ্ট ফাইল সিস্টেম বস্তু, যা কেন symlinks ফাইল সিস্টেম, তর্ক করতে ও কঠোর লিঙ্ক করতে পারবেন না ইশারা।

আপনি যদি কোনও ফাইল সিস্টেমটি মাউন্ট করেন তবে আপনি কোনও ডিভাইস বা ফাইল সিস্টেমের জন্য একটি --bindদ্বিতীয় মাউন্টপয়েন্ট তৈরি করবেন।

যদি আপনি পুনর্নির্দেশ হিসাবে একটি সিমিলিংক কল্পনা করেন, তবে --bindডেটাতে অন্য গেটওয়ে তৈরি করার জন্য একটি মাউন্ট করা ফাইল সিস্টেমটিকে কল্পনা করুন।

সিমলিংক এবং বাইন্ড মাউন্টগুলি সম্পূর্ণ আলাদা বলগেম।

--bindমাউন্ট একটি বিট আরো আমায় শক্তসমর্থ বলে মনে হয় এবং এটি সম্ভবত একটি বিট একটি সিমবলিক লিঙ্ক সঙ্গে কাজ তুলনায় দ্রুততর। অন্যদিকে, সিমলিংকটি ব্যবহার করার ক্ষেত্রে কোনও গুরুতর ত্রুটি নেই, কারণ পারফরম্যান্স হিটটি ছোট হবে (যদি তা বিদ্যমান থাকে)।

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

এটি সাধারণ না হওয়ার কারণটি সম্ভবত সম্ভবত একটি সিমলিংক দৃশ্যমান ls, যেখানে একটি বাইন্ড মাউন্ট কেবল তখনই দেখা যায় যখন / প্রোক / মাউন্টগুলি বা / ইত্যাদি / এমটিএবি দেখতে পাওয়া যায় (যা মাউন্ট কমান্ড যা করে তা যদি হয় পরামিতি ব্যতীত মৃত্যুদন্ড কার্যকর)। তা ছাড়া, আমি মনে করি কোনও সমস্যা আছে। আমি যদি আগ্রহী তবে সেখানে থাকব।

সংযোজন : এর সাথে অন্য একটি সমস্যাটি ln -sহ'ল কিছু অ্যাপ্লিকেশনের জন্য, যখন পথটি অবজ্ঞা করা হয়, নির্দিষ্ট অ্যাপ্লিকেশনগুলিকে নির্দিষ্ট জায়গায় "প্রত্যাশা" রাখার কারণে অ্যাপ্লিকেশনটি ঝাপটায়।


ব্যাখ্যার জন্য ধন্যবাদ! একটি ছোট ফলো-আপ প্রশ্ন - আসলে --rbind প্যারামিটারটি কী করে এবং কীভাবে এটি ব্যবহার করা যায়? ম্যানুয়াল থেকে মনে হচ্ছে প্যারামিটারটি মাউন্ট করা গাছে সাব-মাউন্টগুলি মাউন্ট করার পক্ষে সমর্থন করে এটি কি সঠিক? এছাড়াও, কেবলমাত্র --rbind যথেষ্ট, বা আমাকে --bind তখন --rebind করতে হবে? আবার ধন্যবাদ.
সিআরনেটি

2
mountযখন কোনও যুক্তি ছাড়াই আহ্বান করা হয়, এর সামগ্রীগুলি মুদ্রণ করে /etc/mtab, যার তুলনায় কিছুটা আলাদা তথ্য রয়েছে /proc/mounts। (বিশেষত, /proc/mounts(এতে syMLink /proc/self/mounts) সর্বদা এটি পড়ার প্রক্রিয়াটিতে দৃশ্যমান
মাউন্টপয়েন্টগুলি

1
@ ওয়াজার্ড - এফএকিউ থেকে "সর্বোত্তম - বিদ্যমান প্রশ্নাবলীর সম্পাদনা করুন এবং উন্নত করুন!" :) .. এটি আপনার জবাবের সামান্যই নয় - এটি অতিরিক্ত তথ্যের সাথে একটি সামান্য উন্নতি, যার জন্য আপনি / ভোট দেওয়া হলে অতিরিক্ত প্রতিনিধি পাবেন :)
ওয়ারেন

1
@ ওয়ারেন, কিছু মনে করবেন না, আমি পাগল নই :) এটি কেবল আপনি এমন কিছু যুক্ত করেছেন যা সম্পর্কে আমার কোনও ধারণা নেই, যা কিছুটা অদ্ভুত মনে হয়েছিল;)
wzzrd

2
@ ওয়াজার্ড - কোনও পায়ের আঙুলের পায়ে দাঁড়ানোর অর্থ ছিল না :) .. অ্যাপটি-নির্দিষ্ট সমস্যাটি এমন একটি বিষয় যা আমি ব্যবহার করছি যে প্রধান পণ্যটি আমি ব্যবহার করেছি
ওয়ারেন

6

ln -sএকটি বাইন্ড মাউন্ট এবং এর মধ্যে বড় পার্থক্যগুলির মধ্যে একটি হ'ল আপনি কেবল পঠনযোগ্য ফাইল সিস্টেমটিকে "সংশোধন" করতে বাঁধার মাউন্ট ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি কোনও সিডি লাগানো থাকে /mnt/applicationএবং আপনি /mnt/application/badconfigfile.confএকটি সঠিক সংস্করণ দিয়ে প্রতিস্থাপন করতে চান তবে আপনি এটি করতে পারেন:

mount -o bind /path/to/correct/file.conf /mnt/application/badconfigfile.conf

সিমলিংক ব্যবহার করে একই পরিবর্তনকে প্রভাবিত করা সম্ভব হবে না কারণ আপনি লক্ষ্যবস্তু ফাইল সিস্টেমটি সংশোধন করতে সক্ষম নন।

আপনি যদি এনএফএস (বা কোনও ধরণের ক্লাস্টার ফাইল সিস্টেম) এর মাধ্যমে সাধারণ সফ্টওয়্যার বিতরণ করেন এবং আপনি একটি সিস্টেমে হোস্ট-নির্দিষ্ট পরিবর্তন করতে চান তবে এটি ভাল প্রভাব ফেলতে ব্যবহার করা যেতে পারে। প্রয়োজনীয় ফাইল বা ডিরেক্টরিগুলি ওভাররাইড করতে আপনি কেবল টার্গেট সিস্টেমের উপর একটি বাঁধাই মাউন্ট ব্যবহার করতে পারেন।


মাথা ব্যথা! (বিরল ঘটনা, তবে সেই বিশেষ মুহুর্তটির জন্য স্মরণীয় মূল্য)
জোনাথন কোমার

2

আমার কাছে ln -s এবং মাউন্ট - বাইন্ডের মধ্যে পার্থক্যগত পার্থক্য # 1

vsftpd একটি প্রতীকী লিঙ্কের মাধ্যমে কোনও ডিরেক্টরি ব্রাউজ করার অনুমতি দেয় না, তবে মাউন্ট করার সময় অনুমতি দেয়।

আপনি কী ডেমন ব্যবহার করছেন তা আমি জানি না তবে এটি একইরকম আচরণ করতে পারে।


1

কেউ লক্ষ করতে পারেন যে মাউন্টের সাথে আবদ্ধ হওয়ার ফলস্বরূপ, এটি নিজেই একটি বাঁধাই, এটি পরে পুনরায় প্রত্যাবর্তন করা হয়, মূল বাঁধাই অক্ষত থাকে, ধরে নিচ্ছে শারীরিকভাবে সংযুক্ত থাকুন।

এটি হ'ল, যদি A কে B এবং B কে C তে আবদ্ধ করে, এবং তারপরে D কে B তে আবদ্ধ করে, C তখনও এ-এর সাথে আবদ্ধ থাকবে That এটি আপনার যা ইচ্ছা তা হতে পারে, নাও পারে। যদি কেউ সি এর বি অনুসরণ করতে চায় তবে একই লক্ষ্যগুলি ব্যবহার করে রিমান্ট করুন mount -o remount B C, বা তার --rbindপরিবর্তে ব্যবহার করুন। সেখানে নেই --rebindবিকল্প।

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