Резервная копия OpenWrt:
актуальное руководство

Старый метод с tar /overlay перестал работать на новых версиях. Разбираемся, как правильно делать бэкап на OpenWrt 24.10 и 25.12 — и что делать с уже имеющимися копиями.

OpenWrt 24.10
OpenWrt 25.12
⚠ Старый метод устарел

🚫 Почему старый метод больше не работает

Раньше самым надёжным способом считался полный дамп /overlay — раздела, в котором хранятся все изменения поверх базовой прошивки. Логика простая: скопировал, развернул на чистый роутер с той же прошивкой — получил точную копию.

Устаревший метод — не использовать на OpenWrt 24.10+

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

bash — УСТАРЕЛО
# ❌ НЕ ДЕЛАТЬ ТАК — неполный бэкап
tar -cvzf /tmp/overlay.tar.gz /overlay

# ❌ И восстановление так тоже не работает
cd /; tar -xvzf /tmp/overlay.tar.gz && sleep 5 && reboot

В версии 24.10.x был обнаружен баг: стандартный архив бэкапа (через LuCI или sysupgrade -b) мог создаваться повреждённым. В версии 25.12 этот баг исправлен.

🔄 Что изменилось в новых версиях

Параметр До 24.10 24.10 25.12+
Менеджер пакетов opkg opkg apk (Alpine)
Бэкап через LuCI Работает Иногда повреждён Исправлено
tar /overlay Частично Не рекомендуется Не рекомендуется
Attended Sysupgrade Опционально Опционально Встроен по умолчанию
Сохранение пакетов при обновлении Ручной список Ручной список Автоматически (ASU)

✅ Актуальный метод бэкапа

Полный бэкап OpenWrt состоит из двух частей: список установленных пакетов и архив конфигурации. Только вместе они позволяют восстановить роутер до рабочего состояния.

Шаг 1 — Сохранить список пакетов

Базовая прошивка не содержит сторонних пакетов. Их нужно переустановить после восстановления, поэтому список сохраняем отдельно.

bash · SSH на роутер
# OpenWrt 24.10 и старше (opkg)
opkg list-installed | awk '{print $1}' > /tmp/installed-packages.txt

# OpenWrt 25.12+ (apk)
apk info -v | awk '{print $1}' > /tmp/installed-packages.txt

# Проверяем
cat /tmp/installed-packages.txt

Скопируйте файл на компьютер через WinSCP, SCP или SFTP.

Шаг 2 — Создать архив конфигурации

На OpenWrt 24.10: используйте альтернативную команду ниже — она обходит баг с повреждёнными архивами. На 25.12 стандартный метод через LuCI снова работает корректно.
bash · надёжный метод (работает на всех версиях)
# Создаёт корректный архив через pipe — обходит баг 24.10
umask go=
sysupgrade -l -v | tar -czf /tmp/backup-${HOSTNAME}-$(date +%F).tar.gz -T -

# Проверяем что файл создан и не пустой
ls -lh /tmp/backup-*.tar.gz

Ключевое отличие от sysupgrade -b: используется sysupgrade -l (список файлов) + пайп в tar, минуя внутренний механизм, который давал сбои в 24.10.

Шаг 3 — Скопировать бэкап на компьютер

bash · установка SFTP (если не установлен)
# OpenWrt 24.10
opkg update && opkg install openssh-sftp-server
# OpenWrt 25.12+
apk update && apk add openssh-sftp-server

Подключайтесь через WinSCP (Windows) или Cyberduck (macOS) по SFTP, порт 22, пользователь root. Файлы в /tmp/.

Важно: /tmp в OpenWrt — RAM-диск. Файлы исчезают при перезагрузке. Скопируйте до рестарта.

🔁 Восстановление из бэкапа

Сначала прошиваем чистую прошивку, затем применяем конфигурацию и переустанавливаем пакеты.

  1. Прошейте роутер той же версией OpenWrt
    Бэкап привязан к версии прошивки. Скачайте образ на firmware-selector.openwrt.org.
  2. Загрузите архив конфигурации на роутер

    bash
    # Скопируйте backup.tar.gz в /tmp (через WinSCP/SCP), затем:
    sysupgrade -r /tmp/backup-OpenWrt-YYYY-MM-DD.tar.gz

  3. Переустановите пакеты из сохранённого списка

    bash · OpenWrt 24.10
    opkg update
    while IFS= read -r pkg; do
      opkg install "$pkg" 2>/dev/null
    done < /tmp/installed-packages.txt

    bash · OpenWrt 25.12+
    apk update
    apk add $(cat /tmp/installed-packages.txt | tr '\n' ' ')

🚀 OpenWrt 25.12: бэкап теперь проще

В версии 25.12 (Dave’s Guitar) Attended Sysupgrade (ASU) встроен по умолчанию и автоматически пересобирает прошивку с вашим набором пакетов при обновлении.

При обновлении через ASU система сама сохраняет список пакетов и разворачивает их вместе с конфигурацией. Ручное сохранение нужно только для экстренного восстановления при смене железа.

Стандартный бэкап через LuCI (System → Backup / Flash Firmware → Generate archive) снова работает корректно.

📦 Что делать со старыми бэкапами

Архивы overlay.tar.gz по старой инструкции не бесполезны — но требуют другого подхода.

Старые бэкапы /overlay не восстанавливаются через tar -xvzf на новых прошивках.

Разверните архив на компьютере и вручную перенесите нужные конфиги из etc/config/, etc/dropbear/, root/ через SCP или WinSCP.