На устройстве не осталось места, даже если

14

Ноутбук с битым экраном, к которому я получаю доступ через SSH. Команда sudo apt-get autoremoveдает мне следующие ошибки

cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device

Я получаю похожие ошибки от различных других команд, но gpartedсообщает, что в (одном) разделе ноутбука остается более 20 ГБ свободного места. Вот выводdf

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
udev            502644    484  502160    1% /dev
tmpfs           505433    503  504930    1% /run
/dev/sda1      7331840 214087 7117753    3% /
none            505433      2  505431    1% /sys/fs/cgroup
none            505433      3  505430    1% /run/lock
none            505433      4  505429    1% /run/shm
none            505433     16  505417    1% /run/user
overflow        505433    401  505032    1% /tmp

А также:

$ df -k
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             2010576       12   2010564   1% /dev
tmpfs             404348     1284    403064   1% /run
/dev/sda1      115247656 83994028  25809372  77% /
none                   4        0         4   0% /sys/fs/cgroup
none                5120        0      5120   0% /run/lock
none             2021732      204   2021528   1% /run/shm
none              102400       16    102384   1% /run/user
overflow            1024     1024         0 100% /tmp

Ошибка началась после того, как я побежал sudo apt-get upgrade.

Реза
источник
Пожалуйста, удалите ненужные файлы с помощью: sudo apt autoremoveи перепроверьте свое пространство
Джордж Удосен
Ты пробовал sudo apt autoclean?
Равексина
Эммм в вопросе упоминается, что автоудаление дает мне ошибки. autoclean ничего не делает.
Реза

Ответы:

6

В какой-то момент в прошлом ваша корневая файловая система заполнилась, и была создана небольшая временная / tmp для успешной загрузки. Этот маленький / tmp никогда не удалялся, поэтому теперь, даже если у вас есть место на /, вы все равно заполняете маленький / tmp и видите свою проблему. Просто размонтируйте его:

sudo umount /tmp

и, конечно же, постарайтесь, чтобы ваш / как можно более чистый.


Обычно / tmp является просто частью корневой файловой системы (/), отдельное монтирование не требуется, если только нет особых обстоятельств, таких как нехватка корневого файлового пространства (когда какой-то демон создает тот, который вы видите), или, возможно, у вас есть / на очень медленном носителе (например, на флеш-накопителе USB) и требуйте / tmp в оперативной памяти для производительности даже при ограниченном пространстве.

ubfan1
источник
ОК, я сделал это с помощью опции -l и запустил автоудаление. Как мне установить его обратно сейчас?
Реза
это дает мне umount: /tmp: not mounted. что мне делать ?
17
У вас другая проблема, поэтому задайте свой вопрос и укажите конкретную информацию.
ubfan1
9

Если вы столкнулись с этой проблемой, когда вы получаете ошибки, которые, по-видимому, указывают на то, что диск заполнен, а на нем нет, обязательно проверьте также использование inode.

Вы можете использовать, df -iчтобы получить быстрый отчет об используемых / доступных инодах для каждой точки монтирования.

Если вы видите, что у вас очень мало или мало inode, то следующим шагом будет определение того, какая папка содержит большинство inode. Поскольку каждый файл и каталог использует инод, у вас может быть папка с сотнями тысяч крошечных или пустых файлов, которые используют все иноды. Обычные подозреваемые включают: временный каталог, каталоги кэша веб-сайта, каталоги кэша пакета и т. Д.

Используйте эту команду, чтобы получить упорядоченный список подкаталогов с наибольшим количеством используемых inode:

sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

Запустите это в своей корневой папке, затем разверните, пока не найдете своего виновника.

Мики Динеску
источник
6

Я считаю, что у вас есть много неиспользуемых файлов, удалите их с помощью:

sudo apt autoremove

Затем перепроверьте свое место dfкомандой

Джордж Удосен
источник
Я сталкиваюсь с этим Нет места на диске вопроса, затем я бегу rebootиз терминала. Теперь система не может запуститься. После перезагрузки не отображается экран входа в систему, но темный экран. Как мне это исправить, пожалуйста.
Арилван
-1

Ваш каталог / tmp настроен на переполнение, поэтому в этом каталоге недостаточно места для выполнения операций apt-get

для сеанса терминала вы можете изменить местоположение tmp для apt-get, чтобы выполнить операцию

mkdir -p /home/<user>/tmp
export TMPDIR=/home/<user>/tmp

Финбар О'Махони
источник