PVE. Установка сервисного пакета окружения: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
KorolkovS (обсуждение | вклад) Нет описания правки |
||
| (не показано 25 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
===== '''Общее описание''' ===== | ===== '''Общее описание''' ===== | ||
Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального | Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального Python3 окружения для работы сервисов: | ||
• Simple Entity Extractor | |||
• Simple Message Classifier | |||
• Short Phrase Recognizer | • Short Phrase Recognizer | ||
• Simple Biometry Server | • Simple Biometry Server | ||
• Text To Speech Server | • Text To Speech Server | ||
• Question Answering System | |||
• Script Engine Service | |||
• Report Engine Service | |||
====='''Термины и определения'''===== | ====='''Термины и определения'''===== | ||
Python Virtual Environment (PVE) – пакет для установки | Python Virtual Environment (PVE) – пакет для установки Python3 окружения для сервисов. Самостоятельно PVE не используется. | ||
====='''Расчет нагрузки'''===== | |||
Для установки пакета требуется свободное место в каталоге /opt не менее 4Gb без поддержки видеокарты и/или 19Gb с поддержкой. | |||
Также при установке используется временная папка /tmp/archive, куда распаковывается содержимое архива до 17Gb. | |||
====='''Установка/обновление пакета окружения'''===== | |||
[https://cloud.connect2ai.net/index.php/apps/files/?dir=/pve&fileid=612 Дистрибутив] распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в ''онлайн''-режиме при наличии прямого доступа в интернет или через прокси. Для установки в ''оффлайн''-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет. | |||
* Загрузить последнюю версию окружения <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/new</nowiki>" --user '[user]:[pass]' 2>&1 | bash</code> или в интерактивном режиме <code>bash -c "$(curl -s <nowiki>https://repo.connect2ai.net/api/pve</nowiki> --user '[user]:[pass]' 2>&1)"</code>. | |||
* Обновить PVE <code>/opt/pve/inupdate</code> в интерактивном режиме. Или запустить с ключом: | |||
** <code>/opt/pve/inupdate -b</code> – обновить до последней beta версии; | |||
** <code>/opt/pve/inupdate -r</code> – обновить до последней release версии; | |||
** <code>/opt/pve/inupdate -n</code> – обновить до последней версии (неважно beta или release). | |||
* Проверить актуальную версию окружения <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/version</nowiki></code>. | |||
* Посмотреть лог изменений <code>curl -s "<nowiki>https://repo.connect2ai.net/api/pve/changelog</nowiki>" --user '[user]:[pass]'</code>. | |||
* Полное описание всех команд API репозитория можно найти по ссылке '''https://repo.connect2ai.net/api'''. <code>[user]:[pass]</code> – это тот же логин и пароль, что и от [https://cloud.connect2ai.net '''Nextcloud'''.] | |||
* В папке с окружением можно добавить 2 файла конфигурации (данные файлы также будут использоваться продуктами при отсутствии у них своих): | |||
** echo -n <code>"[user]:[pass]"</code> > /opt/pve/.userapi (это файл авторизации в API, нужен для обновления) | |||
** echo -n <code>"<nowiki>http://example.com:3128</nowiki> [user] [password]"</code> > /opt/pve/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету) | |||
При установке рядом со скриптом окружения можно положить freeze.txt с альтернативным набором модулей. В потоке вывода в результате вы увидите сообщение «Существует внешний файл — список модулей pip3». | |||
===== '''Варианты использование инсталлятора'''===== | ===== '''Варианты использование инсталлятора'''===== | ||
Описание ключей установки приведено в таблице | Описание ключей установки приведено в таблице | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
!Параметр | !Параметр, | ||
! | назначение | ||
!Параметр, | |||
назначение | |||
!Параметр, | |||
назначение | |||
!Примечание | |||
|- | |||
|''-i/--install - установить окружение'' | |||
| -on/--online - онлайн | |||
| -cpu/--cpu - полный набор pip3 модулей под CPU | |||
| rowspan="5" |Данные наборы ключей используются совместно, в разных комбинациях. Чтобы установить в оффлайн-режиме, необходимо собрать скрипт с ключом -b/--build. Установка с ключом CPU актуальна при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. | |||
|- | |||
| | |||
| -off/--offline - оффлайн | |||
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | |||
|- | |||
| | |||
| | |||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
|- | |||
| | |||
| | |||
| -ups/--ups - отдельное окружение для ups | |||
|- | |- | ||
| | | | ||
| | |||
| -res/--res - отдельное окружение для res | |||
|- | |- | ||
| | | -u/--update - обновить окружение | ||
| | | -on/--online - онлайн | ||
| -cpu/--cpu - полный набор pip3 модулей под CPU | |||
| rowspan="5" |Данные наборы ключей используются совместно, в разных комбинациях. Чтобы обновить в оффлайн режиме, необходимо собрать скрипт с ключом -b/--build. Обновление с ключом CPU актуально при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. Обновление отличается от установки тем, что пропускается этап установки системных пакетов. Ставится только окружение с модулями. Оффлайн инсталлятор с ключом обновления становится универсальным под любую ОС, так как не зависим от системных пакетов. | |||
|- | |- | ||
| | | | ||
| | | -off/--offline - оффлайн | ||
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | |||
|- | |- | ||
| | | | ||
| | |||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
|- | |- | ||
| | | | ||
| | |||
| -ups/--ups - отдельное окружение для ups | |||
|- | |- | ||
| - | | | ||
| | |||
| -res/--res - отдельное окружение для res | |||
|- | |- | ||
|''- | | -b/--build - скачать все пакеты, и модули, и упаковать в скрипт | ||
| | |''-i/--install - для установки с системными пакетами'' | ||
| -f/--full - полный набор pip3 модулей под все типы | |||
| rowspan="6" |Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключом CPU актуальна при отсутствии видеокарты в системе, собранный инсталлятор весит ~1Gb. Ключ полного набора модулей делает инсталлятор универсальным, но такой инсталлятор весит ~9Gb. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси. | |||
|- | |- | ||
| | | | ||
| | | -u/--update - для обновления, только окружение | ||
| -cpu/--cpu - полный набор pip3 модулей под CPU | |||
|- | |- | ||
| | | | ||
| | | | ||
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | |||
|- | |- | ||
| | | | ||
| | |||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
|- | |- | ||
| | | | ||
| | |||
| -ups/--ups - отдельное окружение для ups | |||
|- | |- | ||
| | | | ||
| | | | ||
| | | -res/--res - отдельное окружение для res | ||
|- | |- | ||
| -u/--uninstall - удалить окружение | |||
| | | | ||
| | | | ||
|Одинарный ключ, удаляет окружение из папки /opt | |||
|- | |- | ||
| -e/--extract - скопировать внутренний архив рядом со скриптом | |||
| -d/--dir путь/имя_каталога | |||
| | | | ||
|Второй аргумент не обязательный. Без указания папки, распакуется архив. С указанием папки, распакуется содержимое архива в указанную папку. | |||
|- | |||
| -p/--pack имя_архива - запаковать архив в скрипт | |||
| -d/--dir путь/имя_каталога | |||
| | | | ||
|Второй аргумент не обязательный. Без указания папки к установщику прикрепляем архив. С указанием папки к установщику прикрепляем содержимое каталога. | |||
|- | |- | ||
| -n/--null - удалить внутренний архив из скрипта | |||
| | | | ||
| | | | ||
|Удаляем внутренний архив из инсталлятора. Редактирование инсталлятора с архивом может привести к повреждению архива. | |||
|} | |} | ||
Примеры использования ключей: | |||
-- Установить окружение с полным набором модулей под CPU. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -i -cpu -on</code> | |||
-- Установить окружение из заранее собранного инсталлятора с полным набором модулей под CPU. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -i -cpu -off</code> | |||
-- Собрать все пакеты для установки оффлайн окружения с полным набором модулей под CPU. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -b -i -cpu</code> | |||
-- Собрать все пакеты для обновления оффлайн окружения с полным набором модулей под CPU. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -b -u -cpu</code> | |||
-- Скопировать внутренний архив рядом со скриптом, не распаковывая в папку. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -e</code> | |||
-- Запаковать архив в скрипт. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -p <service>-offline.tgz</code> | |||
-- Сжать каталог и запаковать архив в скрипт. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -p -d <имя каталога></code> | |||
-- Распаковать внутренний архив рядом со скриптом в каталог. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh -e -d archive</code> | |||
-- Удалить внутренний архив из скрипта. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh --null</code> | |||
-- Удалить окружение. | |||
Пример использования: <code>./pve-<версия>-<релиз>.sh --uninstall</code> | |||
====='''Удаление окружения'''===== | |||
Для удаления выполните команду: <code>/opt/pve/uninstall</code>. | |||
Текущая версия от 13:40, 25 ноября 2025
Общее описание
Пакет Python Virtual Environment (PVE) предназначен для подготовки виртуального Python3 окружения для работы сервисов:
• Simple Entity Extractor • Simple Message Classifier • Short Phrase Recognizer • Simple Biometry Server • Text To Speech Server • Question Answering System • Script Engine Service • Report Engine Service
Термины и определения
Python Virtual Environment (PVE) – пакет для установки Python3 окружения для сервисов. Самостоятельно PVE не используется.
Расчет нагрузки
Для установки пакета требуется свободное место в каталоге /opt не менее 4Gb без поддержки видеокарты и/или 19Gb с поддержкой.
Также при установке используется временная папка /tmp/archive, куда распаковывается содержимое архива до 17Gb.
Установка/обновление пакета окружения
Дистрибутив распространяется в виде универсального установочного пакета. Для установки пакета запустить инсталлятор с требуемыми ключами. При запуске без ключей инсталлятор выдаст короткую справку. Пакет может быть установлен в онлайн-режиме при наличии прямого доступа в интернет или через прокси. Для установки в оффлайн-режиме сперва нужно запустить экземпляр скрипта на копии целевой системы (версии и ядра) с доступом в интернет.
- Загрузить последнюю версию окружения
curl -s "https://repo.connect2ai.net/api/pve/new" --user '[user]:[pass]' 2>&1 | bashили в интерактивном режимеbash -c "$(curl -s https://repo.connect2ai.net/api/pve --user '[user]:[pass]' 2>&1)". - Обновить PVE
/opt/pve/inupdateв интерактивном режиме. Или запустить с ключом:/opt/pve/inupdate -b– обновить до последней beta версии;/opt/pve/inupdate -r– обновить до последней release версии;/opt/pve/inupdate -n– обновить до последней версии (неважно beta или release).
- Проверить актуальную версию окружения
curl -s "https://repo.connect2ai.net/api/pve/version. - Посмотреть лог изменений
curl -s "https://repo.connect2ai.net/api/pve/changelog" --user '[user]:[pass]'. - Полное описание всех команд API репозитория можно найти по ссылке https://repo.connect2ai.net/api.
[user]:[pass]– это тот же логин и пароль, что и от Nextcloud. - В папке с окружением можно добавить 2 файла конфигурации (данные файлы также будут использоваться продуктами при отсутствии у них своих):
- echo -n
"[user]:[pass]"> /opt/pve/.userapi (это файл авторизации в API, нужен для обновления) - echo -n
"http://example.com:3128 [user] [password]"> /opt/pve/.proxy (это файл конфигурации proxy, необходим для обновления, при отсутствующем прямом подключении к интернету)
- echo -n
При установке рядом со скриптом окружения можно положить freeze.txt с альтернативным набором модулей. В потоке вывода в результате вы увидите сообщение «Существует внешний файл — список модулей pip3».
Варианты использование инсталлятора
Описание ключей установки приведено в таблице
| Параметр,
назначение |
Параметр,
назначение |
Параметр,
назначение |
Примечание |
|---|---|---|---|
| -i/--install - установить окружение | -on/--online - онлайн | -cpu/--cpu - полный набор pip3 модулей под CPU | Данные наборы ключей используются совместно, в разных комбинациях. Чтобы установить в оффлайн-режиме, необходимо собрать скрипт с ключом -b/--build. Установка с ключом CPU актуальна при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. |
| -off/--offline - оффлайн | -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | ||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
| -ups/--ups - отдельное окружение для ups | |||
| -res/--res - отдельное окружение для res | |||
| -u/--update - обновить окружение | -on/--online - онлайн | -cpu/--cpu - полный набор pip3 модулей под CPU | Данные наборы ключей используются совместно, в разных комбинациях. Чтобы обновить в оффлайн режиме, необходимо собрать скрипт с ключом -b/--build. Обновление с ключом CPU актуально при отсутствии видеокарты в системе, окружение занимает всего ~3Gb. Обновление отличается от установки тем, что пропускается этап установки системных пакетов. Ставится только окружение с модулями. Оффлайн инсталлятор с ключом обновления становится универсальным под любую ОС, так как не зависим от системных пакетов. |
| -off/--offline - оффлайн | -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | ||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
| -ups/--ups - отдельное окружение для ups | |||
| -res/--res - отдельное окружение для res | |||
| -b/--build - скачать все пакеты, и модули, и упаковать в скрипт | -i/--install - для установки с системными пакетами | -f/--full - полный набор pip3 модулей под все типы | Данные наборы ключей используются совместно, в разных комбинациях. Сборка с ключом CPU актуальна при отсутствии видеокарты в системе, собранный инсталлятор весит ~1Gb. Ключ полного набора модулей делает инсталлятор универсальным, но такой инсталлятор весит ~9Gb. Если инсталлятор был собран с ключом установки под другую ОС, его также можно использовать с ключом обновления для текущей или любой другой. Если набор модулей, который включен в оффлайн инсталлятор, недостаточен, он попытается загрузить недостающие модули из интернета напрямую или предложит ввести настройки прокси. |
| -u/--update - для обновления, только окружение | -cpu/--cpu - полный набор pip3 модулей под CPU | ||
| -cu11/--cu11- полный набор pip3 модулей под GPU CU11.8 | |||
| -cu12/--cu12 - полный набор pip3 модулей под GPU CU12.8 | |||
| -ups/--ups - отдельное окружение для ups | |||
| -res/--res - отдельное окружение для res | |||
| -u/--uninstall - удалить окружение | Одинарный ключ, удаляет окружение из папки /opt | ||
| -e/--extract - скопировать внутренний архив рядом со скриптом | -d/--dir путь/имя_каталога | Второй аргумент не обязательный. Без указания папки, распакуется архив. С указанием папки, распакуется содержимое архива в указанную папку. | |
| -p/--pack имя_архива - запаковать архив в скрипт | -d/--dir путь/имя_каталога | Второй аргумент не обязательный. Без указания папки к установщику прикрепляем архив. С указанием папки к установщику прикрепляем содержимое каталога. | |
| -n/--null - удалить внутренний архив из скрипта | Удаляем внутренний архив из инсталлятора. Редактирование инсталлятора с архивом может привести к повреждению архива. |
Примеры использования ключей:
-- Установить окружение с полным набором модулей под CPU.
Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -on
-- Установить окружение из заранее собранного инсталлятора с полным набором модулей под CPU.
Пример использования: ./pve-<версия>-<релиз>.sh -i -cpu -off
-- Собрать все пакеты для установки оффлайн окружения с полным набором модулей под CPU.
Пример использования: ./pve-<версия>-<релиз>.sh -b -i -cpu
-- Собрать все пакеты для обновления оффлайн окружения с полным набором модулей под CPU.
Пример использования: ./pve-<версия>-<релиз>.sh -b -u -cpu
-- Скопировать внутренний архив рядом со скриптом, не распаковывая в папку.
Пример использования: ./pve-<версия>-<релиз>.sh -e
-- Запаковать архив в скрипт.
Пример использования: ./pve-<версия>-<релиз>.sh -p <service>-offline.tgz
-- Сжать каталог и запаковать архив в скрипт.
Пример использования: ./pve-<версия>-<релиз>.sh -p -d <имя каталога>
-- Распаковать внутренний архив рядом со скриптом в каталог.
Пример использования: ./pve-<версия>-<релиз>.sh -e -d archive
-- Удалить внутренний архив из скрипта.
Пример использования: ./pve-<версия>-<релиз>.sh --null
-- Удалить окружение.
Пример использования: ./pve-<версия>-<релиз>.sh --uninstall
Удаление окружения
Для удаления выполните команду: /opt/pve/uninstall.