/ দেব / নালকে কী পাঠানো হচ্ছে তা নিরীক্ষণ করবেন?


19

শুধু মজাদার জন্য:
যা যা লেখা হচ্ছে তা পর্যবেক্ষণ / ক্যাপচার / ডাম্প করার কোনও উপায় আছে /dev/null?

ডেবিয়ান বা ফ্রিবিএসডি-তে, যদি এটি গুরুত্বপূর্ণ হয় তবে অন্য যে কোনও ওএস নির্দিষ্ট সমাধানগুলিও এটি স্বাগত।


3
সম্ভব, তবে উত্তর এবং মন্তব্যগুলি বর্ণনা হিসাবে / এটি / খুব ভাল / ভাল ধারণা নয়।
শাদুর

2
@ শাদুর: খারাপ সমাধান হতে পারে তবে এ ধারণাটি আগ্রহী বা খারাপ ধারণা করে না।
jlliagre

1
প্রকৃতপক্ষে, আমি এই প্রশ্নটি সবেমাত্র পেয়েছি কারণ আমি বিবেচনা করছিলাম যে অনেক বন্দী হওয়া সামগ্রীর সামগ্রীর বিশ্লেষণ কী /dev/nullপরিণত হতে পারে। আমি নিজে গবেষণাটি করতে চাই না, তবে আমি ফলাফলগুলি পড়তে পছন্দ করব। (মূলত "জনগণের আবর্জনা
সন্ধানের

উত্তর:


12

মেকিং /dev/nullএকটি নামাঙ্কিত নল সম্ভবত সবচেয়ে সহজ উপায়। সতর্কতা অবলম্বন করুন যে কিছু প্রোগ্রাম ( sshdউদাহরণস্বরূপ) অস্বাভাবিক আচরণ করবে বা কার্যকর করতে ব্যর্থ হবে যখন তারা জানতে পারে যে এটি কোনও বিশেষ ফাইল নয় (বা তারা /dev/nullএটি থেকে ফিরে আসবে বলে প্রত্যাশা করে EOF)।

# Remove special file, create FIFO and read from it
rm /dev/null && mkfifo -m622 /dev/null && tail -f /dev/null
# Remove FIFO, recreate special file
rm /dev/null && mknod -m666 /dev/null c 1 3

এটি সমস্ত লিনাক্স বিতরণ এবং সমস্ত বড় বিএসডি এর অধীনে কাজ করা উচিত।


1
একটি বিষয় লক্ষণীয় হ'ল যদি tailব্যর্থ হয় তবে পাইপের বাফার পূর্ণ হওয়ায় প্রচুর প্রোগ্রাম ব্যর্থ হতে পারে।
আর্জেজ

4
যে প্রোগ্রামগুলি থেকে পড়ে /dev/nullতা এগুলি পছন্দ করে না।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

@ গিলস - সত্যই, তাই আমার নোট
ক্রিস ডাউন

3
@ অলি হ্যাঁ No magicইউনিক্স দর্শনের এক দিকনির্দেশক নীতি।
ফিহাগ

4
হুম /dev/null হয় , জাদু mknod /dev/null c 1 3এটা ডাকা জাদু সূত্র। (এবং এর জন্য আপনার কাছে সুপার পাওয়ার প্রয়োজন ...)
স্টাফেন গিমেনেজ

6

আমি একবার হার্ড উপায় / dev / নাল না খুঁজে পাওয়া যায় নি আছে একটি বিশেষ দেব ফাইল যাবে। অনেক দিন পূর্বে কাজের জায়গায় একটি আল্ট্রিক্স সিস্টেমের / dev / নাল মুছে ফেলা হয়েছে, সুতরাং পরের বার কোনও প্রোগ্রাম / dev / নালকে পুনঃনির্দেশিত করা হলে এটি প্রোগ্রাম থেকে আউটপুট পূর্ণ একটি সাধারণ ফাইল হিসাবে শেষ হয়েছিল। (আমি মনে করি এটি 'এ জাতীয় কোনও ফাইল বা ডিরেক্টরি ছিল না', যার অর্থ যখন আমরা যখন যা চলছে তা বের করার চেষ্টা করছিলাম, তখন আমরা করতাম cat /dev/nullএবং আমাদের জানানো হত যে no such file or directoryকোনটি আমাদের মধ্যে থেকে বিভ্রান্ত করেছে))

সুতরাং আমার পরামর্শটি কোনও নামযুক্ত পাইপের সাথে এটি প্রতিস্থাপন করা হবে এবং তারপরে একটি প্রোগ্রাম সংযুক্ত করুন যা এটি পড়বে এবং এটি পর্যবেক্ষণ করবে।


4
প্রচুর প্রোগ্রামগুলি /dev/nullসর্বদা একটি পঠন ( cat /dev/null > foo) এ 0 বাইট ফিরিয়ে দেওয়ার উপর নির্ভর করে । রয়ে /dev/nullবিষয়বস্তু সঙ্গে একটি নিয়মিত ফাইল হতে, এই প্রত্যাশা ভঙ্গ করবে।
আর্জেজ

1
হ্যাঁ, আমরা এটি এটি আবিষ্কার করেছি। প্রোগ্রামগুলি কোনও ইনপুট প্রত্যাশা করেছিল এবং এটির গবস পাবে না, প্লাস / ডেভ / পূরণ হচ্ছিল।
পল টমলিন

1

আমি এমন একটি ধারণার কথা ভাবি যেখানে / ডিভ / নাল কোনও ফাইল বর্ণনাকারীর একটি সিমিলিঙ্ক হতে পারে তবে সংযোজন কোডের সাহায্যে অপারেশনটি পড়তে বা লিখতে হয় তা নির্ধারণ করে এবং তারপর যদি এটি পড়ে থাকে তবে এটি অবশ্যই / ডিভ / রিয়েলইনল থেকে পৃথকভাবে তৈরি হওয়া থেকে পড়া উচিত mknod এবং যদি এটি লেখা হয় তবে আবেদনকারী প্রোগ্রামটির একটি নোট তৈরি করুন এবং লেখার জন্য / dev / নাল ব্যবহার করা প্রোগ্রামগুলি বিশ্লেষণ করার জন্য লগ / গণনা করার চেষ্টা করুন। পারফরম্যান্সের ক্ষেত্রে এটি অনেক বেশি ব্যয় করতে চলেছে, আমি মনে করি। আমি অনুমান করি যে এটি বেশিরভাগ শেল প্রোগ্রাম বা কোড যেভাবেই পুনঃনির্দেশ ব্যবহার করে practical Inotify / dev / নাল ব্যবহার নিরীক্ষণ করতে ব্যবহার করা যেতে পারে? বা 1: 3 ডিভাইস পরিচালনা করে এমন কার্নেল কোডটি পুনরায় লিখুন, আবার সংকলন করুন এবং পুনরায় ইনস্টল করুন, পরীক্ষামূলক।


2
এখনও কিছু সমস্যা রয়েছে, আমি এ জাতীয় কিছু করার চেষ্টা করেছি (কার্নেল নয়, তবে স্বচ্ছভাবে-ইশ অন্য একটি ফাইল থেকে পড়ার অনুমতি দিয়ে এবং /dev/nullডিমন থেকে নিয়ন্ত্রণ করে), এবং sshdএখনও অভিযোগ করেছি এবং শুরু করব না would
ক্রিস ডাউন

hmm..Demon থেকে / dev / নালটি নিয়ন্ত্রণে চলছে te আমি মনে করি বেশিরভাগ প্রোগ্রামগুলি / dev / নালকে অন্য একটি ফাইল হিসাবে ব্যবহার করতে চাইবে / সিস্টেমে / dev / নালটির গুরুত্ব এবং শব্দার্থতত্ত্ব leaving
নিখিল মুলি

ওয়েল, sshd(কমপক্ষে, যেমন দেবিয়ান স্কুইজের জন্য প্যাকেজড) অভিযোগ করে sshd: cannot create /dev/nullযে এটি সাধারণ ব্যবহার ছাড়া আর কিছুই নয়।
ক্রিস ডাউন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.