Ошибка при извлечении убедитесь что на диске достаточно места

Mister_krid, вот смотри, как у меня всё отлично работает:
— перехожу в каталог Документы
— создаю (запаковываю файл асе) с помощью утилиты rar архив test.rar через операнд a в папке Документы
— вывожу его листинг через операнд l
— распаковываю (извлекаю файл асе) этот архив с помощью утилиты unrar через операнд x в папку Загрузки
— перехожу в раздел Загрузки
— показываю, что он есть там через команду ls

$ cd Документы


:~/Документы$ rar a test.rar ace

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Evaluation copy. Please register.

Creating archive test.rar

Adding    ace                                                         OK 
Done


:~/Документы$ unrar l test.rar

UNRAR 5.61 beta 1 freeware      Copyright (c) 1993-2018 Alexander Roshal

Archive: test.rar
Details: RAR 5

 Attributes      Size     Date    Time   Name
----------- ---------  ---------- -----  ----
 -rwxrwx--x     10050  2021-03-12 11:44  ace
----------- ---------  ---------- -----  ----
                10050                    1



:~/Документы$ unrar x test.rar ~/Загрузки

UNRAR 5.61 beta 1 freeware      Copyright (c) 1993-2018 Alexander Roshal


Extracting from test.rar

Extracting  /home/fin/Загрузки/ace                                    OK 
All OK


:~/Документы$ cd ~/Загрузки


:~/Загрузки$


:~/Загрузки$ ls ace
ace

Всё отработало на УРА!

Содержание

  1. Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть
  2. Что делать, если закончилось место в Linux
  3. Проверьте с du и df
  4. Возможные причины
  5. Удаление файлов занятых процессом
  6. Недостаточно Инод (Inode)
  7. Плохие блоки
  8. Ошибка no space left on device в Linux
  9. Как исправить no space left on device
  10. 1. Отключить зарезервированное место для root
  11. 2. Очистить кэш пакетного менеджера
  12. 3. Очистить кэш файловой системы
  13. 4. Найти большие файлы
  14. 5. Найти дубликаты файлов
  15. 6. Удалите старые ядра
  16. Выводы
  17. Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть
  18. Недостаточно места на диске
  19. Ошибка в VirtualBox — недостаточно свободного места, как исправить?

Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть

На жёстком диске ещё есть место, но система Linux говорит, что места не осталось и любая операция, связанная с созданием файлов, завершается ошибкой с сообщением, что места на диске нет.

Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?

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

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

Что делать, если закончилось место в Linux

Вполне возможно, что на диске действительно закончилось место, тогда вам рекомендуются следующие статьи:

Если же место на самом деле имеется, то продолжайте чтение.

Проверьте с du и df

Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.

Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.

du

Для обхода всего дерева директорий потребуется время.

Теперь попробуем с df:

df

Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.

Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.

Возможные причины

Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.

Удаление файлов занятых процессом

Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.

Попробуйте найти процесс.

no space process

Если результатов нет, то попробуйте команду:

В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:

Недостаточно Инод (Inode)

inodes

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

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

В первую очередь нужно локализовать папку, в которой возникла проблема.

Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:

Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:

Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.

Например, использование первой команды для поиска по директории /src/:

Вариант для поиска по директории /var/cache/:

В разных ситуациях для пользователей проблемными папками оказывались:

В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 года из-за этой папки закончились иноды.

Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.

Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:

inodes 2

Плохие блоки

Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.

Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.

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

Кстати, сообщение “No space left on device” может возникнуть при попытке записать файл размером более 4GB на раздел с файловой системой FAT — данная файловая система не поддерживает файлы таких больших размеров.

Источник

Ошибка no space left on device в Linux

Ошибка no space left on device в Linux может возникать при использовании различных программ или сервисов. В графических программах данная ошибка может выводится во всплывающем сообщении, а для сервисов она обычно появляется в логах. Во всех случаях она означает одно. На разделе диска, куда программа собирается писать свои данные закончилось свободное место.

Избежать такой проблемы можно ещё на этапе планирования установки системы. Выделяйте под каталог /home отдельный раздел диска, тогда если вы займете всю память своими файлами, это не помешает работе системы. Также выделяйте больше 20 гигабайт под корневой раздел чтобы всем программам точно хватило места. Но что делать если такая проблема уже случилась? Давайте рассмотрим как освободить место на диске с Linux.

Как исправить no space left on device

Первым дело надо понять на каком разделе у вас закончилась память. Для этого можно воспользоваться утилитой df. Она поставляется вместе с системой, поэтому никаких проблем с её запуском быть не должно:

spaceleft3

1. Отключить зарезервированное место для root

Обычно, у всех файловых систем семейства Ext, которые принято использовать чаще всего как для корневого, так и для домашнего раздела используется резервирование 5% памяти для пользователя root на случай если на диске закончится место. Вы можете эту память освободить и использовать. Для этого выполните:

spaceleft2

2. Очистить кэш пакетного менеджера

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

sudo apt clean
sudo apt autoclean

Для очистки кэша yum используйте команды:

3. Очистить кэш файловой системы

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

4. Найти большие файлы

sudo apt install ncdu

Она сканирует все файлы и отображает их по размеру:

spaceleft1

Более подробно про поиск больших файлов читайте в отдельной статье.

5. Найти дубликаты файлов

С помощью утилиты BleachBit вы можете найти и удалить дубликаты файлов. Это тоже поможет сэкономить пространство на диске.

6. Удалите старые ядра

Выводы

Теперь вы знаете почему возникает ошибка No space left on device, как её предотвратить и как исправить если с вами это уже произошло. Освободить место на диске с Linux не так уж сложно, но надо понять в чём была причина того, что всё место занято и исправить её, ведь на следующий раз не всё эти методы смогут помочь.

Источник

Как исправить ошибку ‘No Space Left on Device’ (на устройстве не осталось места) на Linux, когда свободное место на самом деле есть

На жёстком диске ещё есть место, но система Linux говорит, что места не осталось и любая операция, связанная с созданием файлов, завершается ошибкой с сообщением, что места на диске нет.

Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?

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

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

Проверьте с du и df

Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.

Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.

kak ispravit oshibku no space left on device na ustrojstve ne ostalos mesta na linux kogda svobodnoe mesto na samom dele est 1

Для обхода всего дерева директорий потребуется время.

kak ispravit oshibku no space left on device na ustrojstve ne ostalos mesta na linux kogda svobodnoe mesto na samom dele est 2

Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.

Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.

Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.

Удаление файлов занятых процессом

Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.

Попробуйте найти процесс.

kak ispravit oshibku no space left on device na ustrojstve ne ostalos mesta na linux kogda svobodnoe mesto na samom dele est 3

Если результатов нет, то попробуйте команду:

В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:

Недостаточно Инод (Inode)

kak ispravit oshibku no space left on device na ustrojstve ne ostalos mesta na linux kogda svobodnoe mesto na samom dele est 4

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

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

В первую очередь нужно локализовать папку, в которой возникла проблема.

Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:

Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:

Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.

Например, использование первой команды для поиска по директории /src/:

Вариант для поиска по директории /var/cache/:

В разных ситуациях для пользователей проблемными папками оказывались:

В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 годы из-за этой папке закончились иноды.

Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.

Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:

kak ispravit oshibku no space left on device na ustrojstve ne ostalos mesta na linux kogda svobodnoe mesto na samom dele est 5

Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.

Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.

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

Кстати, сообщение “No space left on device” может возникнуть при попытке записать файл размером более 4GB на раздел с файловой системой FAT — данная файловая система не поддерживает файлы таких больших размеров.

Источник

Недостаточно места на диске

Здрям! При попытке скачать обновления для VMWare player выдает ошибку «Your harddrive is full. Free some space and try again».

rootfs 322M 143M 163M 47% /
udev 10M 0 10M 0% /dev
tmpfs 608M 732K 607M 1% /run
/dev/mapper/DeNeS-root 322M 143M 163M 47% /
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1,2G 0 1,2G 0% /run/shm
/dev/sda1 228M 17M 199M 8% /boot
/dev/mapper/DeNeS-home 435G 103G 311G 25% /home
/dev/mapper/DeNeS-tmp 368M 78M 272M 23% /tmp
/dev/mapper/DeNeS-usr 8,3G 4,2G 3,7G 54% /usr
/dev/mapper/DeNeS-var 2,8G 549M 2,1G 21% /var
/dev/sdb1 932G 120G 812G 13% /media/A0EE9264EE

Как это победить?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

tickНедостаточно свободного места в /home
Всем привет. Понадобилось создать каталог в /home, а mkdir говорит мне, что недостаточно места.

Подскажите вариант. Как увеличить раздел home за счёт свободного (нераспределённого) места на hdd диске?
Почему-то решил при установке, что для home 4Gb хватит. Но как всегда потянуло на приключения и.

Недостаточно места на диске при копировании данных
Помогите. Хотел скопировать на флешку емкостью 8 гигов инфу емкостью 4 гига. пишет НЕДОСТАТОЧНО.

Источник

Ошибка в VirtualBox — недостаточно свободного места, как исправить?

48319: 1039951524

Все это делаю для установки Kali Linux

О, еще один. А тебе он зачем? Я серьезно.

Создал ВМ на основе реального ЖД, на котором установлена W10.

Виртуальный VDI сделай динамический и все путем будет.

24506: 554219529

может быть в отсутствии прав, в винде геморно в корень писать. может хватить прав создать файл а писать уже не хватить прав

попробуйте создать в валидном для виндовс-культуры месте, завроде c:Users%username%document

Когда используешь реальный ЖД, ВБ не спрашивает о том, какой тип файла будет использоваться. Или вы предлагаете место vmdk создать vdi? Я просто начал работать с ВБ вчера, поэтому много не знаю и простите за возможные глупые вопросы.

48319: 1039951524

Там при создании есть пункт «Создать виртуальный жесткий диск». Вот его и создавай. Он бывает динамический (размер растет в зависимости от нужд установленной в него оси) и статический (размер постоянный).

Делаю все по инструкции в статье, о существовании GUI я не знал. Если вообще понимаю, о чем речь сейчас идет) Не могли бы подсказать, что это такое и где найти? Я догадываюсь, что это просто сам ВБ

24506: 554219529

Я догадываюсь, что это просто сам ВБ

48319: 1039951524

Про это я знал, только меня интересует работа с рельным ЖД, чтобы потом туда установить Кали

48319: 1039951524

напрямую с реальным жестким диском он не работает

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

48319: 1039951524

55786:1122802619

Тут уже была тема, где человек поставил Линукс на нтфс, в том же раздел, что виндоус: просто файлы валялись в директории параллельно. Не знаю выброс это был или нет. Всего ожидать можно.

48319: 1039951524

Тут уже была тема, где человек поставил Линукс на нтфс, в том же раздел, что виндоус:

Помню, да. У него тогда все же вроде вылезли какие-то косяки.

Источник

by Tashreef Shareef

Tashreef Shareef is a software developer turned tech writer. He discovered his interest in technology after reading a tech magazine accidentally. Now he writes about everything tech from… read more


Updated on November 4, 2020

  • The WinRAR not enough memory error can occur due to issues with RAM temporary swap space.
  • In this article, let’s explore a few ways to troubleshoot and eliminate the error for good.
  • For more troubleshooting tutorials, check out our dedicated Fix hub.
  • Find more file compression and zip software by exploring our Software section.

WinRAR not enough memory error

XINSTALL BY CLICKING THE DOWNLOAD FILE

To fix various PC problems, we recommend DriverFix:
This software will keep your drivers up and running, thus keeping you safe from common computer errors and hardware failure. Check all your drivers now in 3 easy steps:

  1. Download DriverFix (verified download file).
  2. Click Start Scan to find all problematic drivers.
  3. Click Update Drivers to get new versions and avoid system malfunctionings.
  • DriverFix has been downloaded by 0 readers this month.

WinRARis a popular data compression software, which offers encryption, and easy archiving for Windows. Besides this, as you might have guessed already, it easily opens RAR and Zip files.

That being said, at times, when trying to open a large zip file, you may encounter the not enough memory error in this software.

Things can get really serious if not being able to open archives or edit them gets in the way of your work tasks, thus causing you problems in the long term.

The word memory in this error indicates that the RAM temporary swap space or virtual disk space. So the error can occur even if you have enough RAM memory available.

This can get extremely annoying over time even if the error doesn’t stop you from accessing important files, or sending them.

Seeing the error appear time and time again, even though you know you have more than enough RAM memory available, will surely get to you.

For these reasons, in today’s guide, we will explore the best available options for you, if you find yourself in this predicament. Make sure to try out each of the solutions one by one to ensure that you will resolve this problem quickly.

What can I do to fix the WinRAR not enough space on disk error?

WinRAR not enough memory
The not enough memory error usually occurs when there is an issue with the WinRAR app. You can easily resolve the error by installing WinZip. You can download and use the app free for ten days. 

WinZip is a premium compression software that allows you to compress, protect, manage, and share all your files quickly and easily. WinZip supports all major file formats, including RAR, GZ, ISO, TAR, IMG TGX, and XZ formats.

Additionally, WinZip offers versatile file management on Windows computers, easy sharing by email, cloud, social media and IM, PDF conversion and watermarking feature, and top-level encryption to protect your personal data.

WinZip

WinZip

Easily bypass any RAM errors by simply using this amazingly powerful software today!

WinRAR not enough memory

  1. Launch the WinRAR app on your computer.
  2. Click on Options from the toolbar.
  3. Select Settings.
  4. Open the Paths folder in the Settings window.
  5. Under Folder for temporary files section, click the Browse button.
  6. Select the directory to which you want to extract the RAR file, which is triggering the error.
  7. Click OK to save the changes.
  8. Close WinRAR and all the associated windows.

Once you have made the changes, reboot the computer and then try extracting the file with error and check if the error is resolved. When selecting a new directory, make sure the disk has enough space to extract the large file without the error.


3. Reinstall WinRAR

WinRAR not enough memory

  1. Press the Windows key + R.
  2. Type control and click OK to open Control Panel.
  3. Click on Programs > Programs & features.
  4. Select WinRAR from the list of installed programs and click Uninstall.
  5. Confirm the action by clicking on Uninstall.
  6. Reboot the computer and reinstall WinRAR from the official website.
  7. Launch the app and check for any improvements.

The WinRAR error dealing with not enough memory usually occurs due to temporary issues with RAM. This can obviously affect the way you use your system altogether and even stop you from efficiently finishing any work-related tasks.

The implications of having issues with RAM can extend even further than that, reaching the level at which you won’t be able to run any software at the same time. This can affect the health of your PC in the long term.

You can fix this annoying problem simply by using a WinRAR alternative like WinZip. This powerful software not only enables you to avoid any high consumption of RAM while using it but also offers a set of incredible options and features.

If you choose not to use WinZip, then the possible resolution for this problem is to try changing the temporary extraction location or completely reinstall WinRAR.

Feel free to share your experience with us by using the comment section found below this guide.

Still having issues? Fix them with this tool:

SPONSORED

Some driver-related issues can be solved faster by using a dedicated tool. If you’re still having problems with your drivers, just download DriverFix and get it up and running in a few clicks. After that, let it take over and fix all of your errors in no time!

newsletter icon

UPD Да, вариант отпал. zip -d создаёт копию исходного архива, поэтому требуется удвоенное пространство на диске, чтобы этот рецепт сработал.

Почему бы вам не попробовать извлекать файлы в режиме «извлёк-удалил»?

#!/bin/bash
ARCHIVE=test.zip
echo -n "DEBUG: space used: "; du -s . # DEBUG

last="$(zipinfo -1 $ARCHIVE | tail -1)"
while [ "$last" != "Empty zipfile." ]; do
        unzip -o "$ARCHIVE" "$last"
        zip -d "$ARCHIVE" "$last"
        echo -n "DEBUG: space used: "; du -s . # DEBUG
        last="$(zipinfo -1 $ARCHIVE | tail -1)"
done

Скрипт берёт последний файл из списка файлов в архиве, извлекает этот файл и удаляет извлечённый файл из архива. Так как удаляется файл из хвоста архива, то архив точно сжимается на диске.

Для проверки я сгенерировал семь случайных бинарных файла по 4 мб размером, упаковал их в архив и распаковал этим скриптом.

DEBUG: space used: 57352        .
Archive:  test.zip
  inflating: samples/7.bin
deleting: samples/7.bin
DEBUG: space used: 57352        .
Archive:  test.zip
  inflating: samples/6.bin
deleting: samples/6.bin
DEBUG: space used: 57352        .
Archive:  test.zip
  inflating: samples/5.bin
deleting: samples/5.bin
DEBUG: space used: 57348        .
Archive:  test.zip
  inflating: samples/4.bin
deleting: samples/4.bin
DEBUG: space used: 57348        .
Archive:  test.zip
  inflating: samples/3.bin
deleting: samples/3.bin
DEBUG: space used: 57348        .
Archive:  test.zip
  inflating: samples/2.bin
deleting: samples/2.bin
DEBUG: space used: 57348        .
Archive:  test.zip
  inflating: samples/1.bin
deleting: samples/1.bin
DEBUG: space used: 57344        .
Archive:  test.zip
deleting: samples/
        zip warning: zip file empty
DEBUG: space used: 57344

Видно, что по мере распаковки размер папки не увеличивается.

Обновлено: 13.06.2023

Ситуация такая: в конторе есть сервер для файловой 1С и файлопомойки.
в нём установлены 4 харда. 2 (RAID) по 500 на ось и 2 (RAID) по 1000 для данных (разбит на 3 раздела).
Систему поставил недавно после того как сдох хард с Windows Server 2003. Установил 2008, подключил диски, настроил пользователей и права к шарам.
Вчера юзеры начали жаловаться на то, что они не могут закинуть большие файлы в общую папку из-за недостатка свободного места на диске.
Я перепроверил права на шару — всё ОК.
Посмотрел оснастку «Управление общими ресурсами и хранилищами» — там в каждом из трех разделов одного рейда указано свободного места 59% и 30 Мб. При этом фактически свободного места в них половина.

Эта ситуация выглядит странной и непонятной — что нужно сделать для очистки диска, если место и так есть?

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

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

Что делать, если закончилось место в Linux

Вполне возможно, что на диске действительно закончилось место, тогда вам рекомендуются следующие статьи:

Если же место на самом деле имеется, то продолжайте чтение.

Удаление файлов занятых процессом

Иногда файл будет удалён, но процесс все ещё использует его. Linux не освободит хранилище, связанное с файлом, пока процесс ещё запущен. Вам просто нужно найти процесс и перезапустить его.

Попробуйте найти процесс.

Если результатов нет, то попробуйте команду:

В списке должен присутствовать процесс, вызывающий проблему, затем просто перезапустите его:

Плохие блоки

Ещё одна распространённая проблема — это плохие блоки в файловой системе. Со временем из-за износа дисков, файловые системы повреждаются. Ваша операционная система, скорее всего, увидит эти блоки пригодными для использования, если они не помечены иным образом. Лучший способ найти и пометить эти блоки — использовать fsck с флагом -cc. Помните, что вы не можете использовать fsck из той же файловой системы, которую тестируете. Вам, вероятно, понадобится использовать Live CD.

Очевидно, замените /dev/sda2 на имя того диска и раздела, который вы хотите проверить. Кроме того, имейте в виду, что это, вероятно, займёт много времени.

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

ARK: Survival Evolved

6 фев. 2018 в 5:06
При обновлении, а точнее при выделении места пишет недостаточно места на диске. На диске 80гб. При выделении места 80гб ушли на глазах, а обновление так и не началось. (пишут недостаточно места). Обновлени 7.3гб
6 фев. 2018 в 7:53
9 ноя. 2018 в 6:42
я так понимаю у многих эта проблема! у меня сожрало 105 гб памяти но так и не обновилось и такая ерунда постоянно!
19 июн. 2020 в 13:43
19 июн. 2020 в 14:03

Больше места должно быть эта практика уже пройдена если примерно на 16 гигов обнова прилетает + 90 гигов схавывает за раз и еще гигов 120 свободного должно быть тогда все пройдет и после обновый все что схавала игра вернется и займен те же 16 +- гигов

Стим просит установить игру ARK:Survival Evolved хотя она уже установлена.

Ребят, перезагрузил комп захожу в стим пишет что игру ARK нужно установить. Захожу на диск смотрю а игра установлена как и была так и осталась. Но стим почему то просит её скачать. Но для скачивания у меня не хватает места, т.к. игра весит 200гб. А скачивать заново с моей скорость зайдём дня 3. Помогите пожалуйста.

Эт бывает бывает такое, только перестановка игры, у самого была с этой же игрой. Что эта за скорость что 3 дня будет устанавливается? Её то можно установить за 2 часа максимум при нормальной скорости.

Так по идее, если начать установку, то произойдет просто проверка файлов игры, и все.

Так по идее, если начать установку, то произойдет просто проверка файлов игры, и все.

Ну, лучше сперва этот вариант попробовать, раз интернет слабый и места нет (тем более, что в таком случае загрузку система и не начнет, а так и скажет — нету у вас места, надо освободить). А уж если не выйдет — ну тогда удалять и переустанавливать.
А перед «установкой» можно еще в настройках попробовать заново указать папку, в которой установлены игры, а заодно проверить, нет ли в какой-то папке русских букв.

Нет, я не могу начать загрузку. Т.к. пишет что на диске не хватает места.

Но я могу заходить в эту игру ток с рабочего стола или через папку.

Но я могу заходить в эту игру ток с рабочего стола или через папку.

Но я могу заходить в эту игру ток с рабочего стола или через папку.

Механическая кошка, да, стим в профиле пишет что я играю в ARK но в библиотеке всё ровно горит кнопка скачать.

Безе переустановки не как? Просто у меня скорость не более 1мб в секунду и качать 200гб как то не хочется дня 3-5.

Механическая кошка, да, стим в профиле пишет что я играю в ARK но в библиотеке всё ровно горит кнопка скачать.

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

Возможные причины

Возможны разные ситуации возникновения ошибки о том, что диск переполнен, когда на самом деле на нём ещё достаточно места. Если вы видите несоответствие между выводом команд du и df, то перейдите к первому варианту решения проблемы. В противном случае начните со второго.

Недостаточно Инод (Inode)

Для современных файловых систем Linux есть такое понятие как иноды (“inodes”) — это набор метаданных на файловой системе. Иноды отслеживают информацию о файлах. Многие файловые системы имеют фиксированное количество инод, поэтому очень возможно занять максимальное выделенное количество без заполнения самой файловой системы. Вы можете использовать для проверки команду df:

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

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

В первую очередь нужно локализовать папку, в которой возникла проблема.

Следующая команда выведет количество используемых инод каждой папкой, присутствующей в корне файловой системы:

Ещё варианты команд, которые делают это же самое (по умолчанию они настроены проверять текущую папку — это можно изменить, для этого вместо точки впишите желаемую для проверки папку:

Когда найдена папка с наибольшим количеством инод, то проверьте её подпапки — для поиска проблемной. Продолжайте эти действия, пока не найдёте папку с огромным количеством нагенерированных файлов.

Например, использование первой команды для поиска по директории /src/:

Вариант для поиска по директории /var/cache/:

В разных ситуациях для пользователей проблемными папками оказывались:

  • /var/lib/php/sessions/
  • /var/cache/fontconfig
  • /usr/src/
  • /var/cache/eaccelerator/
  • /var/log/squid3/

В /usr/src/ накапливалось слишком большое количество файлов, имеющих отношение к предыдущим ядрам. В /var/lib/php/sessions/ — бесконечные сессии phpMyAdmin. В /var/log/squid3/ и вообще в папке /var/log/ может накопиться огромное количество файлов с журналами от неправильно работающей программы или просто за много лет. В папке /var/cache/ может скопиться огромное количество файлов, имеющих отношение к кэшированию.

В моём случае причиной проблемы оказалась папка /var/cache/fontconfig — в этой папке постоянно накапливаются новые файлы (я не знаю, насколько это нормально) и по итогу работы за 4 года из-за этой папки закончились иноды.

Когда проблемная папка найдена, то нужно её очистить. Скорее всего все файлы в ней не нужны (оцените это исходя из вашей ситуации). Также весьма вероятно, что файлов там астрономическое количество и их обработка может затянуться на часы, поэтому самый быстрый вариант — удалить папку целиком, а затем создать её заново. Даже при таком подходе в моём случае удаление папки /var/cache/fontconfig заняло около 10-20 минут.

Это полностью разрешило мою проблему и снизило количество используемых инод со 100% до 13%:

Проверьте с du и df

Перед тем как начать искать проблему, давайте убедимся, что на диске действительно есть свободное место. Хотя инструменты с графическим интерфейсом хорошие, намного лучше использовать программы напрямую из командной строки.

Начнём с du. Укажем ей базовую директорию на диске у которого проблемы. Это руководство подразумевает, что проблемным диском является раздел с рутом.

Для обхода всего дерева директорий потребуется время.

Теперь попробуем с df:

Добавьте корень файловой системы (рут) и файловые системы, смонтированные под ним. Например, если у вас есть «/home» на отдельном диске, добавьте это к показанию для root. Количество занятого и свободного пространства должно получиться близко к тому, что нам показала программа du. Если это не так, это может указывать на то, что удалённые файлы используются процессами.

Главное, на что следует обратить внимание, чтобы вывод этих команд о занятом пространстве соответствовал друг другу и размеру диска. Если это не так, значит имеется проблема.

Читайте также:

      

  • Вылетает dawn of war 2
  •   

  • Как установить sonic the hedgehog
  •   

  • Как включить водяную помпу в фоллаут 4
  •   

  • Xcom 2 fitgirl repack как установить
  •   

  • Airline commander ошибка синхронизации

Понравилась статья? Поделить с друзьями:
  • Ошибка при извлечении содержимого страницы pdf при нумерации
  • Ошибка при извлечении диска что это
  • Ошибка при извлечении внешнего диска
  • Ошибка при извлечении iso образа
  • Ошибка при извлечении dvd rw дисковод windows 10