टैब पूर्णता त्रुटियां: bash: यहाँ-दस्तावेज़ के लिए अस्थायी फ़ाइल नहीं बना सकता: डिवाइस पर कोई स्थान नहीं बचा


40

टैब बार का उपयोग करते समय, मुझे यह त्रुटि मिलती रहती है:

bash: यहाँ-डॉक्यूमेंट के लिए टेम्प फाइल नहीं बना सकते: डिवाइस पर कोई जगह नहीं बची "

कोई विचार?

मैं कुछ शोध कर रहा हूं, और बहुत से लोग / tmp फ़ाइल के बारे में बात करते हैं, जो कुछ अतिप्रवाह हो सकता है। जब मैं निष्पादित करता df -hहूं तो मुझे प्राप्त होता है:

Filesystem      Size  Used Avail Use% Mounted on 
/dev/sda2       9.1G  8.7G     0 100% /
udev             10M     0   10M   0% /dev
tmpfs           618M  8.8M  609M   2% /run
tmpfs           1.6G     0  1.6G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.6G     0  1.6G   0% /sys/fs/cgroup
/dev/sda1       511M  132K  511M   1% /boot/efi
/dev/sda4       1.8T  623G  1.1T  37% /home
tmpfs           309M  4.0K  309M   1% /run/user/116
tmpfs           309M     0  309M   0% /run/user/1000

ऐसा लगता है कि / dev / data directory विस्फोट होने वाली है, हालाँकि अगर मैं टिप देता हूँ:

$ du -sh /dev/sda2
0   /dev/sda2

ऐसा लगता है कि यह खाली है।

मैं डेबियन में नया हूँ और मुझे नहीं पता कि आगे कैसे बढ़ना है। मैं आमतौर पर ssh के माध्यम से इस कंप्यूटर का उपयोग करता था। इस समस्या के अलावा मेरे पास इस कंप्यूटर के साथ कई अन्य लोग हैं, वे संबंधित हो सकते हैं, उदाहरण के लिए प्रत्येक बार जब मैं अपने उपयोगकर्ता को GUI (यह काम करता है रूट के साथ) में प्रवेश करना चाहता हूं:

Xsession: चेतावनी: लिखने में असमर्थ / tmp: Xsession एक त्रुटि के साथ बाहर निकल सकता है


2
आप जैसे कुछ चलाना चाहते हैं du -hxd1 /, नहीं du /dev/sda2/dev/sda2वास्तव में डिस्क पर मौजूद नहीं है।
मूरू

जवाबों:


19

आपका रूट फाइल सिस्टम भरा हुआ है और इसलिए आपके टेम्प डीर (/ tmp, और उस मामले के लिए var / tmp) भी भरे हुए हैं। बहुत सी स्क्रिप्ट और प्रोग्राम को काम करने वाली फ़ाइलों, यहां तक ​​कि फाइलों को लॉक करने के लिए कुछ जगह की आवश्यकता होती है। जब / tmp अप्राप्य है बुरी चीजें होती हैं।

आपको वर्कआउट करने की आवश्यकता है कि आपने फाइलसिस्टम कैसे भरा है। आमतौर पर ऐसा होने वाले स्थानों में / var / log (चेक करें कि आप लॉग फ़ाइलों को साइकल कर रहे हैं)। या / tmp भरा हो सकता है। हालाँकि कई, कई अन्य तरीके हैं जो डिस्क को भर सकते हैं।

du -hs /tmp /var/log

आप फिर से विभाजन / देने की इच्छा कर सकते हैं, यह स्वयं का विभाजन है (यह करने का पुराना स्कूल तरीका है, लेकिन अगर आपके पास बहुत डिस्क है यह ठीक है), या इसे स्मृति में मैप करें (जो इसे बहुत तेज़ बना देगा लेकिन शुरू करना यदि आप अस्थायी फ़ाइलों को अति करते हैं तो स्वैपिंग समस्याएँ)।


नमस्ते, मैंने आपके द्वारा सुझाए गए दोनों आदेशों को देखा और मैं कहूंगा कि दोनों / tmp और / var / log क्रमशः खाली हैं: 60K और 49M।
लुकासरोड्सग

1
फिर से नमस्कार। मैं आखिरकार मिल गया। मुझे नहीं पता कि मैंने सभी स्वयं की सामग्री को / var के अंतर्गत क्यों रखा है। यह फिर से काम करता है!
लुकासरोड्सग

16

हो सकता है कि आपने /tmp/डायरेक्टरी में राइट एक्सेस भी खो दिया हो ।

यह इस तरह दिखना चाहिए:

ls -l / |grep tmp
drwxrwxrwt   7 root root  4096 Nov  7 17:17 tmp

आप इस तरह की अनुमति को ठीक कर सकते हैं:

chmod a+rwxt /tmp

यह मेरे लिए काम किया!
जोसेफ चैम्बर्स

3
यह बेकार का बेकार उपयोग है। ls -ld /tmpइसके बजाय कोशिश करें ।
बजे एक सीवी

आप सिर्फ पैनिक अटैक पर पूरी तरह से रुक गए ... मेरे लिए वोट देने लायक
sbeskur

10

किसी को भी इस त्रुटि के साथ यहाँ हो जाता है जब उनके डिस्क भरा हुआ नहीं है, यकीन है कि बस नहीं की जाँच करने के लिए किया df, लेकिन यह भी df -i। किसी फ़ाइल सिस्टम पर निश्चित संख्या में इनोड होते हैं, और प्रत्येक फ़ाइल को एक की आवश्यकता होती है। यदि आपके पास बस छोटी फाइलें हैं, तो आपके फाइल सिस्टम के लिए इन छोटी फाइलों को भरना बहुत आसान है, जबकि ड्राइव पर अभी भी काफी जगह बची हुई है जब आप दौड़ते हैं df


यही समस्या थी मेरे पास! मैं यह जानने की कोशिश करता रहा कि अंतरिक्ष में क्या है। यह समस्या बिल्कुल नहीं थी। मैं पूरी तरह से इनोड्स का उपयोग कर चुका था। /dev/root 4980000 4980000 0 100% /शायद सिस्टम को उचित त्रुटि संदेश के साथ जवाब देना चाहिए?
ˆᵛˆ

3

मुझे त्रुटि मिल रही थी, तब मैंने देखा

[  672.995482] EXT4-fs (sda2): Remounting filesystem read-only
[  672.999802] EXT4-fs error (device sda2): ext4_journal_check_start:60: Detected aborted journal

मैं इसकी पुष्टि करने में सक्षम था,

mount | grep -i sda2
/dev/sda2 on / type ext4 (ro,relatime,errors=remount-ro,data=ordered)

2

अपने फ़ोल्डरों का पता लगाने का सबसे तेज़ तरीका रूट फ़ोल्डर से स्तरों में फ़ोल्डर फ़ाइल आकार को कम करना है। आप रूट फ़ोल्डर से शुरू करते हैं:

sudo du -h --max-depth=1 /

फिर - EITHER आप गहराई बढ़ाते हैं, अर्थात नीचे के स्तर:

sudo du -h --max-depth=2 /

या - तेज - आप यह देखते हैं कि किस फ़ोल्डर ने सबसे अधिक डिस्क स्थान खाया है, और इस फ़ोल्डर पर भी ऐसा ही करें:

sudo du -h --max-depth=1 /home/<user>/<overfull-folder>

एक बार मिल जाने के बाद, बस उस एक को हटा दें:

rm -rf <path to overfull-folder>

1
कई आउटपुट फाइलों के साथ उन्हें आकार के आधार पर क्रमबद्ध करना अच्छा है sudo du -h --max-depth=1 / | sort -h(नीचे sort -hrबड़ी फाइलें या शीर्ष पर बड़ी फाइलें)
wranvaud

0

मेरी इसी त्रुटि के मामले के लिए, यह एक cagefs समस्या थी क्योंकि यह सर्वर CloudLinux पर था, जिसके साथ संबोधित किया गया था cagefsctl --remount username


-2

इसका कारण यह है कि डिस्क स्थान पर्याप्त नहीं है, आपको बड़ी फ़ाइलों को साफ़ करने या स्पेस लेने वाली प्रक्रिया को साफ़ करने की आवश्यकता है:

  1. df -h हार्ड डिस्क स्थान देखें
  2. du -sh /* देखें कि कौन सी निर्देशिका सबसे बड़ी है, बड़ी फ़ाइलों को खोजने के लिए कदम से कदम
  3. du -h --max-depth=1 सबसे बड़ी फ़ाइल खोजें

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