কেন আমার বাইন্ড মাউন্টটি এর মাউন্ট নেমস্পেসের বাইরে দৃশ্যমান?


12

তাই আমি লিনাক্সের মাউন্ট নেমস্পেস কীভাবে কাজ করে তার একটি হ্যান্ডেল পাওয়ার চেষ্টা করছি। সুতরাং, আমি একটি সামান্য পরীক্ষা করলাম এবং দুটি টার্মিনাল খুললাম এবং নিম্নলিখিতগুলি চালিত করলাম:

বন্দর 1

root@goliath:~# mkdir a b
root@goliath:~# touch a/foo.txt
root@goliath:~# unshare --mount -- /bin/bash
root@goliath:~# mount --bind a b
root@goliath:~# ls b
foo.txt

টার্মিনাল ২

root@goliath:~# ls b
foo.txt

টার্মিনাল 2 এ মাউন্টটি কীভাবে দৃশ্যমান? যেহেতু এটি মাউন্ট নেমস্পেসের অংশ নয়, আমি এখানে ডিরেক্টরিটি ফাঁকা প্রদর্শিত হবে বলে আশা করি। আমি এর সাথে বিকল্পগুলি পাস -o shared=noএবং ব্যবহার করার চেষ্টা করেছি , তবে আমি একই ফলাফল পেয়েছি।--make-privatemount

আমি কী নিখোঁজ করছি এবং কীভাবে আমি এটিকে আসলে ব্যক্তিগত করতে পারি?


মাউন্টগুলি সিস্টেম-ব্যাপী, শেল পরিবেশের সাথে নির্দিষ্ট নয়। ভাগ করা, ক্রীতদাস, প্রাইভেট এবং অবিবাহযোগ্য তারা আপনাকে কী মনে করে তা নয়। পড়া man mount
ক্যাস

3
@ ক্যাস: একমত যে --make-privateআমি যা চাই তা নয়। তবে, এটি কি মাউন্ট নেমস্পেসের বিন্দু নয় (যে তারা সিস্টেম প্রশস্ত নয়)?
ফ্যাটালআরর

উত্তর:


11

যদি আপনি ২.২27 এর util-linuxকম সংস্করণ সহ সিস্টেম ভিত্তিক বিতরণে থাকেন তবে আপনি এই অনাদায়ী আচরণটি দেখতে পাবেন। কার্নেলের একটি সেটিংয়ের উপর নির্ভর করে CLONE_NEWNSপতাকা প্রচারের কারণ এটি shared। এই সেটিংটি সাধারণত হয় privateতবে সিস্টেমেড এটিকে এতে পরিবর্তন করে shared। এর মতো util-linux2.27, একটি প্যাচ তৈরি করা হয়েছিল যে ডিফল্ট ব্যবহারকে পরিবর্তন unshareকমান্ড ব্যবহার করতে privateডিফল্ট প্রসারণ আচরণ যত আরও বেশি ধারণাসম্পন্ন যাবে।

সমাধান

আপনি যদি <2.27 সহ util-linuxসিস্টেমযুক্ত সিস্টেমে থাকেন তবে কমান্ডটি চালানোর পরে আপনাকে অবশ্যই রুট ফাইল সিস্টেমটি পুনরায় গণনা করতে হবে unshare:

# unshare --mount -- /bin/bash
# mount --make-private -o remount /

আপনি যদি> = ২.২27 সহ একটি সিস্টেমেড সিস্টেমে util-linuxথাকেন তবে এটি পুনঃমাউন্টের প্রয়োজনীয়তা ছাড়াই আপনার প্রশ্ন ভারব্যাটিমে যে উদাহরণ দিয়েছিলেন তেমন প্রত্যাশা অনুযায়ী কাজ করা উচিত। যদি তা না হয়: মাউন্ট নেমস্পেসের প্রচারকে ব্যক্তিগত হতে বাধ্য --propagation privateকরতে unshareকমান্ডটি পাস করুন ।


0

এটি উবুন্টুতে কাজ করেনি, (15.04 এবং 14.04)। এটি ফেডোরাতে কাজ করেছে। এবং ফেডোরার জন্য। আপনার যদি - মেক-প্রাইভেট দরকার হয় বা না, আপনি এটিও পরীক্ষা করে দেখতে পারেন

ক্যাট / প্রোক / স্ব / মাউন্টিনফো | গ্রেপ শেয়ার করা

যদি ভাগ করা থাকে তবে এর অর্থ হ'ল আরও কিছু নামস্থান এখনও সেই মাউন্টগুলি দেখতে পাবে। তারপরে এটি সিস্টেমযুক্ত সম্পর্কিত সমস্যা related এটিকে কাজ করতে আপনি - মেক-প্রাইভেট ব্যবহার করতে পারেন

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