Что если «Err:4 http://deb.debian.org/debian bookworm-updates InRelease Error writing to file — write (28: No space left on device) [IP: 151.101.130.1»

Это сообщение говорит о том, что при обновлении Debian (apt update или apt upgrade) система не смогла записать файл, потому что на диске закончилось свободное место. Код ошибки (28: No space left on device) — классический индикатор переполненного раздела.

🔍 Что это значит

  • apt скачивает индексные файлы репозиториев в /var/lib/apt/lists/.
  • Если раздел, где находится /var (обычно корневой /), полностью заполнен, запись невозможна.
  • В результате обновление пакетов прерывается.

✅ Как проверить

  1. Узнать, сколько свободного места: df -h Обрати внимание на строки /, /var, /tmp.
  2. Проверить, какие каталоги занимают больше всего: du -sh /* 2>/dev/null du -sh /var/* 2>/dev/null

🛠 Возможные решения

  • Очистить кэш пакетов: sudo apt clean
  • Удалить старые журналы: sudo journalctl --vacuum-time=7d
  • Проверить /var/log и удалить или архивировать большие логи.
  • Очистить старые ядра (если их много): dpkg -l | grep linux-image sudo apt remove linux-image-<старые версии>
  • Если используется Docker/Podman — проверить /var/lib/docker или /var/lib/containers.
  • Временное решение: увеличить раздел или подключить дополнительный диск.

⚡ Совет: начни с df -h, чтобы понять, какой именно раздел переполнен. Иногда проблема не в корне, а в отдельном /boot или /var.

root@alexisiumus:/var# dpkg -l | grep linux-image rc linux-image-6.1.0-21-amd64 6.1.90-1 amd64 Linux 6.1 for 64-bit PCs (signed) ii linux-image-6.1.0-40-amd64 6.1.153-1 amd64 Linux 6.1 for 64-bit PCs (signed) ii linux-image-6.1.0-41-amd64 6.1.158-1 amd64 Linux 6.1 for 64-bit PCs (signed) ii linux-image-amd64 6.1.158-1 amd64 Linux for 64-bit PCs (meta-package)

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

📋 Что означают строки

  • rc linux-image-6.1.0-21-amd64
    • rc = пакет удалён, но конфигурационные файлы остались.
    • Это старое ядро, его бинарники уже удалены, но мусор может занимать место в /var/lib/dpkg/info и /boot.
  • ii linux-image-6.1.0-40-amd64
    • Установлено и используется (или доступно для загрузки).
  • ii linux-image-6.1.0-41-amd64
    • Тоже установлено, это более свежее ядро.
  • ii linux-image-amd64
    • Мета‑пакет, который всегда тянет последнюю стабильную версию ядра (сейчас 6.1.0-41).

🛠 Что можно сделать

  1. Удалить остатки старого ядра (rc): sudo apt purge linux-image-6.1.0-21-amd64 Это освободит немного места.
  2. Проверить, какое ядро реально используется: uname -r Если система грузится с 6.1.0-41, то 6.1.0-40 можно удалить: sudo apt purge linux-image-6.1.0-40-amd64
  3. Очистить кэш пакетов: sudo apt clean
  4. Проверить /boot: Старые ядра часто занимают место именно там. После удаления ненужных версий пространство освободится.

⚡ Совет: оставь минимум два ядра — текущее и одно запасное. Это безопаснее, чем держать десяток старых.

От alex

Обучаемый.