Помилки завершення вкладки: 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 ось-ось вибухне, однак якщо я підкажу:

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

Здається, це порожньо.

Я новачок в Debian, і я дійсно не знаю, як діяти далі. Я звичайно отримував доступ до цього комп’ютера через ssh. Окрім цієї проблеми, у мене є ще кілька користувачів із цим комп’ютером, вони можуть бути пов’язані, наприклад, кожного разу, коли я хочу ввести свого користувача за допомогою графічного інтерфейсу (з коренем він працює):

Xsession: попередження: не вдається записати в / tmp: Xsession може вийти з помилкою


2
Ви хочете запустити щось на кшталт du -hxd1 /, ні du /dev/sda2. /dev/sda2насправді не існує на диску.
муру

Відповіді:


19

Ваша коренева файлова система заповнена, отже, і ваш temp dir (/ tmp та / var / tmp для цього питання) також заповнений. Дуже багато сценаріїв та програм потребують певного місця для робочих файлів, навіть блокування файлів. Коли / tmp не можна записати погані речі трапляються.

Вам потрібно розібратися, як ви заповнили файлову систему. Зазвичай місця цього трапляються в / var / log (перевірте, чи ви перемикаєте файли журналу). Або / tmp може бути повним. Однак існує багато, багато інших способів, якими диск може заповнитися.

du -hs /tmp /var/log

Ви можете повторно розділити, щоб надати / tmp це власний розділ (це старий шкільний спосіб робити це, але якщо у вас є багато диска, це добре), або скласти його в пам'ять (що зробить це дуже швидко, але почне викликати проблеми із заміною, якщо перестаратися з тимчасовими файлами).


Привіт, я переглянув обидві команди, які ви пропонуєте, і я б сказав, що обидва / tmp та / var / log досить порожні: 60K та 49M відповідно.
lucasrodesg

1
Привіт ще раз. Я нарешті це отримав. Я не знаю, чому я розмістив увесь контент власного колориту під / var. Це працює знову!
lucasrodesg

16

Можливо, ви також втратили доступ для запису до /tmp/ каталогу.

Це повинно виглядати так:

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

Ви можете виправити такі дозволи:

chmod a+rwxt /tmp

Це працювало для мене!
Джозеф Чемберс

3
Це марне використання грепу. Спробуйте ls -ld /tmpзамість цього.
CVn

Ви щойно зупинили майже повну панічну атаку ... для мене варто проголосувати
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 /

Тоді - КОЖИ ви збільшуєте глибину, тобто рівні нижче:

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 знайти найбільший файл

Це, здається, просто відреагувало на відповідь Agile Bean з червня 2018 року.
триплея
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.