Тема: Qnapware - система пакетов для НАС с архитектурой arm или x86
ОБЩИЕ СВЕДЕНИЯ
Как известно для расширения возможности различный сетевых хранилищ, роутеров, других устройств используется система Optware. Система пакетов Optware очень сильно устарела. Старыми являются и многие пакеты, и сам принцип их сборки, и библиотеки, и средства разработки.
Предлагаю Вашему вниманию систему пакетов, построенную на современных принципах. Это порт известной системы пакетов Entware. Первоначально Entware была перенесена на NAS QNAP с архитектурой x86. Поэтому система называется Qnapware. Qnapware (в отличии от Entware) может существовать одновременно с optware, т.к. устанавливается не в папку opt, а в папку /Apps/opt.
Можно рассматривать Qnapware (и Entware), как современную замену Optware, хотя разработчики Entware пишут так:
Часто встречающееся заблуждение: Entware, same as Optware but re-built with a modern toolchain Это не так!
Тулчейн, конечно, свежий (относительно Optware) и качественный, спасибо lly, theMIROn, voidshah и всем причастным, но Entware НЕ является наследником Optware и не использует его кодовую базу.Основателем нового репозитория было принято решение взять за основу другой проект: OpenWrt.
Основная часть пакетов в Entware это: пакет OpenWrt, к которому написаны патчи для работы в /opt и добавлены привычные скрипты запуска. От чего они становятся похожи на оптварные. Примерно раз в месяц проводится синхронизация Entware с транком OpenWrt, что позволяет не протухнуть как Optware и поддерживать проект весьма скромными людскими ресурсами.
Побочным эффектом является то, что конфиги/ключи сборки и пр. могут быть отличными от Optware. И это не плохо и не хорошо. Зачастую, дело привычки.Вторая часть пакетов в Entware: то, чего в OpenWrt нет по каким-то причинам, но в Optware было. И добавлено по просьбам трудящихся. Что позволяет говорить об Entware, как заменителе Optware (для mipsel архитектуры).
И самые ценные пакеты: те, которых нет ни в проекте Optware, ни в проекте OpenWrt. Можно сказать, то, что придает смысл существованию Entware.
Так что любой, кто будет считать Entware "Optware, только заново пересобранным", будет постоянно разочаровываться. Сравнивать уместно с OpenWrt.
Перед тем, как описать процесс установки Qnapware на различные сетевые хранилища приведу несколько технических деталей.
В настоящий момент готовы универсальные (для разных NAS) репозитории для архитектур arm и x86.
Бинарники arm собирались совместимые с armv5 (должны работать и на новых процах). Таким образом должно все работать на сетевых хранилищах с архитектурой arm выпуска 2009 и новее. Для архитектуры Intel (x86) собирались 32 разрядные библиотеки и бинарники. Он будут работать и на x86, и на x86_64. Использовалось ядро 2.6.32 (системные вызовы), если у Вас древнее сетевое хранилище с древним ядром - работа пакетов не гарантирована. На НАС и прошивках с более современными ядрами работать будет. Использовалась самая новая версия glibc 2.20 и gcc 4.8.3. Используется свой динамический лоадер (glibc 2.20).
Сразу подчеркну, что библиотеки и бинарники Qnapware скорее всего не совместимы с библиотеками из прошивки (и Optware). Если Вы попытаетесь (с помощью ручного копирования, удаления, переноса) подменить библиотеки, Вы получите неработоспособное приложение, которое не будет запускаться или будет вылетать с т.н. segmentation fault.
Как оказалось, бинарный файл с локалями (/usr/lib/locale/locale-archive) на системах со старой версией системной библиотеки glibc не совместим с новой версией библиотеки. Поэтому в Qnapware создается свой архив локалей в файле /Apps/opt/usr/lib/locale/locale-archive. Первоначально в этом архиве локали en_EN.UTF-8 и ru_RU.UTF-8. Если нужны другие , их легко добавить. Бинарники qnapware используют свои локали, которые не зависят от системных. Трудно сказать - это достоинство или недостаток.
Небольшим недостатком использования вторых копии системных библиотек является увеличенное потребление памяти. Это увеличение очень незначительно.
Общее число пакетов на текущий момент 1700. Пакеты Entware базируются на пакетах openwrt. Если Вы использовали openwrt - все будет знакомым. В openwrt пакеты минимизируются по размеру и дробятся, поэтому их больше.
Список пакетов с сортировкой и поиском:
(arm) http://qnapware.zyxmon.org/binaries-arm/Packages.html
(x86) http://qnapware.zyxmon.org/binaries-x86/Packages.html