কেন এমন হয়েছে?
উইন্ডোজ ফাইল সিস্টেমগুলির চেয়ে প্রচলিত ইউনিক্স ফাইল সিস্টেমগুলি ভিন্নভাবে কাজ করে, ডাব্লুএসএল তাদের প্রতিনিধিত্ব করতে ব্যবহৃত উইন্ডোজ ফাইলগুলির বর্ধিত বৈশিষ্ট্যে ফাইলগুলির লিনাক্স-নির্দিষ্ট বৈশিষ্ট্যগুলি সম্পর্কে অতিরিক্ত তথ্য সঞ্চয় করে। সাধারণ উইন্ডোজ প্রোগ্রামগুলি এই বৈশিষ্ট্যগুলি সম্পর্কে জানে না এবং আপনি ফাইলটি সম্পাদনা করার সময় সেগুলি সংরক্ষণ করবে না। ফাইলটি সম্পর্কে গুরুত্বপূর্ণ তথ্যটি যখন ঘটে তখন তা নষ্ট হয়ে যায়।
যখন ডাব্লুএসএল কোনও ফাইল পড়ার চেষ্টা করে এবং এটি যে বৈশিষ্ট্যগুলি প্রত্যাশা করে তা খুঁজে পায় না, একটি ত্রুটি রিপোর্ট করা হয়, ঠিক যেমন কোনও দেশীয় ফাইল সিস্টেমটি দূষিত হলে কী হবে। যদি এটি কোনও ফাইলের বৈশিষ্ট্যগুলিকে প্রথম স্থানে না দেখে তবে ফাইলটি কেবল অস্তিত্ব হিসাবে বিবেচিত হবে এবং ফাইল তালিকাগুলিতে প্রদর্শিত হবে না।
সরকারী WSL পরামর্শ হল
কোনও পরিস্থিতিতে , উইন্ডোজ অ্যাপস, সরঞ্জাম, স্ক্রিপ্টস, কনসোল ইত্যাদি ব্যবহার করে লিনাক্স ফাইলগুলি তৈরি এবং / অথবা সংশোধন করবেন না
উইন্ডোজ থেকে লিনাক্স ফাইলগুলি তৈরি / পরিবর্তন করার ফলে ডেটা দুর্নীতি এবং / অথবা আপনার লিনাক্স পরিবেশ ক্ষতিগ্রস্থ হতে পারে যা আপনাকে আপনার ডিস্ট্রো আনইনস্টল ও পুনরায় ইনস্টল করতে প্রয়োজন!
এই কারণে (তবে আরও বড়, এবং redder, এবং আরও আন্ডারলাইন সহ) "লিনাক্স ফাইলগুলি" বলতে আপনার lxss
ডিরেক্টরিতে কিছু বোঝায় । আপনি /mnt/c/...
ডিআরভিএফএস ফাইল সিস্টেমের মাধ্যমে লিনাক্সের ভিতরে থেকে নিয়মিত উইন্ডোজ ফাইলগুলি পরিবর্তন করতে পারেন , তবে বিপরীত নয়।
যাইহোক, 1903 উইন্ডোজ 10 রিলিজ একটি নতুন প্রক্রিয়া প্রবর্তন করে যা আপনার উইন্ডোজ থেকে যথাযথভাবে চালিত হওয়া পর্যন্ত ফাইলগুলি নিরাপদে সম্পাদনা করার অনুমতি দেয় না। এটি ইতিমধ্যে দূষিত ফাইলগুলির সমস্যা সংশোধন করতে সহায়তা করে না, তবে ভবিষ্যতে এটি এড়াতে পারে।
আমি এটি ঠিক করতে কী করতে পারি?
যদি আপনি ইতিমধ্যে একটি ফাইল সম্পাদনা করেছেন এবং এখন আপনি এটি অ্যাক্সেস করতে না পারেন তবে উইন্ডো থেকে নিজেই সামগ্রীগুলি পড়া এবং ফাইলটি সেভাবে পুনরুদ্ধার করা এখনও সম্ভব।
এটি করতে, আপনার প্রয়োজন:
AppData\Local\lxss
ফাইলটি যে এক্সপ্লোরার এক্সপ্লোরার ব্যবহার করে সেই ডিরেক্টরিটির মধ্যে সেই স্থানে ফিরে যান এবং ফাইলটি আপনার ডেস্কটপের মতো আপনার ড্রাইভের অন্য কোনও জায়গায় সরিয়ে নিয়ে যান।
- এর পরে তার অভ্যন্তরীণ ক্যাশে সাফ করার জন্য ডাব্লুএসএল পুনরায় চালু করুন, যা আপনি কেবলমাত্র আপনার সমস্ত টার্মিনাল বন্ধ করে এবং একটি নতুন খোলার মাধ্যমে করতে পারেন। আপনার যদি ব্যাকগ্রাউন্ড সার্ভার প্রক্রিয়াগুলি চলমান থাকে তবে আপনার সেগুলিও বন্ধ করতে হবে।
- লিনাক্সের মধ্যে আবার, দূষিত ফাইলের আসল অবস্থানে যান। আপনি যদি ফাইলটিকে সফলভাবে সরিয়ে না ফেলে থাকেন তবে এটি এখনই দেখা যাবে না। চালান
ls
বার করো।
আপনি যে ফাইলটি সরিয়ে নিয়েছেন তা পরীক্ষা করুন: রান করুন
cat /mnt/c/Users/.../Desktop/abc
ফাইলের মূল বিষয়বস্তু দেখতে।
যদি এখনও অবধি সবকিছু কাজ করে থাকে তবে আপনি এখন সেই ফাইলটি সেই জায়গায় অনুলিপি করতে পারবেন যেখানে আপনি এটি প্রত্যাশা করেছিলেন:
cp /mnt/c/Users/.../Desktop/abc ~/alphabet/abc
cp
কমান্ড ফাইলে প্রয়োজনীয় গোপন বৈশিষ্ট্যাবলী পুনরুদ্ধার করতে WSL কারণ হবে।
এই নির্দেশাবলী নিয়মিত ডেটা ফাইলগুলির জন্য কাজ করবে, তবে এটি কোনও গুরুত্বপূর্ণ অপারেটিং সিস্টেম ফাইল হলে আপনাকে পুরোপুরি পুনরায় ইনস্টল করার প্রয়োজন হতে পারে । অনেক অ-সমালোচক প্রোগ্রামগুলির জন্য, উইন্ডোজ থেকে দূষিত ফাইলটি মুছে ফেলা এবং প্যাকেজ ম্যানেজার ব্যবহার করে প্রোগ্রামটি পুনরায় ইনস্টল করা যথেষ্ট। একবার লিনাক্স হয়ে যাওয়ার পরে আপনি ফাইলটি মুছে ফেলতে পারবেন না।
ভবিষ্যতে আমি কীভাবে এড়াতে পারি?
lxss
উইন্ডোজ থেকে ডিরেক্টরিতে কোনও ফাইলকে কখনই হেরফের করবেন না । পরিবর্তে:
আপনার যদি কোনও ফাইল থাকে যা আপনি উইন্ডোজ এবং লিনাক্স উভয় থেকেই অ্যাক্সেস করতে চান তবে এটি আপনার উইন্ডোজ সিস্টেমে অন্য যে কোনও জায়গায় ডিরেক্টরি থেকে বাইরে সংরক্ষণ করুন lxss
। আপনি লিনাক্স থেকে স্বয়ংক্রিয় ড্রভএফএস আন্তঃব্যবহারযোগ্যতা ব্যবহার করে উইন্ডোজ ফাইলগুলি খুলতে পারেন : /mnt/c
ডিরেক্টরিটিতে আপনার সি: ড্রাইভের সমস্ত ফাইল রয়েছে এবং সেগুলি লিনাক্স থেকে পড়তে এবং লিখতে পারে।
1903 উইন্ডোজ রিলিজ (মার্চ 2019) থেকে শুরু করে, ডাব্লুএসএল একটি বিশেষ ফাইল সার্ভার অন্তর্ভুক্ত করে যা আপনার ফাইলগুলি সমস্ত উইন্ডোজ অ্যাপ্লিকেশনগুলিতে উপলব্ধ করে। আপনি যদি চালান
explorer.exe .
তারপরে ফাইল এক্সপ্লোরার বর্তমান লিনাক্স ডিরেক্টরিটি দেখিয়ে খুলবে - আপনি সেই উইন্ডোটির বাইরে বা তার বাইরে ফাইলগুলিকে অনুলিপি করতে বা কোনও অ্যাপ্লিকেশন দিয়ে এডিট করতে পারেন। ডিরেক্টরি পথটি এমন কিছু হবে \\wsl$\Ubuntu\var\www
: \\wsl$\
অংশটি একটি বিকল্প, নিরাপদ, পথের মাধ্যমে ফাইল অ্যাক্সেস প্রেরণ করে।
আপনি যদি সক্ষম হন তবে এটি এগিয়ে যাওয়ার সেরা পথ (বা কখনও কখনও উপরের দিকটি হবে)। পুরানো প্রকাশের জন্য, পড়ুন।
কনফিগারেশন ফাইলের মতো কোনও নির্দিষ্ট জায়গায় আপনার থাকতে হবে এবং আপনি উইন্ডোজ থেকে সম্পাদনা করতে চান, আপনি লিনাক্সের ভিতরে থেকে ফাইল বা ডিরেক্টরিটির আসল অবস্থানে একটি প্রতীকী লিঙ্ক তৈরি করতে পারেন:
ln -s /mnt/c/.../abc ~/.config/xyz/abc
এটি ততক্ষণ কাজ করবে যতক্ষণ না ফাইলটির লিনাক্সে কোনও সুনির্দিষ্ট অনুমতি বা অ্যাট্রিবিউট থাকা প্রয়োজন না (এক্সিকিউটেবল বা এসএসএইচ কী হিসাবে)।
বিকল্পভাবে এবং সম্ভবত আরও ভাল, টার্মিনালের মধ্যে লিনাক্স সম্পাদক ব্যবহার করে আপনার লিনাক্স ফাইলগুলি সম্পাদনা করুন। nano
, vim
এবং emacs
সমস্ত সহজেই উপলভ্য এবং ডাব্লুএসএল এর অধীনে ভাল কাজ করে, যদিও তাদের সবার বাতুলতা রয়েছে।
যদি আপনার একটি উইন্ডোজ প্রোগ্রামের সাথে কোনও ফাইল সম্পাদনা করতে হয় তবে আপনার সাম্প্রতিক পর্যায়ে যথেষ্ট উইন্ডোজ সংস্করণ নেই এবং আপনি এটিকে একটি সিমিলিংক তৈরি করতে পারবেন না, সম্পাদনা করার জন্য অন্য কোথাও একটি অনুলিপি তৈরি করুন এবং ঠিক এরপরেই আবার অনুলিপি করুন /mnt/c
, উপরে ঠিক করুন, বা একাধিক অবস্থান জুড়ে আপনার সম্পাদনাগুলি সিঙ্ক্রোনাইজ করতে সংস্করণ নিয়ন্ত্রণ ব্যবহার করুন।
কিছু পরীক্ষা-নিরীক্ষা থেকে, সাধারণ নোটপ্যাড প্রয়োজনীয় বৈশিষ্ট্যগুলি সংরক্ষণ করে বলে মনে হয়, তবে এটি ইউনিক্স লাইন সমাপ্তি বুঝতে পারে না সুতরাং আপনি নিজেরাই সামগ্রীতে দূষিত হওয়ার সম্ভাবনা রয়েছে এবং আমি কোনও অবস্থাতেই সেই আচরণের উপর নির্ভর করব না। কারণ এটি একটি সুস্পষ্টরূপে অসমর্থিত এবং অননুমোদিত অপারেশন, এটি কোনও উইন্ডোজ ভিত্তিক সম্পাদক নির্ভরযোগ্য হওয়ার সম্ভাবনা কম।