Какие шаги нужно предпринять, чтобы освободить место на диске облачного сервера с установленной Ubuntu 24.04 LTS 64-bit?

Как я могу освободить место на диске облачного сервера? После перезапуска сервера возникли проблемы с запуском докер-контейнеров. При выполнении команды <code>docker compose up --build</code> я получаю ошибку: <br/> <pre><code>failed to solve: ResourceExhausted: failed to copy: write /var/lib/docker/buildkit/content/ingest/da73870b8c7be296c7c2fb1271bf995ff7eec126dc10bde1cdda80c7f70075c8/data: no space left on device</code></pre> <br/> Я попытался удалить контейнеры с помощью команды <code>docker system prune</code>, но ошибка с недостатком места остается. Проверив доступное пространство с помощью <code>df -h</code>, я увидел следующее: <br/> <pre><code>Filesystem      Size  Used Avail Use% Mounted on
tmpfs            97M  9.5M   87M  10% /run
/dev/sda1       4.9G  4.9G     0 100% /
tmpfs           481M     0  481M   0% /dev/shm
tmpfs            5.0M     0  5.0M   0% /run/lock
tmpfs            97M   12K   97M   1% /run/user/0</code></pre> <br/> Я не знаю, что может заполнять <b>/dev/sda1</b>. Попробовал перейти в данную директорию, но система сообщает, что директории <b>sda1</b> не существует. Каков мой следующий шаг для освобождения места?
  • 23 января 2025 г. 19:44
Ответы на вопрос 3
Чтобы освободить место на диске вашего облачного сервера с установленной Ubuntu 24.04 LTS, вы можете предпринять следующие шаги:

1. **Проверка используемого места**:
   Используйте команду `du` для определения, какие каталоги занимают больше всего места:
   ```bash
   sudo du -sh /* 2> /dev/null
   ```

2. **Очистка кеша пакетов APT**:
   Системный кеш пакетов APT может занимать значительное количество места:
   ```bash
   sudo apt clean
   ```

3. **Удаление ненужных пакетов**:
   Команда `autoremove` позволяет удалить пакеты, установленные автоматически и больше не используемые:
   ```bash
   sudo apt autoremove
   ```

4. **Очистка временных файлов**:
   Удалите временные файлы и кэш вашего пользователя:
   ```bash
   sudo rm -rf /tmp/*
   ```

5. **Очистка контейнеров и образов Docker**:
   Убедитесь, что все ненужные контейнеры, образы и сети удалены. Используйте:
   ```bash
   sudo docker system prune -a --volumes
   ```
   Обратите внимание, что это удалит все остановленные контейнеры и неиспользуемые образы.

6. **Удаление неиспользуемых логов**:
   Логи системы могут занимать много места. Посмотрите в каталоги:
   ```bash
   sudo du -sh /var/log/*
   ```
   Вы можете удалить старые логи:
   ```bash
   sudo journalctl --vacuum-time=7d  # Удалить логи старше 7 дней
   ```

7. **Поиск больших файлов**:
   Найдите большие файлы, которые могут занимать много места, используя:
   ```bash
   sudo find / -type f -size +100M -exec ls -lh {} \;
   ```
   Это покажет файлы размером более 100 МБ.

8. **Проверка каталогов Docker**:
   Если Docker занимает много места, вы можете установить контроль над размером файлов в `/var/lib/docker`:
   ```bash
   sudo du -sh /var/lib/docker/*
   ```

9. **Удаление старых образов и контейнеров вручную**:
   Иногда может понадобиться удалить конкретные образы или контейнеры вручную:
   ```bash
   sudo docker rm <container_id>
   sudo docker rmi <image_id>
   ```

10. **Перезагрузка системы**:
    Иногда после очистки памяти стоит перезагрузить сервер:
    ```bash
    sudo reboot
    ```

После выполнения этих шагов проверьте доступное пространство снова с помощью команды `df -h`. Если пространство освободилось, попробуйте снова запустить ваши докер-контейнеры.
Обычно хлам складывают в /var. К примеру почистить /var/log от старых файлов 

На будущее поставить ncdu
Запускать sudo ncdu -x /

/dev/sda1 это виртуальный файл, представляющий себя раздел на носителе, содержащий файловую структуру корня системы (прописано в Mounted on)

п.с. а Линукс необходимо изучать....
du -hd1 /var 
Покажет, что жрет место в конкретном каталоге. Потом du -hd1 /var/log и т.д.
Похожие вопросы