Что такое OPKG?

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

Это достигается с помощью OPKG - менеджера пакетов для операционной системы Omega. Он используется в основном для загрузки и установки пакетов. Если вы знакомы с Linux или другими дистрибутивами Linux, то хорошим примером для OPKG является утилита apt-get.

Здесь вы узнаете, как использовать менеджер пакетов OPKG, и получите некоторые сведения о репозиториях Onion, из которых будут устанавливаться пакеты программного обеспечения.

Как использовать менеджер пакетов

Базовый обзор управления вашими пакетами начинается с обновления OPKG. После этого вы можете добавлять или удалять пакеты, отображать ваши доступные и установленные пакеты.

Важность opkg update

Запуск opkg update отображает самый актуальный список пакетов, доступных в репозиториях пакетов Onion. Важно запустить opkg update, чтобы новые и лучшие функции Onion были готовы для загрузки.

Чтобы обновить OPKG, введите opkg update

При выполнении этой команды opkg подключится к настроенным репозиториям пакетов и выяснит, какие пакеты доступны для установки.

Обратите внимание, что если вы не запустите opkg update, он не будет знать, какие пакеты доступны, и не сможет ничего установить!

Поиск пакетов для установки

Чтобы показать все доступные пакеты в OPKG, введите opkg list

Это огромный список, в котором нужный пакет удобнее всего найти с помощью команды grep.

Команда grep позволяет фильтровать результаты поиска по ключевому слову. Для получения дополнительной информации о команде введите grep в своей консоли и нажмите enter, чтобы получить полный список доступных параметров.

Чтобы найти все пакеты, относящиеся к Onion, мы будем использовать grep с опцией -i для iGnOrE cAsE. Введите в вашу командную строку:

opkg list | grep -i onion-console

и вы увидите все доступные пакеты с onion-console в их названии или описании

root@Omega-2757:/# opkg list | grep -i onion-console

onion-console-base - 0.2-1 - Web-based virtual desktop for the Omega. Base package, only includes a few Apps.

onion-console-editor - 0.2-1 - Editor App for the Console

onion-console-terminal - 0.2-1 - Terminal App for the console

onion-console-webcam - 0.2-1 - Webcam App for the console

Просмотр установленных пакетов

Вы также можете проверить установленные пакеты, введя:

opkg list-installed

Давайте попробуем тот же параметр grep, но с opkg list-installed

opkg list-installed | grep -i onion

и результат будет выглядеть примерно так:

root@Omega-2757:/# opkg list-installed | grep -i onion

liboniondebug - 0.4-1

libonioni2c - 0.4-1

libonionmcp23008 - 0.4-1

libonionoledexp - 0.4-1

libonionpwmexp - 0.4-1

libonionrelayexp - 0.4-1

onion-console-base - 0.2-1

onion-console-webcam - 0.2-1

onion-helper - 0.1-1

onion-repo-keys - 0.1-1

onion-sh-lib - 0.2-1

onion-ubus - 0.1-1

Установка пакетов

Для установки пакета просто используйте команду opkg:

opkg install <PACKAGE NAME>

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

Чтобы установить curl с помощью OPKG, сначала запустите opkg update, чтобы получить все актуальные пакеты:

root@Omega-2757:/# opkg update

Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt76x8/packages/Packages.gz.

Updated list of available packages in /var/opkg-lists/reboot_core.

Downloading http://downloads.lede-project.org/snapshots/targets/ramips/mt76x8/packages/Packages.sig.

Signature check passed.

Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base/Packages.gz.

Updated list of available packages in /var/opkg-lists/reboot_base.

Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base/Packages.sig.

Signature check passed.

Downloading http://repo.onion.io/omega2/packages/Packages.gz.

Updated list of available packages in /var/opkg-lists/reboot_onion.

Downloading http://repo.onion.io/omega2/packages/Packages.sig.

Signature check passed.

Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.gz.

Updated list of available packages in /var/opkg-lists/reboot_packages.

Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages/Packages.sig.

Signature check passed.

и затем запустите opkg install curl для установки пакета:

root@Omega-2757:/# opkg install curl

Installing curl (7.50.3-1) to root...

Downloading http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base/curl_7.50.3-1_mipsel_24kc.ipk.

Configuring curl.

curl установлен на вашем Omega!

Удаление пакетов

Чтобы удалить пакет из Omega, используйте опцию remove:

opkg remove <PACKAGE NAME>

Примечание: чтобы найти имя пакета, вы можете использовать опцию list-installed

Чтобы удалить curl с помощью opkg:

root@Omega-2757:/# opkg remove curl

Removing package curl from root...

Пакет удален из Omega!

Помощь с OPKG

Чтобы узнать больше об OPKG и его функциях, введите команду:

opkg -h

Репозиторий пакетов Onion

Начиная с версии 0.1.7, opkg настроен на получение пакетов из репозиториев пакетов Onion. Вы можете успешно устанавливать модули ядра, однако мы располагаем более узким ассортиментом пакетов, чем официальные репозитории LEDE.

Как настраивается opkg

Путь к репозиториям пакетов, который проверяет opkg во время команды opkg update, можно найти по адресу /etc/opkg/distfeeds.conf.

Установка модулей ядра

Хотя Omega поставляется со многими уже установленными модулями ядра, вашему проекту могут потребоваться некоторые дополнительные модули. Поскольку все пакеты в репозиториях Onion скомпилированы Onion, у Omega c прошивкой Onion не возникнет проблем с установкой модулей ядра с помощью opkg:

opkg update

opkg install kmod-fs-hfs

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

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

Что делать, если нужный вам пакет отсутствует?

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

Сообщите нам, какие пакеты вы бы хотели добавить, написав об этом в Onion Community. Мы сделаем все возможное, чтобы обновить репозиторий!

Как вернуться на официальный репозиторий LEDE

Если вам действительно не нравятся наши репозитории, вы легко можете вернуться к использованию официальных репозиториев LEDE. Вы также можете поэкспериментировать с сочетанием репозиториев Onion и LEDE. Все это можно сделать, отредактировав файл /etc/opkg/distfeeds.conf, в котором указывается, какие репозитории следует использовать.

По умолчанию он будет настроен на использование репозиториев Onion и будет выглядеть примерно так:

#src/gz reboot_core http://downloads.lede-project.org/snapshots/targets/ramips/mt76x8/packages

#src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base

#src/gz reboot_onion http://repo.onion.io/omega2/packages

## src/gz reboot_luci http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/luci

#src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages

## src/gz reboot_routing http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/routing

## src/gz reboot_telephony http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/telephony

src/gz omega2_core http://repo.onion.io/omega2/packages/core

src/gz omega2_base http://repo.onion.io/omega2/packages/base

src/gz omega2_packages http://repo.onion.io/omega2/packages/packages

src/gz omega2_onion http://repo.onion.io/omega2/packages/onion

Закомментированные строки в файле не активны. Чтобы вернуться к официальным репозиториям LEDE, просто раскомментируйте эти строки, измените самую первую строку .../ramips/mt7688 на . ../ramips/mt76x8 и закомментируйте строки Onion:

src/gz reboot_core http://downloads.lede-project.org/snapshots/targets/ramips/mt76x8/packages

src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base

#src/gz reboot_onion http://repo.onion.io/omega2/packages

## src/gz reboot_luci http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/luci

src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages

## src/gz reboot_routing http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/routing

## src/gz reboot_telephony http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/telephony

src/gz omega2_core http://repo.onion.io/omega2/packages/core

src/gz omega2_base http://repo.onion.io/omega2/packages/base

src/gz omega2_packages http://repo.onion.io/omega2/packages/packages

src/gz omega2_onion http://repo.onion.io/omega2/packages/onion

Мы рекомендуем оставить репозиторий omega2_onion активным, так как он содержит пакеты, которые вам понадобятся для взаимодействия с вашими расширениями, платами, и многими другими дополнениями, разработанными Onion.

 

Чтобы изменения вступили в силу, перезагрузите Omega и запустите opkg update. После этого вы получите доступ к пакетам, размещенным в репозиториях, которые не закомментированы в вашем файле distfeeds.conf.

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