লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেমের উবুন্টু ফাইল সিস্টেম রুট ডিরেক্টরি কোথায় এবং এর বিপরীতে?

আমি উইন্ডোজ 10 এ উবুন্টু সাবসিস্টেম ইনস্টল করেছি (সেটিংসে বৈশিষ্ট্য সক্ষম করার পরে), তবে ড্রাইভে উবুন্টু ফাইল সিস্টেম রুট ডিরেক্টরিটি কোথায় অবস্থিত?

উবুন্টুর জন্য উইন্ডোজ স্টোর থেকে ইনস্টল করা হয়েছে:

আপনি স্টোরের মাধ্যমে ইনস্টল করা প্রতিটি বিতরণ সেই অ্যাপ্লিকেশনটির অ্যাপডাটা ডিরেক্টরিতে ইনস্টল করা আছে. উদাহরণ স্বরূপ: C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState - বেনহিলিস

ডাব্লুএসএল 2 এর জন্য আপনি উইন্ডোজ (উইন্ডোজ 10 বিল্ড 18342) থেকে হোম ডিরেক্টরিতে অ্যাক্সেস করতে পারেন :

\\wsl$

লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেমের পূর্ববর্তী পুনরাবৃত্তিতে উবুন্টু ফাইল সিস্টেমটি ছিল %localappdata%\Lxss (যেমন, C:\Users\Username\AppData\Local\Lxss - প্রতিস্থাপন করুন ব্যবহারকারীর নাম উইন্ডোজ আপনার ব্যবহারকারীর নাম দিয়ে). দেখা ফাইল সিস্টেম সাপোর্টে ডাব্লুএসএল ব্লগ পোস্ট:

ডাব্লুএসএল দ্বারা ব্যবহৃত প্রাথমিক ফাইল সিস্টেমটি হ ' ল ভলএফএস. এটা লিনাক্স সিস্টেম ফাইল, সেইসাথে আপনার লিনাক্স হোম ডিরেক্টরি বিষয়বস্তু সংরক্ষণ করতে ব্যবহার করা হয়. যেমন, ভলএফএস লিনাক্স ভিএফএস সরবরাহ করে এমন বেশিরভাগ বৈশিষ্ট্য সমর্থন করে লিনাক্স অনুমতি, প্রতীকী লিঙ্ক, ফিফোস, সকেট, এবং ডিভাইস ফাইল.

ভলএফএস ব্যবহার করে ভিএফএস রুট ডিরেক্টরি মাউন্ট করতে ব্যবহৃত হয় %LocalAppData%\lxss\rootfs ব্যাকিং স্টোরেজ হিসাবে এছাড়াও, কয়েকটি অতিরিক্ত ভল্ফ মাউন্ট পয়েন্ট বিদ্যমান, উল্লেখযোগ্যভাবে /root এবং /home যা ব্যবহার করে মাউন্ট করা হয় %LocalAppData%\lxss\root এবং %LocalAppData%\lxss\home যথাক্রমে এই পৃথক মাউন্টগুলির কারণ হ ' ল আপনি যখন ডাব্লুএসএল আনইনস্টল করেন তখন হোম ডিরেক্টরিগুলি ডিফল্টরূপে সরানো হয় না, সুতরাং সেখানে সঞ্চিত কোনও ব্যক্তিগত ফাইল সংরক্ষণ করা হবে

সতর্কতা

উইন্ডোজ অ্যাপস এবং সরঞ্জাম ব্যবহার করে লিনাক্স সাবসিস্টেমের মধ্যে যে কোনও ফাইল তৈরি/সংশোধন করা উবুন্টু সাবসিস্টেমে ডেটা দুর্নীতি এবং ডেটা ক্ষতির কারণ হতে পারে! (ধন্যবাদ রিচ টার্নার সতর্কতার এই শব্দগুলির পরামর্শ দেওয়ার জন্য!) এটি একেবারে না সমর্থিত. একই ব্লগ পোস্ট:

উইন্ডোজের সাথে আন্তঃব্যবহারযোগ্যতা

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


আপনার উইন্ডোজ ফাইল সিস্টেমটি এখানে অবস্থিত /mnt/c বাশ শেল পরিবেশে

enter image description here

উৎস: ডাস্টিন কার্কল্যান্ডের ব্লগ, হাওটোজিক

বাশ মূলত চালু হওয়ার পরে এটি পরিবর্তিত হয়েছে বলে মনে হচ্ছে এবং উইন্ডোজ স্টোর থেকে বিতরণে প্রযোজ্য নয়, বা আমার হোম ডিরেক্টরিটি অন্য কোনও স্থানে অবস্থিত হওয়ায় এটি সমস্ত সিস্টেমের জন্য সামঞ্জস্যপূর্ণ নয়:

%localappdata%\lxss\home\{username}

অথবা:

C:\Users\{user}\AppData\Local\lxss\{username}

কোথায় {user} আপনার উইন্ডোজ ব্যবহারকারীর নাম এবং {username} আপনার ইউনিক্স ব্যবহারকারীর নাম ইনস্টল করার সময় সেট করা হয়.

সুতরাং রুট ডিরেক্টরি হবে:

%localappdata%\lxss

নোট করুন যে রুট ডিরেক্টরিটি উইন্ডোজ এক্সপ্লোরারে দৃশ্যমান নাও হতে পারে %localappdata% ডিরেক্টরি. আপনি এক্সপ্লোরার এর 'ঠিকানা বার' এটি টাইপ করে যে কোন পথে এটি অ্যাক্সেস করতে সক্ষম হওয়া উচিত.

আপনি যদি এমএস মার্কেট থেকে লিনাক্স ইনস্টল করেন:

তারা এর অধীনে ডিস্ট্রোস স্থাপন করেছিল:

$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePathC:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

ডিফল্ট ডিস্ট্রো দ্বারা সংজ্ঞায়িত:

bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution{861c29b4-ebe2-49a5-8a22-7e53a27934a0}

লিনাক্স রুট আরও গভীর:

c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

পুনশ্চ. আমি রেজিস্ট্রি কীগুলি অন্বেষণ করতে সাইগউইন ব্যবহার করেছি.

যদি একই লক্ষ্যের জন্য পাওয়ারশেল ব্যবহার করা হয় তবে কমান্ডগুলি হ ' ল:

# obtain the value of the ID of the default Linux distribution (and store it in a variable to avoid escaping characters issues):$DEFAULT_LXSS_ID = (Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\ -name DefaultDistribution)# which will have a value like:echo  $DEFAULT_LXSS_ID{bde539d6-0c87-4e12-9599-1dcd623fbf07}# display the directory containing the rootfs Windows directory (mapped to the / Linux directory)Get-ItemPropertyValue -Path REGISTRY::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\$DEFAULT_LXSS_ID -name BasePath | Format-List -property "BasePath"%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState

পিপিএস https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/

আপনি টাইপ করে খোলা ফোল্ডারের একটি ফাইল এক্সপ্লোরার উইন্ডো থেকে দ্রুত বাশ খুলতে পারেন bash লোকেশন বারে

এটা যথেষ্ট.

এছাড়াও আপনি একটি প্রসঙ্গ মেনু আইটেম যোগ করতে পারেন. প্রয়োজন না হলে আমি ব্যক্তিগতভাবে এটির প্রস্তাব দিই না, কারণ প্রসঙ্গ মেনুতে শর্টকাট যুক্ত করা আরও র্যাম ব্যবহার করে

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/

আমার জন্য কাজ করা একমাত্র জিনিস ছিল %localappdata%\lxss\home\{username}, যেখানে {username} আপনার ব্যাশ ব্যবহারকারীর নাম আপনি ইনস্টলেশনের সময় এটি দিয়েছেন. কিছু কারণে, লুকানো ফোল্ডারের এলএক্সএসএস দেখানোর পরে উপস্থিত হতে অস্বীকার করে C:\Users\WINDOWS-USER\AppData\Local\, এবং পূর্ণ প্রদান C:\ উইন্ডোজ এবং ব্যাশ ব্যবহারকারীর নাম দিয়ে পথ হয় কাজ করে না.

এবং কাজ করে কি জন্য একটি ডেস্কটপ শর্টকাট তৈরি করুন.

যারা চিত্রের অবস্থানটি সন্ধান করছেন তাদের জন্য: সি:\ব্যবহারকারী \ [ব্যবহারকারীর নাম]\অ্যাপডাটা \ স্থানীয় \ প্যাকেজ\ক্যানোনিকাল গ্রুপ দ্বারা চিহ্নিত.উবুন্টুনউইন্ডোজ_79 আরএইচকেপি 1 এফএনডিজিএসসি \ লোকালস্টেট\এক্সটি 4.ভিএইচডিএক্স

** দয়া করে নোট করুন**

আমরা (ডাব্লুএসএল দল) দৃঢ়ভাবে সুপারিশ করুন যে আপনি লিনাক্স ডিস্ট্রো ডেটাতে স্পেলঙ্ক করবেন না folders
). আপনি যদি তা করেন তবে ডেটা ক্ষতি এবং / বা দুর্নীতি খুব সম্ভবত

আমরা এই ইন্টারপ দৃশ্যটি উন্নত করার জন্য কাজ করছি এবং আমাদের ব্লগে কোনও অগ্রগতি ঘোষণা করব: Windows Command Line

@ ড্যানিস্টাপল আপনার যদি উইন্ডোজ থেকে আপনার লিনাক্স ডিস্ট্রোতে ফাইল/ফোল্ডারগুলিতে অনুমতিগুলি পরিবর্তন করতে হয় তবে ‘ডাব্লুএসএল’ ব্যবহার করুনএক্সই’, যেমন ’ ডাব্লুএসএল সিএইচএমওডি 600 ~/এসএসএইচ / আইডি* - উইন্ডোজ ফাইল সিস্টেমের মাধ্যমে এই ফোল্ডারে ফাইলগুলি অনুলিপি করুন না করুন

@মেহরদাদ ডাব্লুএসএল একটি পি 9 ফাইল সার্ভার প্রয়োগ করে, যে কোনও পি 9 ফাইল সার্ভার হিসাবে ডিস্ট্রোর ফাইল সিস্টেম থেকে/পর্যন্ত ফাইলগুলি প্রকাশ/মার্শলিং করে মার্শাল কোন এনটিএফএস মেটাডেটা নেই এই ভাবে. আরও তথ্যের জন্য বিল্ড 2919 এ ক্রেগ লোওয়েন এবং বেন হিলিসের সেশনটি দেখুন

রিচটার্নার @আমি একটি খুব নির্দিষ্ট আছে পাওয়া করেছি (এবং বিরক্তিকর) কারণ - কর্পোরেট নীতি চিহ্নিত .ভুল অনুমতি দিয়ে এসএসএইচ ফোল্ডার বারবার কর্পোরেট স্ক্রিপ্ট “সীমা বন্ধ” হিসাবে কাঠামো চিহ্নিত করা প্রয়োজন মানে. কিন্তু সাধারণত-আমি আপনার সাথে একমত চাই .

এটা আরো সাম্প্রতিক আপডেট সঙ্গে বাক্সে মত দেখায় যদিও - এই আর ঘটবে.

@ রিচটার্নার: আপনি ছেলেরা লিনাক্স মেটাডেটা টানেল করেন না কেন যেমন আপনি ইতিমধ্যে এনটিএফএস মেটাডেটা টানেল করেন?

@ মেহরদাদ আমরা 1903 সালে এবং পরে নতুন পি 9 সার্ভারের মাধ্যমে করি

@ রিচটার্নার: উত্তরের জন্য ধন্যবাদ! আমি যদিও বিভ্রান্ত করছি… 1903 যদিও এটি একটি নেটওয়ার্ক রিসোর্স হিসাবে অ্যাক্সেস করা প্রয়োজন, তাই না? আপনি এনটিএফএস মেটাডেটা টানেলযুক্ত একই ভাবে বৈশিষ্ট্যাবলী টানেলযুক্ত তাহলে এটি শুধু স্থানীয়ভাবে ফাইল সম্পাদনা করা সম্ভব হতে চাই. এটি আমাকে পরামর্শ দেয় যে আপনি যা করছেন ঠিক তা নয়?

রিচটার্নার@: *“মার্শাল কোন এনটিএফএস মেটাডেটা নেই এই ভাবে.”*হ্যাঁ… সুতরাং এনটিএফএস টানেলিং আপনি যা করছেন তা নয়, আপনি আগে যা বলেছিলেন তার বিপরীতে. সুতরাং আমরা আমার প্রথম প্রশ্নে ফিরে যাই: এনটিএফএস ইতিমধ্যে অন্যান্য মেটাডেটার সাথে যেমন করেছে ঠিক তেমন কোনও ফাইল সার্ভার ব্যবহার করার পরিবর্তে আপনি কি ডাব্লুএসএল মেটাডেটা *টানেল করেননি?

@ মেহরদাদ আমি কোথায় বলেছিলাম যে আমরা এনটিএফএস মেটাডেটা মার্শাল করছি? পি 9 মার্শাল ফাইল মেটাডেটা (অর্থাত্ টাইমস্ট্যাম্পস ,অনুমতি, ফাইলের নাম ইত্যাদি), এনটিএফএস ডেটা নয়