"E212: লেখার জন্য ফাইল খুলতে পারে না


178

আমি ভিআই এডিটর ব্যবহার করে সোর্স.লিস্ট সম্পাদনা করার চেষ্টা করছি তবে ফাইলটি সংরক্ষণের সময় নিম্নলিখিত ত্রুটিটি পেয়েছি:

/etc/apt/sources.list" E212: Can't open file for writing

1
আমি যখন ডিরেক্টরিটি ফাইলটি লেখার চেষ্টা করছিলাম তখন এটি সর্বাধিক ছাড়িয়ে গেল I ডিস্ক ব্যবহার
মেহেদী নেলেন

1
উত্তরের একটিতে বর্ণিত একটি মন্তব্য হিসাবে, আপনি যে ফোল্ডারে ফাইলটি রেখেছেন সেটি মুছে ফেলা হয়েছে বা প্রথম স্থানে উপস্থিত না থাকলে আপনি এটি পেতে পারেন। পরিস্থিতির উপর নির্ভর করে ডিরেক্টরি পরিবর্তন করতে বা vi থেকে ডিরেক্টরি তৈরি করার জন্য আদেশগুলি সন্ধান করুন।
কন সাইক

উত্তর:


278
For some reason the file you are writing to cannot be created or overwritten.
The reason could be that you do not have permission to write in the directory
or the file name is not valid.

ভিমে একটি বিল্টিন হেল্প সিস্টেম রয়েছে। আমি কী বলে তা উদ্ধৃত করেছি :h E212

আপনি একটি সুপারসুজার হিসাবে ফাইলটি সম্পাদনা করতে চাইতে পারেন sudo vim FILE। অথবা আপনি যদি আপনার বিদ্যমান ভিম সেশনটি ছেড়ে যেতে না চান (এবং এখন যথাযথ সুডোর অধিকার রয়েছে) তবে আপনি ইস্যু করতে পারেন:

:w !sudo tee % > /dev/null

যা ফাইল সংরক্ষণ করবে।

আছে HTH


54
ধন্যবাদ! আমার ক্ষেত্রে এটি একটি বিদ্যমান অ-বিদ্যমান ডিরেক্টরিতে কোনও অ-বিদ্যমান ফাইল সম্পাদনা করার চেষ্টা করছিল। দেখা যাচ্ছে যখন আপনি অস্তিত্বহীন ফাইলটি "খুলুন" করতে পারেন এবং তারপরে এটি সংরক্ষণ করে তৈরি করেন, এটি অ-বিদ্যমান ডিরেক্টরিতে কাজ করে না। এবং এখন আমি ভিম অন্তর্নির্মিত সহায়তা সিস্টেম সম্পর্কে জানি! :)
ডোম ডেলিমার

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



: h E212 বলেছেন: ".bashrc" E212: E433 লেখার জন্য ফাইল খুলতে পারে না: কোনও ট্যাগ নেই E149: দুঃখিত, E212 এর জন্য কোনও সহায়তা নেই
হ্যালো_এই_আর

27

আমার সাথে সর্বদা এটি হয়, আমি লেখার জন্য একটি মূল ফাইল খুলি:

আপনার সমস্ত পরিবর্তন হারাতে এবং sudo দিয়ে পুনরায় খোলার পরিবর্তে। কীভাবে এই পরিবর্তনগুলি সংরক্ষণ করবেন এই ডেমোটি দেখুন:

নীচের ব্যবহারকারীর জন্য একটি মূল মালিকানার পঠনযোগ্য ফাইল তৈরি করতে একটি সময় সেটআপ ডেমো:

sudo touch temp.txt
sudo chown root:root temp.txt
sudo chmod 775 temp.txt
whoami
el

প্রথমে সাধারণ ব্যবহারকারী হিসাবে ফাইলটি খুলুন:

vi temp.txt

তারপরে ফাইলটিতে কিছু পরিবর্তন করুন, এটি আপনাকে কেবল এটি পড়ার জন্য সতর্ক করে। এই আদেশটি ব্যবহার করুন।

:w !chmod 777 %

তারপরে ফাইলটি লিখুন:

:wq!

অনুমতিগুলি প্রসারিত হয় এবং ফাইলটি সংরক্ষণ করা হয়। আপনার বিস্ময়বোধক পয়েন্টটি প্রয়োজন কারণ আপনি কম ব্যবহারকারী হিসাবে কোনও রুট ফাইল সম্পাদনা করছেন।

এই আদেশটি কী করে তার ব্যাখ্যা:

The: w এর অর্থ ফাইলটি লিখুন। ঠুং ঠুং শব্দটির অর্থ শেল হিসাবে ব্যাখ্যা শুরু করা। chmod এর অর্থ অনুমতি পরিবর্তন করা, 777 এর অর্থ সর্বত্র সম্পূর্ণ অনুমতি। শতাংশ মানে বর্তমান ফাইলের নাম।

এটি পরিবর্তন প্রয়োগ করে। আপনি জিজ্ঞাসা করুন যে আপনি আবার লোড করতে চান। "ওকে" জন্য "ও" টিপুন। পুনরায় লোড করবেন না বা আপনার পরিবর্তনগুলি হারাবেন।


13

আমার জন্য বেশ সহজ সমাধান ছিল। আমি উপস্থিত নেই এমন একটি ফোল্ডারে একটি ফাইল সম্পাদনা / তৈরি করার চেষ্টা করছিলাম । আমি ইতিমধ্যে ফোল্ডারে থাকা অবস্থায় আমি কোনও ফাইল সম্পাদনা / তৈরি করার চেষ্টা করছিলাম ।

অর্থাত pwd folder/file

এবং টাইপিং ছিল

sudo vim folder/file

এবং বরং স্পষ্টতই এটি ফোল্ডারে ফোল্ডারটির সন্ধান করছিল এবং সংরক্ষণ করতে ব্যর্থ হয়েছিল।


9

অথবা সম্ভবত আপনি কেবল পঠনযোগ্য মাউন্ট করা fs এ আছেন


1
এটি প্রশ্নের উত্তর সরবরাহ করে না। কোনও লেখকের কাছ থেকে সমালোচনা বা স্পষ্টতার জন্য অনুরোধ জানাতে, তাদের পোস্টের নীচে একটি মন্তব্য দিন।
দিমিত্রিজি

13
@ দিমিত্রিজি এখানে কোন প্রশ্ন জিজ্ঞাসা করা হচ্ছে না, কেবল একটি পরিস্থিতি বলা হচ্ছে। এই কারণেই আমি খুব একই পরিস্থিতিতে পড়েছিলাম এবং আমি মনে করি যে লোকেরা এটি সম্পর্কে জানার পক্ষে দরকারী হবে।
কেলোগগুলি

5

আমি জ্যাসল্টকে স্তরের ২ তে উল্লেখ করেছি, আমি ইনপুট:

:w !sudo tee % > /dev/null

এবং তারপরে আমার পরিস্থিতিতে আমি এখনও ফাইলটি সংশোধন করতে পারি না, সুতরাং এটি "!" যোগ করার অনুরোধ জানায়। সুতরাং আমি ইনপুট

:q! 

তারপর এটি কাজ করে


2
এটি কি কেবল ফাইলটি ছেড়ে দেয় না এবং সংরক্ষণ করে না?
jsibs


1

রুট হিসাবে সংযোগ করার চেষ্টা করুন এবং তারপরে ফাইল সম্পাদনা করুন। এটি আমার পক্ষে কাজ করে


1

আপনি যখন ভিমে ফাইলটি খুলবেন, সুডো ব্যবহার করুন। যেমন: sudo vim টেক্সটফাইলে। এটি সমস্যার সমাধান করবে।


ধন্যবাদ এটি সাহায্য!
পার্সসার

0

আপনি যে ফাইলটি অ্যাক্সেস করছেন সেটিতে একই ডিরেক্টরিতে ইতিমধ্যে সেখানে অদলবদল অনুলিপি (বা সোয়াপ সংস্করণ) থাকতে পারে has

সুতরাং প্রথমে দেখুন কোনও লুকানো ফাইল রয়েছে কি না।

উদাহরণস্বরূপ, নিম্নলিখিত ধরণের ফাইলগুলির জন্য দেখুন

.system.conf.swp

কমান্ড ব্যবহার করে

ls -a

এবং তারপরে, এটি ব্যবহার করে মুছুন ...

rm .system.conf.swp

সাধারণত, আমি সুপার ব্যবহার করে সুপার ব্যবহারকারীর সুবিধাগুলি ব্যবহার শুরু করার পরামর্শ দিচ্ছি ...

sudo su

0

আমি ব্যবহার করার সময় এই ত্রুটিটি পেয়েছি git rm কোনও ডিরেক্টরিতে কোনও ফাইল ।

আমি something / gitRepo / কোড / নতুন বৈশিষ্ট্যের মতো কিছুতে ছিলাম

নতুন বৈশিষ্ট্যে কেবল একটি ফাইল ছিল। আমি কgit rm সেই ফাইলটিতে তারপর vi ব্যবহার করে একটি নতুন ফাইল myNewFile তৈরি করার চেষ্টা করেছি।

উবুন্টু আমাকে এখনও নতুন বৈশিষ্ট্য ডিরেক্টরিতে থাকা হিসাবে দেখিয়েছে তবে বাস্তবে git rmপুরো ডিরেক্টরিটি সরিয়ে ফেলেছে।

আমাকে vi এর বাইরে বেরিয়ে আসতে হবে, একটি ডিরেক্টরি নেভিগেট করতে হবে এবং তারপরে নতুন বৈশিষ্ট্য ডিরেক্টরিটি পুনরায় তৈরি করতে হবে।


0

ব্যবহারকারীকে রুটে পরিবর্তন করুন

sodu su -

ইত্যাদি ব্রাউজ করুন

vi sudoers

ব্যবহারকারীর বেসরকারী বিভাগে রুট ব্যবহারকারীর সন্ধান করুন। আপনি এটি মত পাবেন

root ALL=(ALL:ALL) ALL 

আপনার ব্যবহারকারীর নামের জন্য একই এন্ট্রি করুন। যদি আপনার ব্যবহারকারীর নামটি 'মাইউজার' হয় তবে যুক্ত করুন

myuser ALL=(ALL:ALL) ALL

এটা দেখতে হবে

root ALL=(ALL:ALL) ALL 

myuser ALL=(ALL:ALL) ALL 

এটি সংরক্ষণ করুন. আপনার ব্যবহারকারীকে রুট ব্যবহারকারী পরিবর্তন করুন। আপনি যেখানে sudoers ইস্যু পেয়েছিলেন এখন একই চেষ্টা করুন


-2

রুট অ্যাক্সেসের সাথে আপনার কেবল জেমফাইলে প্রবেশ করতে হবে need আগে vi:

কমান্ড প্রয়োগ করুন:

sudo su -

তারপর:

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