dd: Writing '/ dev / null': ডিভাইসে কোনও স্থান অবশিষ্ট নেই


9

আমি একটি 550MB ফাইল / dev / নাল পড়ছি এবং আমি পাচ্ছি

dd: writing '/dev/null': No space left on device

আমি অবাক হয়ে গেলাম। আমি ভেবেছিলাম / দেব / নাল একটি ব্ল্যাকহোল যেখানে আপনি যত খুশি প্রেরণ করতে পারবেন (কারণ এটি ভার্চুয়াল এফএস)।

হ্যাঁ এই ত্রুটিটি পেয়ে আমার ডিস্কটি প্রায় পূর্ণ। ডিস্ক থেকে সামগ্রী মুছে ফেলা ছাড়া আমি আর কী করতে পারি?

 ls -l /dev/null
 -rw-r--r--    1 root     root             0 July 7 21:58 /dev/null

পরিবর্তে

 crw-rw-rw-    1 root     root        1,   3 July 7 02:58 /dev/null

আমি যে কমান্ডটি ব্যবহার করছি:

time sh -c "dd if=$filename of=/dev/null"

3
আপনি কি 21ls -l /dev/null
প্যাট্রিক

@ পেট্রিক যোগ করেছেন ls -l
অঙ্কুর আগরওয়াল

1
আপনি যে ডিডি কমান্ডটি চালাচ্ছেন তা অনুলিপি / পেস্ট করতে পারবেন?
ফোর্সফেস্ক

2
এটা সত্যিই অদ্ভুত। লেখার ক্ষেত্রে /dev/nullএই ত্রুটিটি কখনই ট্রিগার করা উচিত নয়, কারণ এটি আসলে কোথাও কিছু লিখেনি। আপনি ছাড়া timeকি একই প্রভাব পান ? দয়া করে আউটপুট পোস্ট করুন strace dd if=$filename of=/dev/null( কোনও গোপনীয় তথ্য নেই এমন কোনও ফাইল দিয়ে করুন ), বা ত্রুটিটি ট্রিগার করার জন্য strace dd if=$filename of=/dev/nullযদি timeপ্রয়োজন হয়।
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
@ গিলিস সমস্যাটি হ'ল আমার / দেব / নাল একটি চরিত্রের বিশেষ ফাইল নয়। আমি উপরে আমার প্রশ্ন আপডেট।
অঙ্কুর আগরওয়াল

উত্তর:


17

/dev/nullটাইপ অক্ষর ডিভাইসের একটি বিশেষ ফাইল। এই অক্ষর ডিভাইসের ড্রাইভার আপনি ডিভাইসে লেখার চেষ্টা করুন যা কিছু উপেক্ষা করে এবং সর্বদা সফল হয়। যদি কোনও লিখন /dev/nullব্যর্থ হয় তবে এর অর্থ হ'ল আপনি কোনওভাবে সঠিকটিকে সরিয়ে /dev/nullএবং নিয়মিত ফাইল দ্বারা এটি প্রতিস্থাপন করতে সক্ষম হয়েছেন । আপনি দুর্ঘটনাক্রমে সরানো হতে পারে /dev/null; তারপরে … >/dev/nullপরেরগুলি এটি নিয়মিত ফাইল হিসাবে পুনরায় তৈরি করবে have

দৌড়ে ls -l /dev/nullগিয়ে পরীক্ষা করুন যে লাইনটি দেখতে কিছুটা দেখতে দেখতে

crw-rw-rw- 1 root root 1, 3 Sep 13  2011 /dev/null

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

আপনার যদি ফাইলটি পুনরায় তৈরি করতে হয় তবে কয়েকটি সিস্টেম MAKEDEVমূলের প্যাথ বা অন্তর্গতভাবে কম্যান্ড সরবরাহ করে /devcd /dev; ./MAKEDEV stdস্ট্যান্ডার্ড বেসিক ডিভাইসগুলিকে পুনরায় তৈরি করতে রান করুন বা এর মতো কিছু /dev/null। বা সঠিকভাবে ডিভাইস নম্বর সরবরাহ করে ডিভাইসটি ম্যানুয়ালি তৈরি করুন; লিনাক্স এ, যে

mknod -m 666 /dev/null c 1 3

1
কি দারুন! আপনি একটি জীবনদাতা ধন্যবাদ, এটি সত্যই সহায়তা করে। আমি কখনই নাল মুছলাম না তবে এটি সেখানে ছিল না, আমি নিজে নিজে তৈরি করেছি।
Fr0zenFyr

1
@ ফ্র0জেনফায়ার আপনার কাছে সম্ভবত একটি স্ক্রিপ্ট মূল হিসাবে চলমান রয়েছে যা /dev/nullকিছু পরিস্থিতিতে সরিয়ে ফেলেছে , সম্ভবত এরকম কিছুtmp_file=$(mktemp); … … … if [ "$mode" = "quiet" ]; then tmp_file=/dev/null; done; … … … rm "$tmp_file"
গিলস'স-অশুভ হওয়া বন্ধ করুন '

আমাকে তখন আমার স্ক্রিপ্টগুলি পরীক্ষা করতে হবে, যদি এটি সত্য হয় তবে এমন একটি সম্ভাবনা রয়েছে যা নাল আবার মুছে ফেলা হবে। আমি এই পরিস্থিতি সনাক্ত করতে (সমাধান করতে) অক্ষম হলে আমি ফিরে আসব। সতর্ক থাকুন জন্য ধন্যবাদ। চিয়ার্স !! :)
Fr0zenFyr
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.