Qnapware - основные сведения

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2015, 09:34

Проект Qnapware закрыт и заменен на Entware-ng

Qnapware - это система пакетов Entware первоначально реализованная на сетевых хранилищах QNAP с архитектурами x86 и armv5. В NAS'ах QNAP система пакетов Optware входит в список официально поддерживаемых QPKG пакетов (летом 2015г Opware без объявления удалили из этого списка). Некоторые официальные QPKG пакеты зависят от Optware.
При создании Qnapware по этой причине нельзя было использовать папку /opt для установки. Пакеты Qnapware устанавливаются в паку /Apps/opt. Систему пакетов устанавливают и на другие NAS'ы аналогичных архитектур, в частности на Synology, и на другие устройства.
Отличительной особенностью Qnapware является использование системной библиотеки glibc версии 2.20 (в Entware mipsel используется uclibc). Используется компилятор gcc 4.8.3 и исходники ядра 2.6.32 (минимально возможная версия для glibc 2.20).
Библиотеки и бинарники Qnapware не совместимы с библиотеками из прошивки (и из Optware). Если Вы попытаетесь (с помощью ручного копирования, удаления, переноса) подменить библиотеки, Вы получите неработоспособное приложение, которое или не будет запускаться или будет вылетать с т.н. segmentation fault. В Qnapware создается свой архив локалей в файле /Apps/opt/usr/lib/locale/locale-archive. Первоначально в этом архиве локали en_EN.UTF-8 и ru_RU.UTF-8. Если нужны другие , их легко добавить. Бинарники Qnapware используют свои локали, которые не зависят от системных. Трудно сказать - это достоинство или недостаток.

Пакеты Qnapware синхронизируются вслед за Entware mipsel и содержат, за исключением нескольких, все пакеты Entware. Некоторые пакеты уникальны для Qnapware (например deluge). Как правило эти пакеты позже переносятся в Entware mipsel.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2015, 09:41

Установка на NAS QNAP (пакеты QPKG)

Для сетевых хранилищ QNAP собраны пакеты QPKG, устанвливающие Qnapware:

Для архитектуры arm - http://qnapware.zyxmon.org/binaries-arm ... m-x19.qpkg
Для архитектуры x86 - http://qnapware.zyxmon.org/binaries-x86 ... 0_x86.qpkg

После установки пакета зайдите по ssh на НАС, обновите список пакетов

Код: Выделить всё

opkg update

Попробуйте поставить любой пакет

Код: Выделить всё

opkg install mc


При установке qpkg в профиль рута (/root/.profile) добавляется вызов команд профиля qnapware (/Apps/opt/etc/profile). Делается это строкой в /root/.profile

Код: Выделить всё

. /Apps/opt/etc/profile

Пакеты QPKG при установке выполняют автоматически действия, описанные в следующих постах.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2015, 09:42

Установка на NAS Synology и другие с помощью bootstrap скрипта


Для установки с помощью скрипта установки следует:
0. Подготовить папки для установки. Создадим папку /Apps в корне файловой системы, @qnapware на hdd и символические ссылки:

Код: Выделить всё

DiskStation> cd /volume1
DiskStation> mkdir @qnapware
DiskStation> mkdir /Apps
DiskStation> cd @qnapware/
DiskStation> mkdir opt
DiskStation> /bin/ln -sf /volume1/@qnapware/opt /Apps/opt

1. Скачиваем и запусткаем скрипт
(для arm)

Код: Выделить всё

wget http://qnapware.zyxmon.org/binaries-arm/installer/qnapware_install_arm.sh
chmod +x qnapware_install_arm.sh
./qnapware_install_arm.sh

(для x86)

Код: Выделить всё

wget http://qnapware.zyxmon.org/binaries-x86/installer/qnapware_install_x86.sh
chmod +x qnapware_install_x86.sh
./qnapware_install_x86.sh

2. Лог установки примерно такой

Код: Выделить всё

Info: Checking for prerequisites and creating folders...
Warning: Folder /Apps exists!
Warning: Folder /Apps/opt exists!
Info: Opkg package manager deployment...
--2015-01-02 14:16:29--  http://qnapware.zyxmon.org/binaries-x86/installer/opkg
Resolving qnapware.zyxmon.org... 81.4.123.217
Connecting to qnapware.zyxmon.org|81.4.123.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 143180 (140K) [text/plain]
Saving to: `opkg'

100%[========================================================================>] 143,180      732K/s   in 0.2s

2015-01-02 14:16:30 (732 KB/s) - `opkg' saved [143180/143180]

--2015-01-02 14:16:30--  http://qnapware.zyxmon.org/binaries-x86/installer/opkg.conf
Resolving qnapware.zyxmon.org... 81.4.123.217
Connecting to qnapware.zyxmon.org|81.4.123.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 163 [text/plain]
Saving to: `opkg.conf'

100%[========================================================================>] 163         --.-K/s   in 0s

2015-01-02 14:16:30 (8.63 MB/s) - `opkg.conf' saved [163/163]

--2015-01-02 14:16:30--  http://qnapware.zyxmon.org/binaries-x86/installer/ld-2.20.so
Resolving qnapware.zyxmon.org... 81.4.123.217
Connecting to qnapware.zyxmon.org|81.4.123.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 134332 (131K) [text/plain]
Saving to: `ld-2.20.so'

100%[========================================================================>] 134,332     --.-K/s   in 0.1s

2015-01-02 14:16:30 (898 KB/s) - `ld-2.20.so' saved [134332/134332]

--2015-01-02 14:16:30--  http://qnapware.zyxmon.org/binaries-x86/installer/libc-2.20.so
Resolving qnapware.zyxmon.org... 81.4.123.217
Connecting to qnapware.zyxmon.org|81.4.123.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1698972 (1.6M) [text/plain]
Saving to: `libc-2.20.so'

100%[========================================================================>] 1,698,972   1.15M/s   in 1.4s

2015-01-02 14:16:32 (1.15 MB/s) - `libc-2.20.so' saved [1698972/1698972]

Info: Basic packages installation...
Downloading http://qnapware.zyxmon.org/binaries-x86/Packages.gz.
Updated list of available packages in /Apps/opt/var/opkg-lists/packages.
Installing qnapware (2.6.1-5) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/qnapware_2.6.1-5_qnapx86.ipk.
Installing libc (2.20-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libc_2.20-8a_qnapx86.ipk.
Installing libgcc (4.8.3-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libgcc_4.8.3-8a_qnapx86.ipk.
Installing libstdcpp (4.8.3-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libstdcpp_4.8.3-8a_qnapx86.ipk.
Installing libpthread (2.20-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/libpthread_2.20-8a_qnapx86.ipk.
Installing librt (2.20-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/librt_2.20-8a_qnapx86.ipk.
Installing locales (2.20-8a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/locales_2.20-8a_qnapx86.ipk.
Installing findutils (4.5.14-1) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/findutils_4.5.14-1_qnapx86.ipk.
Installing terminfo (5.9-1a) to root...
Downloading http://qnapware.zyxmon.org/binaries-x86/terminfo_5.9-1a_qnapx86.ipk.
Configuring libgcc.
Configuring libc.
Configuring terminfo.
Configuring locales.
qnapware uses separate locale-archive file independent from main system
Creating locale archive - /Apps/opt/usr/lib/locale/locale-archive
Adding en_EN.UTF-8
Adding ru_RU.UTF-8
/Apps/opt/usr/lib/locale/locale-archive found
You can download locale sources from http://qnapware.zyxmon.org/sources/i18n.tar.gz
You can add new locales for qnapware using /Apps/opt/bin/localedef.new
Configuring libpthread.
Configuring libstdcpp.
Configuring librt.
Configuring findutils.
Configuring qnapware.
Info: Congratulations!
Info: If there are no errors above then Entware successfully initialized.
Info: Add /Apps/opt/bin & /Apps/opt/sbin to your PATH variable
Info: Add '/Apps/opt/etc/init.d/rc.unslung start' to startup script for qnapware services to start
Info: Found a Bug? Please report at https://github.com/Entware/entware/issues

3. Если все нормально, установщик можно удалить.

Код: Выделить всё

rm ./qnapware_install_*.sh

4. Теперь пропишем путь к Qnapware. Проще всего добавить в профиль рута (/root/.profile) в самый конец строку

Код: Выделить всё

. /Apps/opt/etc/profile

Теперь все изменения можно вносить в системный профиль qnapware (файл /Apps/opt/etc/profile).
Выходим из ssh, заходим заново. Проверяем

Код: Выделить всё

DiskStation> echo $PATH
/Apps/opt/bin:/Apps/opt/sbin:/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

5. Пропишем в /etc/rc.local создание /Apps и символической ссылки на папку с qnapware. Запустим скрипты для сервисов. Мой /etc/rc.local выглядит так

Код: Выделить всё

DiskStation> cat /etc/rc.local
#!/bin/sh

# Optware setup
[ -x /etc/rc.optware ] && /etc/rc.optware start
# Это для qnapware
/bin/mkdir -p /Apps
/bin/ln -sf /volume1/@qnapware/opt /Apps/opt
/Apps/opt/etc/init.d/rc.unslung start
# конец вставки для qnapware
exit 0

Можем ставить пакеты.
6. Например, ставим midnight commander.

Код: Выделить всё

opkg install mc

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2015, 09:49

Что делает скрипт установки, как установить Qnapware на других устройствах

Скрипт установки создает папку /Apps/opt и устанавливает в эту папку библиотеки, бинарники, файлы конфигураций. Если корневая файловая система устройства расположена в памяти (так, например на НАСах QNAP), то после перезагрузки установка пропадет.
В этом случае можно поступить следующим образом:
1. Создаем папку /Apps в корневой файловой системе

Код: Выделить всё

mkdir /Apps

2. Создаем папку opt на hdd

Код: Выделить всё

mkdir <путь на hdd>/opt

3. Создаем символическую ссылку

Код: Выделить всё

ln -sf <путь на hdd>/opt /Apps/opt 

4. Устанавливаем, как в предыдущем сообщении.
5. В скрипте автозапуска для НАС следует прописать примерно такие команды

Код: Выделить всё

mkdir /Apps
ln -sf <путь на hdd>/opt /Apps/opt 
echo "export PATH=/Apps/opt/bin:/Apps/opt/sbin:$PATH" >> /root/.profile
/Apps/opt/etc/init.d/rc.unslung start 

Для QNAP стартовый скрипт можно создать по инструкции отсюда
http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 16 авг 2015, 09:56

Пользователем rusatch создан
Аддон для dns-327l:
ссылка для скачивания
Зеркало - http://qnapware.zyxmon.org/binaries-arm ... 02015(BETA)

Вкратце, этот аддон содержит базовую конфигурацию qnapware, скрипты для установки в nas, старт/стоп-скрипты для запуска /Apps/opt/etc/init.d/rc.unslung start/stop по клику на кнопки в вебке nas'а.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 02 окт 2015, 10:24

Репозиторий Qnapware синхронизирован с Entware (mipsel).
Список изменений - https://github.com/Entware/entware/wiki/Changelog (September 2015)

Кроме этого:
ffmpeg обновлен до 2.8;
minidlna обновлен до to 1.1.5: добавлены патчи для создания превьюшек (из видео), возможность использования своей иконки (вместо пингвина), быстрый рескан и патч для телевизоров LG от GrSnake;
logrotate обновлен до 3.9.1 - поддерживается пользователь admin (uid=0);
deluge обновлен до 1.3.12.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 06 окт 2015, 12:26

Пользователь из Франции father.mande разработал пакет Astware, который устанавливает Entware (armv7) или Qnapware(Astware) на НАСы компании Asustor. Пакет общий для архитектур. Архитектура выбирается автоматически при установке.
Подробнее - http://forum.asustor.com/viewtopic.php?f=42&t=6411

Ссылка на пакет для Asustor - http://qnapware.zyxmon.org/binaries-x86 ... 90_any.apk

zoolook
Сообщения: 1
Зарегистрирован: 18 окт 2015, 22:57

Сообщение zoolook » 18 окт 2015, 23:14

Доброго времени суток.
Огромная вам благодарность за этот репозиторий и работу.
у меня DS414
если не возражаете, пару вопросов:
1. п.3 PATH до /Apps/opt/bin и профиль qnapware никак не добавляются..
просто 0 реакции на добавление строчки и на редактирование /root/.profile или /etc/profile
PATH=/Apps/opt/bin:/Apps/opt/sbin:$PATH
2. поясните, для чего нужен п.5 если окружение создается руками перед установкой bootstrap
3. и главное, для чего у меня все это затеялось - в наборе пакетов asterisk11 не хватает некоторых базовых модулей (например app_queue)

Неоспоримым достоинством этого репо для меня явилось наличие модулей для работы с факсами (res_fax_spandsp)!
ни в одном репо более я этого не нашел)
везде астериск собран полностью, НО без данного модуля факсов!
очень бы не хотелось собирать отдельную железку изза этой библиотечки..
возможно ли как то собрать целиком asterisk11 (13) с указанным модулем?

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1911
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 19 окт 2015, 00:21

zoolook, к сожалению у меня уже нет synology - поэтому по многим вопросам не подскажу. Команды из профиля (.profile) выполняются при следующем логине. Не забывайте выйти и заново войти.

п5 нужен. После перезагрузки папки /Apps не будет. Она создается в файловой системе, расположенной в памяти. Скоро выйдет Entware (не Qnapware) для моделей с архитектурами amv5 и x86. В репе telephony (openwrt) asterisk обновился, появились модули - https://github.com/Entware/entware/issues/192
asterisk собирается так, как в Openwrt.

dexter
Сообщения: 63
Зарегистрирован: 23 авг 2015, 09:40

Сообщение dexter » 15 мар 2016, 21:35

Zyxmon, а можно глупый вопрос? Есть 453pro.
Для установки нужно скачать "http://qnapware.zyxmon.org/binaries-x86 ... 0_x86.qpkg"?
А как потом это удалить? Если на кинетике флешку вытащил и все, то тут оно ставится на хард в систему и там живет. Системный SSH это не затронет?


Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 0 посетителей :: 0 зарегистрированных, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей