Резервная копия OpenWrt:
актуальное руководство
Старый метод с tar /overlay перестал работать на новых версиях. Разбираемся, как правильно делать бэкап на OpenWrt 24.10 и 25.12 — и что делать с уже имеющимися копиями.
🚫 Почему старый метод больше не работает
Раньше самым надёжным способом считался полный дамп /overlay — раздела, в котором хранятся все изменения поверх базовой прошивки. Логика простая: скопировал, развернул на чистый роутер с той же прошивкой — получил точную копию.
Устаревший метод — не использовать на OpenWrt 24.10+
Эти команды не обеспечивают полного восстановления на современных версиях OpenWrt. Структура файловой системы изменилась, а /overlay больше не содержит полный список установленных пакетов.
# ❌ НЕ ДЕЛАТЬ ТАК — неполный бэкап 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 — Сохранить список пакетов
Базовая прошивка не содержит сторонних пакетов. Их нужно переустановить после восстановления, поэтому список сохраняем отдельно.
# 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 — Создать архив конфигурации
# Создаёт корректный архив через 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 — Скопировать бэкап на компьютер
# 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-диск. Файлы исчезают при перезагрузке. Скопируйте до рестарта.🔁 Восстановление из бэкапа
Сначала прошиваем чистую прошивку, затем применяем конфигурацию и переустанавливаем пакеты.
-
Прошейте роутер той же версией OpenWrt
Бэкап привязан к версии прошивки. Скачайте образ на firmware-selector.openwrt.org. -
Загрузите архив конфигурации на роутер
bash
# Скопируйте backup.tar.gz в /tmp (через WinSCP/SCP), затем: sysupgrade -r /tmp/backup-OpenWrt-YYYY-MM-DD.tar.gz
-
Переустановите пакеты из сохранённого списка
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) встроен по умолчанию и автоматически пересобирает прошивку с вашим набором пакетов при обновлении.
Стандартный бэкап через LuCI (System → Backup / Flash Firmware → Generate archive) снова работает корректно.
📦 Что делать со старыми бэкапами
Архивы overlay.tar.gz по старой инструкции не бесполезны — но требуют другого подхода.
Старые бэкапы /overlay не восстанавливаются через tar -xvzf на новых прошивках.
Разверните архив на компьютере и вручную перенесите нужные конфиги из etc/config/, etc/dropbear/, root/ через SCP или WinSCP.