Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| ru:doc:howto:generic.sysupgrade [2017/12/19 22:57] – Debian | ru:doc:howto:generic.sysupgrade [2018/02/20 21:15] – ↷ Links adapted because of a move operation | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Процедура обновления ОС OpenWrt (Luci или sysupgrade) ====== | ||
| + | |||
| + | * Похожие страницы: | ||
| + | * [[docs: | ||
| + | * Forum post [[https:// | ||
| + | |||
| + | Обновление OpenWrt заменит всю текущую установку OpenWRT с новой версией. Это включает в себя ядро Linux, | ||
| + | |||
| + | Пути общего обновления ниже будет автоматически сохранять большую часть OpenWRT OS конфигурации путем сохранения и последующего восстановления файлов конфигурации в конкретных общих местах ( в том числе / etc / config конфигурации). Это позволит сохранить такие вещи, как настройки OpenWRT сети, настройки Wi-Fi, имя хоста устройства, | ||
| + | |||
| + | Первая часть процесса обновления для подготовки к обновлению. Это включает в себя программы документирования и настройки, | ||
| + | |||
| + | Далее это реальное обновление. Есть два пути общего обновления, | ||
| + | |||
| + | После OS обновления обычно есть некоторые дополнительные шаги настройки, | ||
| + | |||
| + | ====== Подготовка к обновлению OpenWrt ====== | ||
| + | |||
| + | |||
| + | **Как работает обновление OpenWrt OS** | ||
| + | |||
| + | Процедуры обновления Luci и sysupgrade работают путем сохранения указанных конфигурационных файлов, | ||
| + | |||
| + | В частности, | ||
| + | |||
| + | Каких-либо конфигурационных файлов или файлов данных, | ||
| + | |||
| + | ===== Определение пользовательских настроек ===== | ||
| + | |||
| + | |||
| + | **Список установленного пользователя пакеты определены в базе данных opkg пакета** | ||
| + | |||
| + | Этот сценарий из gsenna членов форума и был первоначально размещен в форуме для обсуждения « по умолчанию пакетов отношения 12.09rc2 1043nd» TP-Link в [[https:// | ||
| + | |||
| + | * Создание сценария | ||
| + | |||
| + | <code bash> | ||
| + | vi / | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/ash | ||
| + | echo >&2 User-installed packages are the following: | ||
| + | sed -ne '/ | ||
| + | s/// | ||
| + | h | ||
| + | } | ||
| + | /user installed/ { | ||
| + | g | ||
| + | p | ||
| + | }' / | ||
| + | </ | ||
| + | |||
| + | * Запуск сценария | ||
| + | |||
| + | <code bash> | ||
| + | /bin/ash / | ||
| + | </ | ||
| + | |||
| + | * Пример вывода: | ||
| + | |||
| + | < | ||
| + | User-installed packages are the following: | ||
| + | snmpd-static | ||
| + | </ | ||
| + | |||
| + | Обратите внимание, | ||
| + | |||
| + | Альтернативный сценарий, | ||
| + | |||
| + | * Создание сценария | ||
| + | |||
| + | <code bash> | ||
| + | vi / | ||
| + | </ | ||
| + | |||
| + | <code awk> | ||
| + | / | ||
| + | /^Status: .*user installed/ | ||
| + | </ | ||
| + | |||
| + | * Запуск сценария | ||
| + | |||
| + | <code bash> | ||
| + | awk -f / | ||
| + | </ | ||
| + | |||
| + | Этот скрипт будет выводить только список пользователей (и по умолчанию) установленные пакеты. | ||
| + | |||
| + | **Перечислите все пакеты, | ||
| + | |||
| + | Это альтернатива приведенному выше сценарию. Эта команда выведет список всех пакетов, | ||
| + | |||
| + | Обратите внимание, | ||
| + | |||
| + | <code bash> | ||
| + | # Эта версия для OpenWrt 14,07 " | ||
| + | find /overlay/ | sed s:/ | ||
| + | |||
| + | # Эта команда для OpenWRT 15,05 | ||
| + | find / | ||
| + | </ | ||
| + | |||
| + | **Убедитесь, | ||
| + | |||
| + | * Похожие страницы: | ||
| + | * '' | ||
| + | |||
| + | LuCI и sysupgradeобновления будут сохранять файлы конфигурации: | ||
| + | * перечисленные | ||
| + | < | ||
| + | |||
| + | |||
| + | * файлы, перечисленные в текстовых файлах / | ||
| + | * файлы, перечисленные в / | ||
| + | |||
| + | На основании списка пользователей установленных пакетов, | ||
| + | |||
| + | **Метод LuCI** | ||
| + | |||
| + | Перейдите система > Резервное копирование/ | ||
| + | |||
| + | Для того, чтобы просмотреть все конфигурационные файлы, которые будут сохранены на обновление, | ||
| + | |||
| + | |||
| + | **Метод командной строки** | ||
| + | |||
| + | Редактирование / | ||
| + | |||
| + | <code bash> | ||
| + | vi / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | ## This file contains files and directories that should | ||
| + | ## be preserved during an upgrade. | ||
| + | |||
| + | # / | ||
| + | # / | ||
| + | |||
| + | ## customization: | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | **Legacy: LuCI flash_keep section of / | ||
| + | |||
| + | Luci имеет отдельный набор настроек в разделе «Конфигурация экстерн „flash_keep“» в файле / | ||
| + | |||
| + | В прошлом по-видимому, | ||
| + | |||
| + | **Определение обновления изображения OpenWRT** | ||
| + | |||
| + | * Только " | ||
| + | * Найдите правильные " | ||
| + | |||
| + | **OpenWrt on x86** | ||
| + | |||
| + | :!: Для систем x86 нет «sysupgrade» изображений, | ||
| + | |||
| + | **Определение обновления изображения OpenWRT** | ||
| + | |||
| + | **Для обновления LuCI основе** | ||
| + | |||
| + | * Загрузите нужный файл обновления на компьютер с помощью веб-браузера | ||
| + | * Перейдите к процедуре обновления Luci, ниже | ||
| + | |||
| + | Для sysupgrade на основе обновления | ||
| + | |||
| + | * Загрузите нужный файл обновления в локальный / tmp RAM-диск в вашей системе OpenWrt. Каталог " / tmp " хранится в оперативной памяти (используя [[wp> | ||
| + | |||
| + | <code bash> | ||
| + | # Пример загрузки OpenWrt 15.05 образ обновления на TP-LINK TL-WR1043ND версия. 1.x router | ||
| + | cd /tmp | ||
| + | wget http:// | ||
| + | |||
| + | # Проверить целостность файла образа: | ||
| + | wget http:// | ||
| + | # Желаемый результат, | ||
| + | md5sum -c md5sums 2> /dev/null | grep OK | ||
| + | </ | ||
| + | |||
| + | * Перейдите к разделу " | ||
| + | |||
| + | **Поиск и устранение неисправностей: | ||
| + | |||
| + | Если /tmp файловая система вашего устройства не является достаточно большим, | ||
| + | |||
| + | Во-первых использование проверки памяти с free или top или cat / | ||
| + | |||
| + | |'' | ||
| + | | ||
| + | Mem: | ||
| + | -/+ buffers: | ||
| + | Swap: 0 0 0'' | ||
| + | |||
| + | |'' | ||
| + | Filesystem | ||
| + | / | ||
| + | tmpfs | ||
| + | tmpfs 512 | ||
| + | / | ||
| + | mini_fo:/ | ||
| + | One has actually 752+6636 KiB of free memory available. | ||
| + | |||
| + | * quickest and safest way to free up, some RAM is to delete the '' | ||
| + | |||
| + | <code bash> | ||
| + | rm -r / | ||
| + | </ | ||
| + | |||
| + | * drop caches: | ||
| + | <code bash> | ||
| + | sync && echo 3 > / | ||
| + | </ | ||
| + | |||
| + | * предотвратить загрузку драйверов беспроводной сети при следующей загрузке и перезагрузке: | ||
| + | |||
| + | <code bash> | ||
| + | rm / | ||
| + | rm / | ||
| + | rm / | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | Беспроводные драйверы, | ||
| + | |||
| + | ===== Процедура обновления веб-интерфейс LuCI ===== | ||
| + | |||
| + | |||
| + | * Войдите в веб-интерфейс маршрутизатора Luci (по умолчанию: | ||
| + | * Выбрать системы ⇒ резервного копирования / обновить Встроенное по ⇒ конфигурации редактировать " | ||
| + | * Выбрать системы ⇒ система ⇒ файлов редактировать " | ||
| + | * Выбор Системы ⇒ Резервного Копирования / Обновить Встроенное По ⇒ Действия (Отношение Регулировки) | ||
| + | * Выбор системы ⇒ флэш-прошивки (предыдущих версий) | ||
| + | * Загрузить внешний файл изображения обновления, | ||
| + | * Luci будет вычислять контрольную сумму MD5 файла, если он правильный, | ||
| + | |||
| + | * Подождите, | ||
| + | * После автоматической перезагрузки, | ||
| + | * Перейдите к «Дополнительным настройкам после обновления OpenWRT» раздел ниже | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | |||
| + | ===== sysupgrade SSH / Процедура обновления терминала ===== | ||
| + | |||
| + | |||
| + | * Похожие страницы: | ||
| + | https:// | ||
| + | |||
| + | * Используйте следующую команду для обновления: | ||
| + | |||
| + | <code bash> | ||
| + | sysupgrade -v / | ||
| + | </ | ||
| + | |||
| + | * Многословный-вариант должен дать некоторые результаты, | ||
| + | |||
| + | < | ||
| + | Saving config files... | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/group | ||
| + | etc/hosts | ||
| + | etc/inittab | ||
| + | etc/passwd | ||
| + | etc/profile | ||
| + | etc/ | ||
| + | etc/shadow | ||
| + | etc/shells | ||
| + | etc/sudoers | ||
| + | etc/ | ||
| + | etc/ | ||
| + | etc/ | ||
| + | killall: watchdog: no process killed | ||
| + | Sending TERM to remaining processes ... ubusd askfirst logd logread netifd odhcpd snmpd uhttpd ntpd dnsmasq | ||
| + | Sending KILL to remaining processes ... askfirst | ||
| + | Switching to ramdisk... | ||
| + | Performing system upgrade... | ||
| + | Unlocking firmware ... | ||
| + | |||
| + | Writing from < | ||
| + | Appending jffs2 data from / | ||
| + | Error fixing up TRX header | ||
| + | Upgrade completed | ||
| + | Rebooting system... | ||
| + | </ | ||
| + | |||
| + | Примечание: | ||
| + | |||
| + | * Подождите, | ||
| + | * После автоматической перезагрузки, | ||
| + | * Перейдите к «Дополнительным настройкам после обновления OpenWRT» раздел ниже | ||
| + | |||
| + | **Устранение неисправностей** | ||
| + | |||
| + | * В случае, | ||
| + | |||
| + | * Будьте осторожны / | ||
| + | |||
| + | | {{: | ||
| + | |||
| + | ===== Дополнительная настройка после обновления OpenWRT ===== | ||
| + | |||
| + | |||
| + | **Проверка новой версии ОС** | ||
| + | |||
| + | * В Luci, перейдите к положению> | ||
| + | * В SSH баннер входа содержит сведения о выпуске | ||
| + | |||
| + | **Проверьте наличие обновляемого пакетов** | ||
| + | |||
| + | После первоначального обновления рекомендуется проверить наличие обновленных пакетов, | ||
| + | |||
| + | * Перечислите любые доступные обновляемые пакеты: | ||
| + | |||
| + | <code bash> | ||
| + | opkg update | ||
| + | opkg list-upgradable | ||
| + | </ | ||
| + | |||
| + | * Обновите все перечисленные пакеты (если они были перечислены) - можно включить несколько пакетов | ||
| + | * Примечание: | ||
| + | * Примечание: | ||
| + | |||
| + | <code bash> | ||
| + | opkg upgrade luci-lib-ip luci-theme-bootstrap luci-app-firewall luci-proto-ppp luci-mod-admin-full luci-base luci-proto-ipv6 luci-lib-nixio luci | ||
| + | </ | ||
| + | |||
| + | * Убедитесь, | ||
| + | |||
| + | <code bash> | ||
| + | opkg list-upgradable | ||
| + | </ | ||
| + | |||
| + | **Переустановите пакеты, | ||
| + | |||
| + | После успешного обновления необходимо переустановить все ранее установленные пакеты. Вы составили список этих выше. Файлы конфигурации пакетов должны быть сохранены из-за действий, | ||
| + | |||
| + | * Например: | ||
| + | |||
| + | <code bash> | ||
| + | opkg update | ||
| + | opkg install snmpd-static | ||
| + | </ | ||
| + | |||
| + | **Настройка установленных пользователем пакетов** | ||
| + | |||
| + | В новых установках пакета будут установлены новые версии файлов конфигурации пакета по умолчанию. Поскольку существующие конфигурационные файлы уже были созданы, | ||
| + | |||
| + | Новые файлы конфигурации пакета, | ||
| + | |||
| + | Программа diffutils полезна для этого. | ||
| + | |||
| + | * Например: | ||
| + | |||
| + | <code bash> | ||
| + | # Установить Diffutils | ||
| + | opkg install diffutils | ||
| + | |||
| + | # Найти все файлы -opkg | ||
| + | find /etc -name *-opkg | ||
| + | |||
| + | # сравниваем старые настроенный файл /etc/config и/snmpd будет с новый общий файл /etc/config и/snmpd будет-opkg | ||
| + | diff / | ||
| + | |||
| + | # слияние всех необходимых изменений в активной версии файла конфигурации | ||
| + | vi / | ||
| + | # и очистить путем удаления пакета менеджер-версию файла конфигурации | ||
| + | rm / | ||
| + | |||
| + | # Или если новая версия предоставляется сопровождающим пакета следует просто заменить старый конфигурационный файл, | ||
| + | mv / | ||
| + | </ | ||
| + | |||
| + | **Включить и запустить установленные пользователем пакеты** | ||
| + | |||
| + | * Наконец, | ||
| + | |||
| + | <code bash> | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | ** Выполните пробную перезагрузку** | ||
| + | |||
| + | Обновление полностью завершено. Хорошая идея сделать тестовую перезагрузку и убедиться, | ||
| + | |||
| + | < | ||
| + | reboot | ||
| + | </ | ||
| + | |||
| + | ===== Альтернативные процедуры обновления ОС до Luci или sysupgrade ===== | ||
| + | |||
| + | |||
| + | В OS параметры обновления гораздо более ручной, | ||
| + | |||
| + | **mtd** | ||
| + | |||
| + | - Если sysupgrade не поддерживается для встроенного устройства, | ||
| + | mtd -r write / | ||
| + | |||
| + | **Netcat** | ||
| + | |||
| + | **Прямой метод** | ||
| + | |||
| + | Netcat можно было бы использовать, | ||
| + | | {{: | ||
| + | |||
| + | - На компьютере Linux запустите:< | ||
| + | nc -q0 192.168.1.1 1234 < openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin | ||
| + | </ | ||
| + | - На маршрутизаторе выполните:< | ||
| + | nc -l -p 1234 | mtd write - firmware | ||
| + | </ | ||
| + | |||
| + | **Косвенный метод** | ||
| + | |||
| + | | {{: | ||
| + | **Этот метод отлично подходит для самостоятельной сборки firmwares.** | ||
| + | |||
| + | Вы должны проверить, | ||
| + | |||
| + | |||
| + | **Передача файла изображения во временную папку** | ||
| + | |||
| + | * На вашем GNU/Linux PC запустите run:< | ||
| + | |||
| + | * На маршрутизаторе выполните: | ||
| + | | ||
| + | * Порт 3333 адрес 192.168.1.111 IP только примеры. Команда «'pv -b'» является обязательным для отслеживания прогресса, | ||
| + | |||
| + | **Напишите это для вспышки** | ||
| + | |||
| + | sysupgrade:< | ||
| + | |||
| + | **ИЛИ** | ||
| + | |||
| + | mtd:< | ||
| + | |||
| + | Я тестировал под Ubuntu 11.10. | ||
| + | |||
| + | **Некоторые полезные ссылки для Netcat** | ||
| + | |||
| + | * http:// | ||
| + | * http:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | |||
| + | **scp** | ||
| + | |||
| + | Убедитесь, | ||
| + | < | ||
| + | root@OpenWrt:/# | ||
| + | </ | ||
| + | |||
| + | Убедитесь, | ||
| + | |||
| + | **Скопируйте прошивку на маршрутизаторе** | ||
| + | |||
| + | На вашем компьютере Linux запустите: | ||
| + | < | ||
| + | linux$ scp openwrt-ar71xx-tl-wr1043nd-v1-squashfs-sysupgrade.bin root@192.168.1.1:/ | ||
| + | </ | ||
| + | Ввод «да» estabilish подлинность, | ||
| + | |||
| + | **Написать прошивку вашего маршрутизатора** | ||
| + | |||
| + | < | ||
| + | |||
| + | **Заметка** | ||
| + | |||
| + | **192.168.1.1** является IP - адрес (можно назвать GateWay) вашего маршрутизатора. Проверка бегом: | ||
| + | run: | ||
| + | < | ||
| + | или вы можете проверить файл / | ||
| + | < | ||