Sekme tamamlama hataları: bash: here-document için geçici dosya oluşturamıyor: cihazda yer yok


38

Sekme çubuğunu kullanırken, şu hatayı alıyorum:

bash: here-document için geçici dosya oluşturulamıyor: cihazda boş alan kalmadı "

Herhangi bir fikir?

Bazı araştırmalar yapıyorum ve birçok insan / tmp dosyası hakkında konuşuyor, bu da taşma olabilir. Çalıştığımda şunu alıyorum 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

Görünüşe göre, / dev / data dizini patlamak üzere.

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

Boş görünüyor.

Debian'da yeniyim ve nasıl devam edeceğimi bilmiyorum. Genellikle bu bilgisayara ssh ile erişirdim. Bu sorunun yanı sıra, bu bilgisayarla birlikte başkalarına da sahip olabilirim, örneğin, GUI'yi kullanarak kullanıcıma her girmek istediğimde (root çalışıyorsa).

Xsession: warning: / tmp dosyasına yazılamıyor: Xsession bir hatayla çıkabilir


2
Gibi bir şey çalıştırmak istiyorsun du -hxd1 /, değil du /dev/sda2. /dev/sda2gerçekten diskte yok.
muru

Yanıtlar:


18

Kök dosya sisteminiz doludur ve dolayısıyla geçici dir'iniz (/ tmp ve bu konu için / var / tmp) de doludur. Birçok komut dosyası ve program, çalışan dosyalar için biraz alan, hatta dosyaları kilitleyebilir. / Tmp istenmeyen olduğunda kötü şeyler olur.

Dosya sistemini nasıl doldurduğunuzu hesaplamanız gerekiyor. Genelde bunun gerçekleşeceği yerler / var / log'dur (günlük dosyalarını dönüştürdüğünüzden emin olun). Veya / tmp dolu olabilir. Bununla birlikte, bir diskin doldurabileceği birçok başka yol vardır.

du -hs /tmp /var/log

Kendi bölmesini vermek / tmp vermek için yeniden bölümlendirme yapmak isteyebilirsiniz (bu, eski okul yoludur, ancak eğer yeterince diskiniz varsa) veya belleğe eşleyin (çok hızlı hale getirecek ancak başlayacak geçici dosyaları abartırsanız takas sorunlarına neden olabilirsiniz).


Merhaba, Önerdiğin her iki komuta da baktım ve hem / tmp hem de / var / log'nin oldukça boş olduğunu söyleyebilirim: sırasıyla 60K ve 49M.
lucasrodesg

1
Tekrar merhaba. Sonunda anladım. Neden tüm owncloud içeriğini / var altına yerleştirdim bilmiyorum. Yine çalışıyor!
lucasrodesg

16

Ayrıca /tmp/dizine yazma erişiminizi de kaybetmiş olabilirsiniz .

Öyle görünmeli:

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

Bunun gibi izinleri düzeltebilirsiniz:

chmod a+rwxt /tmp

Bu benim için çalıştı!
Joseph Chambers

2
Bu grep'in işe yaramaz bir kullanımı. ls -ld /tmpBunun yerine deneyin .
CVn

az önce panik atak sırasında tam olarak
durdun

10

Onların disk dolu olmadığında herkes bu hata ile burada alırsa, emin değil sadece kontrol etmek dfdeğil, aynı zamanda df -i. Bir dosya sisteminde sabit sayıda inode vardır ve her dosyanın bir tanesine ihtiyacı vardır. Yalnızca tonlarca küçük dosyanız varsa, çalıştırdığınızda sürücüde hala yeterli alan kalırken, dosya sisteminizin bu küçük dosyaları doldurması çok kolaydır df.


Benim yaşadığım sorun buydu! Yer kaplayan yeri bulmaya çalıştım. Hiç sorun değildi. İnode'ları tamamen kullanmıştım. /dev/root 4980000 4980000 0 100% /Belki de sistem uygun bir hata mesajı ile cevap vermeli?
ˆᵛˆ

3

Hata yapıyordum, sonra gördüm

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

Bunu doğrulayabildim,

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

2

Çok dolu olan klasörlerinizi bulmanın en hızlı yolu, klasör dosya boyutunu, kök klasördeki düzeylerde daraltmaktır. Kök klasörle başla:

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

Ardından - EITHER, derinliği, yani aşağıdaki seviyeleri arttırır:

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

VEYA - daha hızlı - hangi klasörün en fazla disk alanını yediğini görüyorsunuz ve aynısını bu klasörde yapıyorsunuz:

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

Bulduktan sonra, şunu kaldır:

rm -rf <path to overfull-folder>

1
çıktı dosyalarının büyüklüklerine göre sıralamak güzel sudo du -h --max-depth=1 / | sort -h(altta sort -hrdaha büyük dosyalar veya üstte daha büyük dosyalar için)
wranvaud

0

Bu aynı hatayı benim için, bu sunucu CloudLinux’da olduğu gibi, cagefsctl --remount username


-2

Bunun nedeni, disk alanının yeterli olmamasıdır, büyük dosyaları temizlemeniz veya yer kaplayan işlemleri temizlemeniz gerekir:

  1. df -h Sabit disk alanını görüntüle
  2. du -sh /* Hangi dizinin en büyük olduğunu görün, büyük dosyaları bulmak için adım adım
  3. du -h --max-depth=1 en büyük dosyayı bul

Bu sadece Haziran 2018 Çevik Bean tarafından cevap kusar gibi görünüyor
tripleee
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.