- Что такое AppImage в Linux. Запуск и установка
- Одна программа — один файл
- Как запустить файл AppImage
- Как устанавливать AppImage-файлы
- А что внутри?
- Достоинства
- Недостатки
- Другие «portable-форматы» в Linux
- Как сделать файл исполняемым в Linux
- Что такое исполняемость?
- Как сделать файл исполняемым в Linux?
- Как установить фалг исполняемости в GUI
- Выводы
- Как установить AppImage
- Что такое AppImage?
- Где взять AppImage?
- Как запустить и установить AppImage?
- Выводы
Что такое AppImage в Linux. Запуск и установка
Большинство современных программ требуют для своей работы дополнительные компоненты (библиотеки, утилиты и так далее). Это значит, что для того, чтобы запустить такую программу в Linux, нужно сначала установить эти компоненты. Без них программа работать не будет. Более того, многие приложения требуют, чтобы эти компоненты были определенной версии. Самые популярные форматы пакетов для Linux это DEB и RPM. В таких пакетах содержится сама программ и сведения о всех зависимостях, которые требуются для корректной работы программы.
Когда вы устанавливаете какую-нибудь программу из DEB или RPM пакета, или через Центр приложений вашего дистрибутива или, например, используя apt-get, то зависимости устанавливаются автоматически. Но это идеальный случай. В реальности можно столкнуться, например, с тем, что программа потребует компоненты, которые конфликтуют с уже установленными. Или с тем, что некоторые компоненты не работают в вашем дистрибутиве. Или с тем, что под ваш дистрибутив вообще нет пакета с программой.
Одна программа — один файл
Чтобы запускать программы без лишних хлопот в любом дистрибутиве, и был разработан формат AppImage.
Ключевая идея AppImage — «одна программа = один файл».
Программы в формате AppImage состоят всего из одного файла с расширением AppImage, например, gimp.AppImage.
Работать с программами в формате AppImage очень просто. Вы просто скачиваете программу, делаете файл программы исполняемым и запускаете. Ничего не нужно устанавливать, программа просто работает.
Это аналог портативных (portable) приложений для Windows, когда исполняемый файл программы не требует установки и работает «из коробки». AppImage работает в большинстве популярных дистрибутивов — Ubuntu, Debian, ArchLinux, CentOS, Fedora, OpenSuse, RedHat и других.
Как запустить файл AppImage
Для запуска файла в формате AppImage его сначала нужно сделать исполняемым. Для этого можно щелкнуть правой кнопкой мыши по файлу и открыть окно Свойства, в окне Свойств установить опцию — Разрешить выполнение (название опции может отличаться). Так же можно воспользоваться командной строкой и выполнить команду chmod:
После этого достаточно просто запустить файл — дважды щелкнуть по файлу или же запустить файл из командной строки, например:
Как устанавливать AppImage-файлы
Устанавливать программы в формате AppImage не нужно. Они работают без установки.
Некоторые программы при первом запуске выводят сообщение с предложением установить, так называемый, desktop-файл. Это своеобразная интеграция с вашим дистрибутивом. Обычно это означает, что программа добавит на себя ссылку и свою иконку в меню запуска приложений вашего дистрибутива.
Советую перемещать AppImage-файлы в какую-нибудь отдельную директорию, а не оставлять их, например, в директории Downloads, куда обычно по умолчанию скачиваются файлы браузером. Во-первых, это позволит сохранить порядок в вашей системе. А во-вторых, если вы установили для программы desktop-файл, а затем переместили в другое место AppImage, то связь между desktop-файлом и программой будет нарушена, и вы не сможете запустить программу из меню приложений.
А что внутри?
На самом деле внутри AppImage файла содержаться все требуемые приложению компоненты, библиотеки и дополнительные файлы. Фактически, это готовый ISO образ, содержащий исполняемый файл программы и все дополнительные компоненты.
Достоинства
Плюсы такого решения очевидны. Как было сказано выше, нет проблем с установкой зависимостей. Все работает «из коробки».
Вы получаете программу именно с теми компонентами, с которыми автор данной программы (или тот, кто формировал AppImage) ее тестировал и гарантирует ее работу.
Вы можете с легкостью запускать программы, которых нет в репозиториях вашего дистрибутива. Или если для какой-нибудь программы вышло обновление, то вам не нужно ждать, когда оно появится (если вообще появится) в репозиториях. Вы можете просто скачать AppImage-версию программы и сразу ее использовать (конечно, если для нее есть AppImage).
AppImage можно запускать и в Live-системах или с флешки.
Чтобы удалить AppImage достаточно удалить AppImage-файл.
Недостатки
К недостаткам можно отнести размер AppImage файлов. Он может быть большим, так как внутри AppImage помимо самой программы находятся дополнительные компоненты.
Смею предположить, что AppImage-приложения могут работать медленнее своих обычных аналогов.
Для кого-то будет недостатком и то, что AppImage-программы нельзя обновить через Центр приложений дистрибутива. Некоторые AppImage-программы могут обновляться самостоятельно, но это зависит от того, добавил разработчик такую возможность или нет.
Другие «portable-форматы» в Linux
Помимо AppImage под Linux существуют другие форматы, в которые могут быть «упакованы» portable-программы, например, это Snap и Flatpak.
Источник
Как сделать файл исполняемым в Linux
Операционная система Linux, в отличие от Windows, определяет какие файлы являются программами не по расширению, а по специальному флагу исполняемости. У каждого файла есть три основных флага, чтение, запись и исполнение. Они определяют что система может делать с этим файлом.
Когда вы загружаете различные установщики программ из интернета или создаете скрипт в текстовом редакторе, для них устанавливаются флаги по умолчанию — только чтение и запись. Вы не сможете запустить такой файл как программу, с ним нужно сделать еще кое-что. В этой статье мы рассмотрим как сделать файл исполняемым в Linux.
Что такое исполняемость?
Уже много написано о том, как установить флаг исполняемости. Но что происходит с файлом во время этого, что такое исполянемость и как это работает?
Программа — это набор инструкций, которые по очереди выполняет процессор над данными, чтобы получить определенный результат. Но это вы, наверное, уже знаете.
На самом деле для процессора нет разницы между данными и инструкциями. И те и другие состоят из байт, проще говоря цифр. Когда-то договорились, что определенные сочетания цифр будут означать то или иное действие процессора, а во всем остальном это те же данные. Поэтому для процессора нет никакой разницы что выполнять — исполняемый файл linux или обычный текстовый файл. Оба могут быть успешно выполнены, вот только во втором варианте инструкции не имеют никакого смысла.
Чтобы система могла определить какие файлы нужно выполнять, а какие лучше не надо и был придуман флаг исполняемости. По сути, флаг исполяемости — это несколько байт в файловой системе, которые говорят нужно выполнять файл или нет, само содержимое файла никак не изменяется. Со скриптами все работает точно так же, только команды из файла выполняет не процессор, а интерпретатор, например, в bash скриптах — сама оболочка bash. Да и в обычных программ тоже есть свой загрузчик — это ld-linux.so.2.
Как сделать файл исполняемым в Linux?
В операционной системе Linux, для управления флагами файлов используется утилита chmod. Синтаксис вызова утилиты:
$ chmod категория действие флаг адрес_файла
- Категория — флаги могут устанавливаться для трех категорий: владельца файла, группы файла и всех остальных пользователей. В команде они указываются символами u (user) g (group) o (other) соответственно.
- Действие — может быть + (плюс), что будет значить установить флаг или — (минус) снять флаг.
- Флаг — один из доступных флагов — r (чтение), w (запись), x (выполнение).
Например, чтобы сделать исполняемый скрипт в linux для владельца файла, достаточно выполнить:
chmod u+x адрес_файла
Этого в большинстве случаев бывает достаточно, но если мы хотим чтобы файл могли выполнять и другие пользователи, нужно указать также другие категории: g и o:
chmod ugo+x адрес_файла
Посмотреть флаги в терминале можно с помощью утилиты ls:
ls -l каталог_с_файлами
Это значит, что все флаги включены для всех категорий. Первое rwx — флаги владельца, второе — группы, а третье — для всех остальных. Если флаг не установлен, на его месте будет прочерк.
Снять флаг исполняемого файла очень просто. Используется та же команда только со знаком минус:
chmod u-x адрес_файла
Как установить фалг исполняемости в GUI
Вы можете сделать файл исполняемым в linux не только через терминал. Такая функциональность есть во всех файловых менеджерах. Возможно, на первых порах это будет для вас проще. Рассмотрим на примере файлового менеджера GNOME, Nautilus. Кликните правой кнопкой по нашему файлу программы или скрипта, чтобы открыть контекстное меню, затем выберите свойства:
Дальше перейдите на вкладку права и установите галочку Разрешить выполнение файла как программы:
Готово, исполняемый файл linux может быть запущен системой, прямо из файлового менеджера.
Выводы
Вот и все, теперь вы знаете как сделать файл исполняемым в linux. И если нужно будет запустить скрипт или установщик из интернета, у вас не возникнет никаких проблем. Если остались вопросы, спрашивайте в комментариях!
Источник
Как установить AppImage
В операционной системе Windows мы довольно часто используем портативные программы. Это программы которые не требуют установки, сохраняют конфигурационные файлы при себе и запускаются независимо от установленных в системе компонентов. Их возможности могут быть очень полезны при создании флешек восстановления, тестирования нового программного обеспечения или просто установки новых программ, которых пока еще нет в репозиториях.
Для Linux был придуман формат портативных программ AppImage. Одна программа состоит из одного файла образа, в котором находятся все необходимые для ее работы библиотеки, конфиги и сама программа. Конфигурация сохраняется по прежнему в домашней папке пользователя. В этой статье мы рассмотрим как запустить и установить AppImage в Linux.
Что такое AppImage?
Фактически программа AppImage представляет собой ISO образ, содержащий всё необходимое для запуска программы, упакованный специальным способом со включённым битом исполняемости. Для запуска программ не нужно ничего устанавливать достаточно скачать образ, сделать его исполняемой и запускать. А благодаря тому, что все библиотеки находятся внутри образа, программу можно использовать в большинстве дистрибутивов Linux. Также такой способ подходит для запуска тестовых программ, которые требуют особые зависимости, но вы можете не засорять систему и просто скачать программу одним файлом.
Многие разработчики начали использовать AppImage для своих приложений потому что это удобно и больше нет необходимости создавать отдельные пакеты приложений для каждого дистрибутива.
Где взять AppImage?
На официальном сайте AppImage есть список программ, распространяемых таким образом. Небольшую коллекцию программ AppImage можно найти на этом сайте. Здесь находятся программы собранные их разработчиками и сторонними пользователями. Здесь есть популярные браузеры, медиаплееры и текстовые редакторы и другие утилиты:
На сайте есть поиск, поэтому вы можете попытаться найти нужную программу:
Чтобы скачать программу, вам нужно перейти на вкладку Files, затем выбрать подходящую версию и просто кликнуть по ней.
Но не только здесь можно найти программы в формате AppImage, некоторые разработчики сами распространяют свои продукты в этом формате, например известный видеоредактор OpenShot и многие другие.
Как запустить и установить AppImage?
После окончания загрузки файла AppImage осталось сделать файл исполняемым. Чтобы сделать это в терминале, например, для Firefox, выполните:
Аналогично можно всё сделать через графический интерфейс, откройте контекстное меню для файла, выберите Свойства, а затем на вкладке Права установите флажок напротив Разрешить выполнение файла как программы:
И можно запускать выполнение:
Как видите, программа полностью работает, и теперь её можно записать на флешку и пробовать в другом дистрибутиве.
Поскольку AppImage — это портативные программы многих интересует, как их всё таки установить в систему чтобы программой было удобно пользоваться. Файлы AppImage можно разместить в папках
/bin/, а затем просто создать ярлык для удобного запуска. Разместить его можно в
/.local/share/applications/, это папка в которой находятся локальные ярлыки пользователя. Например для Firefox в папке
/bin/ ярлык будет выглядеть так:
[Desktop Entry]
Version=1.0
Name=Firefox
Comment=Start AppImage Firefox Browser
Exec=
/bin/Firefox-x86_64-20200413141725.AppImage
Icon=/usr/share/icons/hicolor/128×128/apps/firefox.png
Terminal=false
Type=Application
Для создания ярлыков в графическом интерфейсе вы можете использовать пакет gnome-panel и утилиту gnome-desktop-item-edit.
Выводы
Портативные программы Linux — это очень спорная технология. С одной стороны это очень удобно, потому что можно распространять софт поддерживаемый любым дистрибутивом, решается проблема с зависимостями, но с другой, такой способ распространения программ может повлечь за собой увеличение количества вирусов для Linux, ведь минимальное распространение вирусов обусловлено тем, что все программы устанавливаются из небольшого количества надежных и хорошо проверенных источников. А как вы считаете? Нужны ли Portable программы в Linux? Будете ими пользоваться? Напишите в комментариях!
Источник