रैम में / tmp ले जाएँ


16

मैं /tmpरैम की ओर बढ़ने और अच्छे अभ्यास का पालन करने की कोशिश कर रहा हूं :

  • /var/tmpइसमें नहीं रखा जाना चाहिए tmpfs, क्योंकि इसे रिबूट से बचना चाहिए

  • /tmpएक स्टैंड-अलोन के रूप में माउंट न करें tmpfs, लेकिन भरोसा करें /dev/shmया/run/shm

हालाँकि, चीजें 2.6 और 3.2 के बीच बदल गई हैं:

Tmpfs फाइल सिस्टम के विन्यास और चूक में परिवर्तन

3.2 कर्नेल पर, का उपयोग RAMTMP=yesमें /etc/default/tmpfs

मेरा सवाल है: मैं पुराने गुठली के साथ इस लक्ष्य को कैसे प्राप्त कर सकता हूं?

मेरी पसंद न तो संशोधित करने के लिए है / आदि / fstab न तो यह:

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

क्या RAMTMP2.6 कर्नेल के लिए कुछ ऐसा है ?


1
tmpfsहानिकारक माना जाता है । सोच के लिए भोजन।
sr_

8
@sr_ क्षमा करें, मैं लिंक किए गए लेख से पूरी तरह असहमत हूं। /tmpकर सकते हैं और अस्थायी फ़ाइलों के लिए इस्तेमाल किया जाना चाहिए, कि इसके पूरे बिंदु है। /tmpएक रिबूट ( /var/tmpउस के लिए उपयोग ) और जो एक ईमेल रैम + स्वैप (इसे बचाने के बिना) के आधे आकार की रचना करने के लिए नहीं माना जाता है ?
मार्को

@Marco यकीन है, मैं सिर्फ कुछ सोचा था कि मैं संबंधित में फेंक रहा था।
11:15 बजे sr_

जवाबों:


19

आपको लगता है कि, तुम बस माउंट कर सकते हैं सब करने की जरूरत नहीं है /tmpके रूप में tmpfsमें निम्नलिखित की तरह एक लाइन का उपयोग करके /etc/fstab:

tmpfs /tmp tmpfs mode=1777,nosuid,nodev 0 0

आप इसे लाइव भी कर सकते हैं (लेकिन इस बात को ध्यान में रखें कि वर्तमान में /tmpआपके मौजूदा फाइल सिस्टम पर इनकोड को छोड़कर और वर्तमान में फाइल डिस्क्रिप्टर को खोलने की अनुमति नहीं होगी, इसलिए आपको वास्तव में इसे संशोधित /etc/fstabऔर रीबूट करके करना चाहिए )

mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp

ध्यान दें कि tmpfsस्वैप कर सकते हैं। यदि आप वास्तव में रैम-केवल फ़ाइल सिस्टम चाहते हैं, तो उपयोग करें ramfs


क्रिस, मेरी बात "सर्वोत्तम अभ्यास" है। डेवलपर्स ने देशी समर्थन को माउंट / tmp पर ... / shm पर रखा; मैंने पढ़ा है कि एक ही tmpfs का फिर से उपयोग करना बेहतर है।
मैसिमो

3
@ मासीमो मेरी राय है कि सबसे अच्छा अभ्यास माउंट को बांधना नहीं है। यह अनावश्यक जटिलता जोड़ता है।
क्रिस डाउन

5
@ मास्सिमो आपको यह 'सर्वोत्तम अभ्यास' कहाँ मिल रहा है? एकमात्र कारण जो मैं /tmptmpfs के रूप में बढ़ते हुए देख सकता हूं , क्योंकि आपके पास अब 2 संभावित tmpfs फाइल सिस्टम हैं जो अधिक मेमोरी ( /tmpऔर /dev/shm) का उपयोग कर सकते हैं । लेकिन अगर आप वास्तव में 2 tmpfs माउंट भरने के बारे में चिंतित हैं, तो आप tmpfs माउंट का अधिकतम आकार घटा सकते हैं।
पैट्रिक

@ क्रिसडाउन बाँध माउंट के बारे में क्या बुरा है? एक भी tmpfs होने से चीजें सरल हो सकती हैं?
CMCDragonkai

2
@CMCDragonkai Bind mounts कुछ भी हैं, लेकिन आंतरिक रूप से सरल हैं, वे काफी कुछ अनपेक्षित कैविट के साथ आते हैं, जो कि आप शायद इरादा नहीं करते हैं (एक विशेष रूप से प्रचारित किया जा रहा है जो नाटक को पढ़ने के लिए केवल रिमाउंट की आवश्यकता होती है)। tmpfsइसके बजाय केवल दो आरोह का उपयोग करें।
क्रिस डाउन

17

/etc/default/tmpfsके लिए है sysvinit, systemd(डेबियन डिफ़ॉल्ट jessie के बाद से) आप केवल करने की जरूरत है:

systemctl enable tmp.mount

और डेबियन स्ट्रेच पर

cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783442#74 पर चैंज देखें


धन्यवाद! Jessie में tmpfs को स्थानांतरित करने के लिए यह सही तरीका है।
यासिरू जी

आपको बहुत - बहुत धन्यवाद! gentoo पर मुझे समझ नहीं आया कि मेरे / tmp पर tmpfs क्यों लगाया गया है। systemd script tmp.mount करती है।
ufk

4

मुझे पता है कि यह पुराना है लेकिन डेबियन-प्रकार के वितरण में सेट RAMTMP, RAMRUN और RAMLOCK इन / etc / default / tmpfs (/ etc / default / rcS या wheezy से पहले) एक ही काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.