К основному контенту

Портативные программы в Linux

В операционной системе Windows мы довольно часто используем портативные программы. Это программы которые не требуют установки, сохраняют конфигурационные файлы при себе и запускаются независимо от установленных в системе компонентов. Их возможности могут быть очень полезны при создании флешек восстановления, тестирования нового программного обеспечения или просто установки новых программ, которых пока еще нет в репозиториях.

В Linux тоже есть-что то подобное. Вообще говоря, как портативную можно использовать любую программу, просто соберите программу из исходников, скачайте исполняемый файл в интернете или скиньте у знакомого и можете запускать из любой папки.

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

Одно из таких решений мы и рассмотрим сегодня. Это AppImage, проект основанный Elemantary и Portable Linux Apps. Одна программа состоит из одного файла образа, в котором находятся все необходимые для ее работы библиотеки, конфиги и сама программа. Правда остался один минус - конфигурация сохраняется по прежнему в домашней папке пользователя.

Фактически программа представляет собой ISO образ упакованный специальным способом и содержащий бит исполняемости. Для запуска программ не нужно ничего устанавливать достаточно скачать программу, сделать ее исполняемой и запускать. А благодаря тому, что все библиотеки находятся внутри образа, ее можно использовать в большинстве дистрибутивов Linux. Также такой способ подходит для запуска тестовых программ, которые требуют особые зависимости, но вы можете не засорять систему и просто скачать программу одним файлом.

Содержание статьи: Портативные программы в Linux Создание портативных программ в Linux Выводы Портативные программы в Linux

Небольшую коллекцию программ AppImage можно найти на сайте: bintray.com/probono/AppImages. Это программы собранные разработчиками пакета. Здесь есть популярные браузеры, медиаплееры и текстовые редакторы и другие утилиты:



На сайте есть поиск, поэтому вы можете попытаться найти нужную программу:



Чтобы скачать программу, вам нужно перейти на вкладку Files, затем выбрать подходящую версию и просто кликнуть по ней.



После окончания загрузки осталось сделать файл исполняемым с помощью следующей команды:

chmod u+x ~/Загрузки/Chromium-51.0.2684.0-x86_64.AppImage

И можно запускать выполнение:

~/Загрузки/Chromium-51.0.2684.0-x86_64.AppImage

Как видите программа полностью работает, и теперь ее можно записать на флешку и пробовать в другом дистрибутиве.



Но не только здесь можно найти программы в формате AppImage, некоторые разработчики сами распространяют свои продукты в этом формате, например известный видеоредактор OpenShot. Если вы хотите установить эту программу в своей системе и это не Ubuntu, вам придется очень сильно постараться. Поскольку пакеты готовы только для Ubuntu, а программа требует различные зависимости от разных пакетов Python до нужной версии Qt. Но с помощью AppImage вы можете установить программу в пару кликов. Создание портативных программ в Linux

На самом деле в репозитории этих портативных программ не так уж много, и есть там только самые популярные, но что делать, если нужной вам программы там нет? Все просто, можно создать портативную программу Linux с помощью appimage самому, это очень легко. Для этого даже существуют инструменты с графическим интерфейсом.

В этой статье мы создадим AppImage образ для нового и очень перспективного браузера Vivaldi. Нам понадобятся два инструмента из AppImageKit - AppImageAssistant и AppDirAssisant. Первый предназначен для упаковки образа, а второй для сбора информации и файлов которые будут упакованы. Если кратко, то программа просканирует систему перед установкой программы, потом вы можете устанавливать нужную программу и ее зависимости любым способом, неважно будет то менеджер пакетов, ручная установка или сборка из исходников. Далее программа находит все измененные файлы, помещает их в специальную директорию и уже на основе той директории будет создан образ AppImage. Ну а теперь все по порядку.

Сначала скачаем нужное программное обеспечение: AppDirAssistant AppImageAssistant

Но тут есть один нюанс. Программы собраны для 32 битной архитектуры, поэтому в 64 битной системе для нормальной работы может не хватать библиотек libfuse.so-2 и libglade-2.0.so.0 в Ubuntu они очень просто устанавливаются с помощью пакетного менеджера, а для других дистрибутивов вы можете найти их в интернете и просто положить в папку /usr/lib. Во всем же остальном это такие же портативные программы, поэтому вы сможете работать с ними в любом Linux дистрибутиве.

Перейдем непосредственно к созданию портативной программы Linux, откройте AppDirAssistant, для этого в терминале перейдите в папку с программой и выполните:

cd /Папка/С/Программой/ $ ./AppDirAssistant\ 0.3.1

В появившимся окне нажмите Вперед:



Затем еще раз Вперед:



Сейчас программа выполняет сканирование системы, чтобы заметить все изменения во время установки программы:





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

sudo zypper install ~/Загрузки/vivaldi-stable-1.1.453.52-1.x86_64.rpm

Но не забывайте, что неважно как вы устанавливаете программу.

Как только установка будет завершена, вернитесь в окно программы AppDirAssistant и снова нажмите Вперед.

Система будет еще раз просканирована, чтобы выявить все изменения: