На устройстве не осталось места, хотя оно есть.

На устройстве не осталось места, хотя оно есть.

Ноутбук с разбитым экраном, к которому я получаю доступ через 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.

решение1

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

sudo umount /tmp

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


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

решение2

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

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

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

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

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

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

решение3

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

sudo apt autoremove

Затем еще раз проверьте свое пространство с помощью dfкоманды

решение4

Чтобы узнать количество инодов в папке:

du * -s --inodes

Связанный контент