Авторские статьи об OpenSource

Несколько версий приложения в snap.


В классическом Linux тестирование программного обеспечения одновременно и простая и сложная задача. Есть репозитория и понятие каналов (channels), но обычно вы можете установить только один экземпляр программы. Если вы хотите установить несколько версий параллельно, то это самостоятельно и ... удачи вам! С версии snapd 2.36 появилась поддержка установки множества версий программы, где каждая будет обладать своей конфигурацией, интерфейсами с системой и т.д.

Экспериментальная возможность и уникальный идентификатор

Нужно включить экспериментальный флаг - sudo snap set system experimental.parallel-instances=true

После этого можно устанавливать софт в snap пакетах с указанием уникального идентификатора. Идентификатор - это строка до 10 символов, добавляемая к имени пакета после знака нижнего подчёркивания ( _ ). К примеру, sudo snap install gimp_first

gimp_first - не существует как snap пакет и демон snapd поставит gimp с идентификатором first. Можно быть проще и ставить sudo snap install gimp_1 gimp_2 gimp_3

Но можно не только ставить различные экземпляры одного и того же. Интереснее ставить различные версии из различных каналов.

Различные экземпляры, различные версии

Можно поставить vlc стабильную сборку (sudo snap install vlc), а тестовые сборки установить с идентификаторами.

snap info vlc

name:      vlc
summary:   The ultimate media player
…
channels:
stable:    3.0.7                      2019-06-07 (1049) 212MB -
candidate: 3.0.7                      2019-06-07 (1049) 212MB -
beta:      3.0.7.1-1-6-gdedb3bd       2019-06-18 (1071) 212MB -
edge:      4.0.0-dev-8388-gb425adb06c 2019-06-18 (1070) 329MB -

Предположим что у вас поставлена стабильная версия 3.0.7 из канала stable. Ставим дополнительно новую версию с канала edge.

sudo snap install --edge vlc_edge
vlc_edge (edge) 4.0.0-dev-8388-gb425adb06c from VideoLAN✓ installed

Убедимся что у нас теперь две версии одного и того же приложения.
snap list | grep vlc

vlc                 3.0.7                       1049    stable  videolan*        -
vlc_edge            4.0.0-dev-8388-gb425adb06c  1070    edge    videolan*        -

Несколько VLC одновременно

Итоги

Благодаря механизму параллельной установки софта в snap, у вас будут действительно различные программы со своим домашним каталогом и данными. Это очень удобно, но не забывайте, что, если программа требует эксклюзивный доступ к сокетам и/или портам, то будут проблемы, как и в случае запуска службы, желающей привязаться (bind) к определённому порту. Следующие экземпляры софта будут получать отлуп.

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

    Twitter   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта