এখানে অন্যান্য উত্তর সম্ভবত কাজ করবে। বিশেষত, সিমলিংক সমাধান সম্ভবত সবচেয়ে সহজ সমাধান হতে চলেছে। আমি প্রধানত সম্পূর্ণতার জন্য এই অফার।
অন্তর্ভুক্ত সমাধানগুলি mknod
(বা cp -a
) সমস্যাযুক্ত হয়ে ওঠে যদি ফাইলযুক্ত ফাইল সিস্টেমগুলি ডিভাইসগুলি সমর্থন করে না (উদাহরণস্বরূপ, এটি nodev
বিকল্পের সাথে মাউন্ট করা হয়েছিল , উদাহরণস্বরূপ)। এবং অবশ্যই, ফাইল সিস্টেম জুড়ে হার্ড লিঙ্কগুলি সহজেই কাজ করবে না।
হার্ড লিঙ্কগুলির বিকল্প বা নতুন ডিভাইস নোড তৈরি করার জন্য হ'ল বাইন্ড মাউন্টগুলি ব্যবহার করা, যা আপনাকে আপনার ফাইল সিস্টেমের গাছের একটি অংশ থেকে অন্য কোনও ফাইল থেকে ডিরেক্টরি বা ডিরেক্টরিতে মাউন্ট করতে দেয়। সুতরাং, উদাহরণস্বরূপ, আপনি চালাতে পারেন:
mount -o bind /dev/null /path/to/log.txt
এটি অনেকটা শক্ত লিঙ্কের মতো কাজ করে তবে:
- এটি ফাইল-সিস্টেম জুড়ে পরিচালনা করতে পারে (কারণ এটি হার্ড লিঙ্কের মতো ফাইলসিস্টেম ইনোডের উপর নির্ভর করে না)
- এটি কেবল পঠনযোগ্য ফাইল সিস্টেমগুলিতে কাজ করে (কারণ আপনি প্রকৃতপক্ষে ফাইল সিস্টেমটি পরিবর্তন করছেন না)
সম্পূর্ণ উদাহরণের জন্য:
bash-4.3# ls -l /var/log/boot.log
-rw-r--r--. 1 root root 7436 Dec 19 10:00 /var/log/boot.log
bash-4.3# mount -o bind /dev/null /var/log/boot.log
bash-4.3# ls -l /var/log/boot.log
crw-rw-rw-. 1 root root 1, 3 Dec 19 09:58 /var/log/boot.log
bash-4.3# echo words words words > /var/log/boot.log
bash-4.3# ls -l /var/log/boot.log
crw-rw-rw-. 1 root root 1, 3 Dec 19 09:58 /var/log/boot.log
chmod -w log.txt
?