বিতরণটি একটি উবুন্টু সার্ভার যা 2.6.35-30 লিনাক্স কার্নেলটি চালাচ্ছে।
আমি একটি ডিরেক্টরি রাখতে চাই যা সম্পূর্ণরূপে স্মৃতিতে বসে। মূল অধিকার ছাড়াই এটি কি সম্ভব?
বিতরণটি একটি উবুন্টু সার্ভার যা 2.6.35-30 লিনাক্স কার্নেলটি চালাচ্ছে।
আমি একটি ডিরেক্টরি রাখতে চাই যা সম্পূর্ণরূপে স্মৃতিতে বসে। মূল অধিকার ছাড়াই এটি কি সম্ভব?
উত্তর:
লিনাক্স একটি tmpfs ডিভাইস সরবরাহ করে যা কোনও ব্যবহারকারী ব্যবহার করতে পারেন /dev/shm
,। এটি ডিফল্টরূপে নির্দিষ্ট ডিরেক্টরিতে মাউন্ট করা হয় না, তবে আপনি এখনও এটি হিসাবে ব্যবহার করতে পারেন।
কেবল একটি ডিরেক্টরি তৈরি করুন /dev/shm
এবং তারপরে এটি যেখানে চান সেখানে সিমিলিং করুন। আপনি তৈরি ডিরেক্টরিটি আপনার পছন্দ অনুযায়ী যে কোনও অনুমতি দিতে পারেন, যাতে অন্য ব্যবহারকারীরা এটি অ্যাক্সেস করতে না পারে।
এটি একটি র্যাম ব্যাকড ডিভাইস, তাই মেমোরিতে ডিফল্টরূপে কী আছে। আপনার ভিতরে যে কোনও ডিরেক্টরি তৈরি করতে পারেন/dev/shm
স্বাভাবিকভাবেই, এখানে রাখা ফাইলগুলি পুনরায় বুট থেকে বাঁচবে না এবং যদি আপনার মেশিনটি অদলবদল শুরু করে, /dev/shm
আপনাকে সাহায্য করবে না।
থেকে সোলারিস সমান্তরাল /dev/shm
হয় /tmp
যা "বদল" টাইপ পার্টিশন, এবং এছাড়াও মেমরি ভিত্তিক হয়। যেমনটি /dev/shm
স্বেচ্ছাসেবীর ব্যবহারকারীরা /tmp
সোলারিসে ফাইল তৈরি করতে পারেন ।
ওপেনবিএসডি-তে মেমরি ভিত্তিক মাউন্ট ব্যবহার করার ক্ষমতাও রয়েছে তবে এটি ডিফল্টরূপে উপলভ্য নয়। Mount_mfs কমান্ডটি সুপার ব্যবহারকারীর কাছে উপলব্ধ।
আমি অন্যান্য * বিএসডি সম্পর্কে নিশ্চিত নই।
/dev/tmpfs
সিস্টেমে এটি বলে মনে হচ্ছে না (আমার নিজস্ব সিস্টেমটিতেও একটি 3.0.0 কার্নেল নেই)। আপনি কি নিশ্চিত যে এটি আপনার বিতরণ দ্বারা নির্মিত কিছু নয়?
/run
এবং সম্ভবত /run/shm
আমার উত্তর আপডেট করার আগে আরও তদন্ত করা দরকার।
... সক্রিয় অদলবদল সিস্টেমগুলিতে ! আপনার কম্পিউটারটি সক্ষম করে দেওয়ার সম্ভাবনাগুলি খুব বেশি ।
আরও ভাল, সুরক্ষিত , মানক বিকল্প রয়েছে - ramfs
। আপনি ramfs
যদি বেসরকারী কী, বিটকয়েন বা ইথেরিয়াম ওয়ালেট ইত্যাদির মতো অস্থায়ী সংবেদনশীল ডেটা র্যাম-ব্যাকড স্পেস ব্যবহার করার পরিকল্পনা করেন তবে আপনি ব্যবহার করতে পারেন ।
ramfs
tmpfs
সুরক্ষার সাথে সম্পর্কিত হওয়ার চেয়ে ভাল , যেহেতু ramfs
ডেটা কখনই অদলবদল হয় না (কোনও ফিজিক্যাল স্টোরেজ ড্রাইভে সংরক্ষণ করা হয়), আবার অদলবদল tmpfs
হতে পারে । তৃতীয় পক্ষের তারপর swap 'র স্থান পরিদর্শন করতে এবং সংবেদনশীল তথ্য নিষ্কাশন ।
আপনি ramfs
মাউন্ট প্রস্তুত করতে পারেন যাতে কোনও অ-সুযোগ-সুবিধা প্রাপ্ত ব্যবহারকারী এটি অন-চাহিদা মাউন্ট / আনমাউন্ট করতে পারে।
এটি করার জন্য, আপনাকে একবারে মূল অধিকার প্রয়োজন হবে । আপনার সিস্টেমের প্রশাসককে আপনার জন্য এটির জন্য সেট আপ করতে বলুন, যদি আপনার মূল সুযোগগুলির অভাব থাকে।
প্রথমে, আপনাকে একটিতে একটি লাইন যুক্ত করতে হবে /etc/fstab
। Fstab- এ থাকা রেখাটি দেখতে দেখতে এটির মতো হতে পারে:
none /mnt/ramfs ramfs noauto,user,size=1024M,mode=0770 0 0
/mnt/ramfs
এটি একটি মাউন্ট পয়েন্ট, যেখানে ramfs ফাইল সিস্টেম মাউন্ট করা হবে। ডিরেক্টরি উপস্থিত থাকতে হবে।noauto
বিকল্পটি এটিকে স্বয়ংক্রিয়ভাবে মাউন্ট করা থেকে বিরত করে (যেমন সিস্টেমের বুট আপ এ)।user
নিয়মিত ব্যবহারকারীর দ্বারা এই মাউন্টযোগ্য করে তোলে।size
এই "ramdisk" আকার নির্ধারণ করে (আপনি ব্যবহার করতে পারেন M
এবং G
এখানে)।mode
হয় খুব গুরুত্বপূর্ণ , অকট্যাল কোড সহ 0770
শুধুমাত্র root এবং ব্যবহারকারী, যিনি এই ফাইল সিস্টেম মাউন্ট, এটি পড়তে ও লিখতে সক্ষম হবে অন্যদের না (আপনি পাশাপাশি আপনার পছন্দের বিভিন্ন কোড ব্যবহার পারে, কিন্তু এটা সম্পর্কে খুব নিশ্চিত করা! )।এটি হয়ে গেলে, কোনও ব্যবহারকারীর চাহিদা অনুসারে এটি মাউন্ট করতে সক্ষম হবে।
কিছু ব্যবহারকারী এটি মাউন্ট করার পরে, নতুন 1024 এমবি ramfs
ফাইল সিস্টেম তৈরি এবং মাউন্ট করা হয় /mnt/ramfs/
। এটি মালিকানাধীন হবে root:user
। একবার সে এটি আনম্যাম্ট করে নিলে বা সিস্টেমটি পুনরায় বুট হয়ে যায়, এই র্যাম-ভিত্তিক ফাইল সিস্টেমটি এর সমস্ত ডেটা দিয়ে অদৃশ্য হয়ে যাবে । যা দুর্দান্ত।
এছাড়াও, এই ফাইল সিস্টেমটি বেশ কয়েকটি ব্যবহারকারী স্বতন্ত্রভাবে মাউন্ট করতে পারে তবে একই সময়ে নয় , অর্থাত্ পরবর্তী ব্যবহারকারী দ্বারা মাউন্ট করার জন্য প্রস্তুত হতে, পূর্ববর্তী ব্যবহারকারীর এই ফাইল সিস্টেমটি আনমাউন্ট করতে হবে।
এতো উঁচু:
mount /mnt/ramfs/
আনমাউন্ট করতে:
umount /mnt/ramfs/
পিএস যদি আপনি rsync
একটি নন-রুট ব্যবহারকারী হিসাবে নতুন মাউন্ট করা / তৈরি র্যামফের রুটে ফাইলগুলি চেষ্টা করছেন , আপনি একটি rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1]
ত্রুটির মুখোমুখি হতে পারেন । এটি পুরোপুরি সূক্ষ্ম এবং প্রত্যাশিত, কারণ আপনার ব্যবহারকারী র্যাম ফাইল সিস্টেমের মূলের মালিক নয়। সমাধানটি সহজ, /mnt/ramfs/copied/
উদাহরণস্বরূপ এবং rsync
এটিতে কিছু ডিরেক্টরি তৈরি করুন ।
পিপিএস দেবিয়ান ৯-তে পরীক্ষিত হয়েছে খুব সুন্দর এটি উবুন্টুতেও কাজ করবে sure
আপনার সিস্টেমে একটি ইতিমধ্যে উপলব্ধ থাকতে পারে; গ্লিবসি ভিত্তিক সাম্প্রতিক লিনাক্স সিস্টেমগুলিতে সর্বদা একটি tmpfs মাউন্ট করা থাকে/dev/shm
।
যদি আপনার সিস্টেমে একটি না থাকে বা এটি খুব ছোট হয়, তবে রুট দ্বারা মাউন্ট করা একটি ফাইল সিস্টেমের অর্থ বেশিরভাগই ফুস । উবুন্টুতে, fuse
FUSE ব্যবহার করার জন্য আপনাকে গ্রুপে থাকতে হবে। মাধ্যমে দেখার জন্যে প্রাপ্তিসাধ্য ফিউজ ফাইল সিস্টেম , আমি শুধুমাত্র দেখতে Ramfuse , যা দুর্ভাগ্যবশত মূল প্রজেক্টের হয় পরিত্যক্ত।
সাধারণভাবে, না, ফাইল সিস্টেমগুলি কেবল রুট দ্বারা মাউন্ট করা যায়। যদি আপনি কোনও ব্যবহারকারীকে যথেচ্ছভাবে ফাইল-সিস্টেম স্থাপনের অনুমতি দেন তবে এটি মূলত তাদের মূল দেয়। (সহজ উপায়: ওভার ওভার / ইত্যাদি মাউন্ট করুন, আপনার নিজের পাসডওড এবং ছায়া সেখানে রাখুন, আপনি যে নতুন রুট পাসওয়ার্ডটি সবে তৈরি করেছেন তা সহ আনআম্ট করুন)
আপনি যদি কোনও নির্দিষ্ট জায়গায় টিএমপিএফ চান, তবে এটির /etc/fstab
পতাকাগুলি দিয়ে আপনি এটি যুক্ত করতে পারেন noauto,user
এবং তারপরে কোনও ব্যবহারকারী এটি মাউন্ট করতে সক্ষম হবেন (তবে এটি কেন কেবলমাত্র স্বয়ংক্রিয়ভাবে মাউন্ট করবেন না) এটি স্পষ্ট নয়)
যদি ব্যবহারকারীদের যথেচ্ছ tmpfs এর প্রয়োজন হয়, তবে আপনার কাছে কয়েকটি বিকল্প রয়েছে:
sudo
ব্যবহারকারীদের এটি চালানোর অনুমতি দেওয়ার জন্য ব্যবহার করুন । নিশ্চিত হয়ে নিন যে আপনি ব্যবহারকারীকে নির্বিচারে পথ বেছে নেওয়ার অনুমতি দিচ্ছেন না ।