Openwrt opkg update не работает

Процедура обновления ОС OpenWrt (Luci или sysupgrade)

Обновление OpenWrt заменит всю текущую установку OpenWRT с новой версией. Это включает в себя ядро ​​Linux, раздел SquashFS и раздел JFFS2.

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

Далее это реальное обновление. Есть два пути общего обновления, чтобы фактически выполнить обновление. Один использует веб — интерфейс LuCI команду «Flash нового образ прошивки» и один использует командную строку sysupgrade команду. Вы можете использовать любой подход.

Подготовка к обновлению OpenWrt

Как работает обновление OpenWrt OS

Процедуры обновления Luci и sysupgrade работают путем сохранения указанных конфигурационных файлов,удаления всей файловой системы, установки новой версии OpenWrt и последующего восстановления сохраненных конфигурационных файлов. Это означает,что все части файловой системы, которые не были специально сохранены, будут потеряны.

В частности, все установленные вручную пакеты программного обеспечения, которые могут быть установлены после первоначальной установки OpenWrt, должны быть переустановлены после обновления OpenWrt. Таким образом, все будет соответствовать, например, обновленное ядро Linux и любые установленные модули ядра.

Каких-либо конфигурационных файлов или файлов данных, размещенных в местах, не перечисленных как ниже, также будут потеряны без возможности обновить openwrt. Обязательно проверьте все файлы, добавленные или настроенные из установки OpenWrt по умолчанию для резервного копирования этих элементов перед обновлением.

Определение пользовательских настроек

Список установленного пользователя пакеты определены в базе данных opkg пакета

Этот сценарий из gsenna членов форума и был первоначально размещен в форуме для обсуждения « по умолчанию пакетов отношения 12.09rc2 1043nd» TP-Link в https://forum.openwrt.org/viewtopic.php?id=43480

Обратите внимание, что сценарий может перечислить несколько пакетов, которые являются частью по умолчанию OpenWrt установки и будут иметь свои измененные файлы конфигурации автоматически резервное копирование и восстановление. Кроме того, пакеты, установленные в зависимости других пакетов могут показать здесь. Важно лишь отметить имена пакетов, которые непосредственно установлены вручную. Любые зависимости этих пакетов будут автоматически переустановлены при переустановке основного пакета.

Альтернативный сценарий, который использует AWK вместо SED / Grep и значительно короче (при условии пользователя Valentijn):

Этот скрипт будет выводить только список пользователей (и по умолчанию) установленные пакеты.

Перечислите все пакеты, связанные с любым пользователем модифицированного файла

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

Обратите внимание, что скрипт может перечислить несколько пакетов, которые являются частью установки OpenWrt по умолчанию и будут иметь их измененные файлы конфигурации автоматически резервное копирование и восстановление. Кроме того, пакеты, установленные в качестве зависимостей от других пакетов, могут отображаться здесь. Важно только отметить имена пакетов, которые вы установили вручную. Любые зависимости этих пакетов будут автоматически переустановлены при переустановке основного пакета.

Читайте также:  Не работают бинды некст рп

Убедитесь, что нужные файлы конфигурации будут сохранены

LuCI и sysupgradeобновления будут сохранять файлы конфигурации:

На основании списка пользователей установленных пакетов,указанных выше и вы знаете, что у вас есть другие конфигурации или файлы данных, которые должны быть сохранены и которые не включены в набор по умолчанию файлов для сохранения. Ваши новые файлы должны быть добавлены к /etc/sysupgrade.conf. По умолчанию этот файл только имеет комментарии в нем.

Метод LuCI

Перейдите система > Резервное копирование/флэш-прошивки > вкладку “Конфигурация”. Это покажет текущее содержимое файла /etc/sysupgrade.conf file и окно редактирования можно использовать для добавления в файл дополнительных строк. После редактирования нажмите кнопку“ Отправить”.

Для того, чтобы просмотреть все конфигурационные файлы, которые будут сохранены на обновление, нажмите «Открыть список …» кнопку.

Метод командной строки

Редактирование /etc/sysupgrade.conf с редактором. Например:

Legacy: LuCI flash_keep section of /etc/config/luci

Luci имеет отдельный набор настроек в разделе «Конфигурация экстерн „flash_keep“» в файле /etc/config/luci относящийся к файлам конфигурации, которые должны быть сохранены.

В прошлом по-видимому, этот список был использован Luci (см https://forum.openwrt.org/viewtopic.php?pid=100739#p100739) Однако, по крайней мере из OpenWrt 14.07, процедура обновления LuCI OpenWrt на самом деле вызывает сценарий sysupgrade и поэтому появляется настройки flash_keep в /etc/config/luci теперь игнорируются.

Определение обновления изображения OpenWRT

OpenWrt on x86

Для систем x86 нет «sysupgrade» изображений, просто убедитесь, что использовать новый образ прошивки имеет ту же семью файловой системы (если текущая прошивка использует SquashFS то новый будет использовать SquashFS, а также и если ток, В новую воли использовать файловую систему доб Обратите внимание, что обновление с ext2 [10.03.1] на ext4 [12,09], похоже, не работает Испытано 10.03.1 SquashFS на 12,09 SquashFS, работая. 10.03.1 SquashFS до 12.09 ext4 неуспешно; 10.03.1 ext2 до 12.09 ext4 не удался)

Определение обновления изображения OpenWRT

Для обновления LuCI основе

Для sysupgrade на основе обновления

Поиск и устранение неисправностей: /tmp слишком малы, чтобы держать загруженный файл

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

Во-первых использование проверки памяти с free или top или cat /proc/meminfo командами; действовать, если у вас есть столько свободной оперативной памяти, как изображение в размере плюс некоторые дополнительные MiB свободной памяти.

root@openwrt:/$ free total used free shared buffers Mem: 29540 18124 11416 0 1248 -/+ buffers: 16876 12664 Swap: 0 0 0
root@openwrt:/$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 2304 2304 0 100% /rom tmpfs 6696 60 6636 1% /tmp tmpfs 512 0 512 0% /dev /dev/mtdblock3 576 288 288 50% /overlay mini_fo:/overlay 2304 2304 0 100% /

One has actually 752+6636 KiB of free memory available.

Беспроводные драйверы, обычно занимают некоторое количество оперативной памяти и не требуется (если вы подключены через беспроводную конечно ), поэтому простой способ освободить RAM-это удалить cимлинки в etc/modules.d, поэтому они не загружаются в память при следующей перезагрузке.

Читайте также:  Не работает вентилятор печки golf

Процедура обновления веб-интерфейс LuCI

sysupgrade SSH / Процедура обновления терминала

Примечание: «заголовок TRX не найден» и «фиксации ошибок на заголовок TRX» ошибки не проблема, так как на OpenWRT пост разработчик Джоу по адресу: https://dev.openwrt.org/ticket/8623

Устранение неисправностей

По неизвестным причинам, холодный сброс часто сообщается необходимо после sysupgrade. Это очень и очень плохо в случае, если вы выполнили это удаленно!

Дополнительная настройка после обновления OpenWRT

Проверка новой версии ОС

* В Luci, перейдите к положению> Обзор, чтобы подтвердить, что вы запускаете новый релиз OpenWRT * В SSH баннер входа содержит сведения о выпуске

Проверьте наличие обновляемого пакетов

После первоначального обновления рекомендуется проверить наличие обновленных пакетов, выпущенных после создания базового образа микропрограммы ОС.

* Убедитесь,что пакеты больше не могут быть обновлены; команда не должна отображать выходные данные

Переустановите пакеты, установленные пользователем

После успешного обновления необходимо переустановить все ранее установленные пакеты. Вы составили список этих выше. Файлы конфигурации пакетов должны быть сохранены из-за действий, описанных выше, но не из-за самих пакетов.

Настройка установленных пользователем пакетов

В новых установках пакета будут установлены новые версии файлов конфигурации пакета по умолчанию. Поскольку существующие конфигурационные файлы уже были созданы, opkg отображал бы предупреждение об этом и сохранял новые версии конфигурационных файлов в разделе …-opkg имена.

Новые файлы конфигурации пакета, предоставляемый должны быть сопоставлены с вашими старыми настраиваемыми файлами для слияния в любых новых функций или изменения синтаксиса в этих файлах.

Программа diffutils полезна для этого.

Включить и запустить установленные пользователем пакеты

* Наконец, вновь установленные пакеты должны быть включены и запущены (если это необходимо; многие делают)

Выполните пробную перезагрузку

Обновление полностью завершено. Хорошая идея сделать тестовую перезагрузку и убедиться, что все ожидаемые функциональные возможности работают, как и раньше.

Альтернативные процедуры обновления ОС до Luci или sysupgrade

mtd

Netcat

Прямой метод

Netcat можно было бы использовать, если вы не можете свободно достаточно оперативной памяти. См netcat. Netcat должен быть установлен первым.

Этот метод НЕ рекомендуется!

Косвенный метод

Этот метод намного безопаснее, если у вас достаточно оперативной памяти.

Этот метод отлично подходит для самостоятельной сборки firmwares.

Вы должны проверить, сколько оперативной памяти у вас есть в настоящее время.(В случае, если у вас нет достаточно осталось, обратитесь бесплатно оперативную памятьFree up RAM.)

Передача файла изображения во временную папку

Напишите это для вспышки

ИЛИ

Я тестировал под Ubuntu 11.10.

Некоторые полезные ссылки для Netcat

scp

Убедитесь, что маршрутизатор имеет достаточно памяти.

Убедитесь, что вы установили пароль для маршрутизатора (для включения SSH необходимо установить пароль для маршрутизатора). См. First Login для получения более подробной информации.

Скопируйте прошивку на маршрутизаторе

На вашем компьютере Linux запустите:

Ввод «да» estabilish подлинность,а затем введите пароль вашего маршрутизатора. Подождите scp команда завершена.Теперь вы можете видеть прошивку в /tmp каталог.

Читайте также:  Пежо 407 не работает кондиционер причина

Написать прошивку вашего маршрутизатора

Заметка

или вы можете проверить файл /etc/config/network file, 127.0.0.1 является петлевой IP адрес, другой является IP адрес вашего маршрутизатора.

  • Last modified: 2018/03/04 12:12
  • by bobafetthotmail

Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.

Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International

Источник

openwrt opkg https error

Скажите пожалуйста чому мой openwrt отказывается устанавливать программы, скачивая пакеты по https и напротив всё делает правильно, если скачивает пакеты по http?

Делаю так всё как написано тут описание wget-ssl-certs. opkg корректно обновляет пакеты с https://downloads.openwrt.org/* и всё равно не работает с https и вываливая ошибку:
# opkg install mc
Unknown package ‘mc’.
Collected errors:
* opkg_install_cmd: Cannot install package mc.

Перемещено leave из talks

Делаю перед каждой установкой ПО на роутере.

Во, у меня такие же траблы были, но я бросил мучацца.

В общем, решение найдено, хоть и не без изъянов, но их побороть у меня не получилось. Если кратко, то проблема с https для opkg решена, но выпилить ipv6 никак не получилось, но его можно отключить, что и делаем.
Всё это кажется долгим по исполнению, но у меня всё получилось за полчаса.

Суть такова.
1) Берём OpenWrt-ImageBuilder-15.05-ar71xx-generic.Linux-x86_64.tar.bz2
2) распаковываем
3) Правим .config в корневом каталоге, добавляя какие нужно утилиты в конфиг в виде CONFIG_PACKAGE_wget=y
4) обязательно нужно указать сборщику образа прошивки какие утилиты нужно установить, в таком виде: make image PROFILE=„TLWR842“ PACKAGES=„wget“
5) опционально можно добавить к предыдущему пункту, чтобы сборщик запихнул наши настройки в прошивку, такую строчку: FILES=»./files», где будут лежать каталоги etc/, root/ и другие, какие нужно.
6) в файл ./files/etc/sysctl.conf добавляем строчку net.ipv6.conf.eth0.disable_ipv6 = 1 чтобы отключить ipv6

У меня получилось сделать всё в джва этапа:
1) делаю чистую прошивку без настроек, настраиваю (https+opkg, dnscrypt-proxy, профили для провайдера и wifi, профиль с ключами от ssh, отключенный ipv6), делаю бекап настроек
2) подсовываю настройки от роутера сборщику прошивки (пункт 6) и устанавливаю всё это дело на роутер.

строчка для сборщика:
make image PROFILE=«TLWR842» PACKAGES=«block-mount ca-certificates dnscrypt-proxy kmod-fs-ext4 kmod-fs-f2fs kmod-usb-ohci kmod-usb-storage kmod-usb-storage-extras luci-app-upnp luci-app-wshaper luci-ssl macchanger openssl-util uhttpd-mod-tls wget zram-swap» FILES=»./files»

SL_RU

Спасибки за инфу. А я уже всё из сорсников поставил прост, хы

У меня не получилось сделать из исходников прошивку с opkg+https и чтобы не ругалось на устаревшие пакеты в downloads.openwrt.org.
Хотя да, без ipv6 и всё такое.
Например при установки nmap из downloads.openwrt.org в прошивку из исходников ругается на старое ядро 3.18-20, в то время как в самой прошивке ядро 3.18-23. Пожалуй это единственный минус самосборной прошивки

Ни, не прошивку из исходников, а только необходимые пакеты.

Источник

Оцените статью