Appimage: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
Строка 10: Строка 10:
Чтобы проверить возможность использования '''AppImage''' от имени '''обычного пользователя''', убедитесь в доступности {{cmd|fusermount}}:
Чтобы проверить возможность использования '''AppImage''' от имени '''обычного пользователя''', убедитесь в доступности {{cmd|fusermount}}:


  fusermount -V
  $ fusermount -V


Должна быть '''выведена информация''' об установленной версии {{cmd|fusermount}}:
Должна быть '''выведена информация''' об установленной версии {{cmd|fusermount}}:
Строка 18: Строка 18:
В случае возникновения '''ошибки''' установите пакет '''{{pkg|fuse}}''':
В случае возникновения '''ошибки''' установите пакет '''{{pkg|fuse}}''':


  su -
  $ su -
  apt-get update && apt-get install fuse libfuse
  # apt-get update && apt-get install fuse libfuse


Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:
Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:


  control fusermount public
  # control fusermount public


Подробнее см. статью '''[[Fuse | FUSE]]'''.
Подробнее см. статью '''[[Fuse | FUSE]]'''.
Строка 42: Строка 42:
Выполнить команду {{cmd|chmod}}, например:
Выполнить команду {{cmd|chmod}}, например:


  chmod +x krita*.appimage
  $ chmod +x krita*.appimage


Или в контекстном меню файла выбрать пункт '''«Свойства»''' и на вкладке '''«Права»''' отметить пункт '''«Позволять выполнение файла как программы»''' (название опции может отличаться):
Или в контекстном меню файла выбрать пункт '''«Свойства»''' и на вкладке '''«Права»''' отметить пункт '''«Позволять выполнение файла как программы»''' (название опции может отличаться):
Строка 51: Строка 51:
3. '''Запустить файл''', дважды щелкнув по нему, или выполнить команду в командной строке из каталога с программой, например:
3. '''Запустить файл''', дважды щелкнув по нему, или выполнить команду в командной строке из каталога с программой, например:


  ./krita*.appimage
  $ ./krita*.appimage


==Как удалить AppImage==
==Как удалить AppImage==
Строка 63: Строка 63:
Можно установить '''AppImage-файл''' в систему с помощью '''[[epm]]''', например:
Можно установить '''AppImage-файл''' в систему с помощью '''[[epm]]''', например:


  su -
  $ su -
  epm install /<путь до файла>/<Файл.AppImage>
  # epm install /<путь до файла>/<Файл.AppImage>


Он будет перепакован в '''rpm-пакет''' и установлен штатными средствами системы в каталог {{path|/opt}}.
Он будет перепакован в '''rpm-пакет''' и установлен штатными средствами системы в каталог {{path|/opt}}.
Строка 81: Строка 81:
Чтобы посмотреть содержимое файла '''AppImage''', можно распаковать его командой:
Чтобы посмотреть содержимое файла '''AppImage''', можно распаковать его командой:


  ./<Файл.AppImage> --appimage-extract
  $ ./<Файл.AppImage> --appimage-extract


==Справка по AppImage==
==Справка по AppImage==
Краткую '''справку''' по использованию '''AppImage''' можно получить, выполнив команду:
Краткую '''справку''' по использованию '''AppImage''' можно получить, выполнив команду:


  ./<Файл.AppImage> --appimage-help
  $ ./<Файл.AppImage> --appimage-help


'''Подробная документация''' по '''AppImage''': [https://docs.appimage.org/ https://docs.appimage.org/].
'''Подробная документация''' по '''AppImage''': [https://docs.appimage.org/ https://docs.appimage.org/].
Строка 98: Строка 98:
Ключевое слово здесь '''sandbox'''. Судя по [https://forum.altlinux.org/index.php?topic=46400.0 форуму], следует установить данный '''AppImage''' через '''[[epm]]''':
Ключевое слово здесь '''sandbox'''. Судя по [https://forum.altlinux.org/index.php?topic=46400.0 форуму], следует установить данный '''AppImage''' через '''[[epm]]''':


  su -
  $ su -
  epm install <Файл.AppImage>
  # epm install <Файл.AppImage>


После чего программа появится среди установленных программ в операционной системе (в меню и в списке пакетов).
После чего программа появится среди установленных программ в операционной системе (в меню и в списке пакетов).
Строка 105: Строка 105:
Также в '''Сети''' рекомендуют запускать такие приложения с опцией <code>--no-sandbox</code>:
Также в '''Сети''' рекомендуют запускать такие приложения с опцией <code>--no-sandbox</code>:


  ./<Файл.AppImage> --no-sandbox
  $ ./<Файл.AppImage> --no-sandbox


===Cannot mount AppImage, please check your FUSE setup===
===Cannot mount AppImage, please check your FUSE setup===
Строка 117: Строка 117:
Нет доступа к {{cmd|fusermount}}. Для решения проблемы нужно доустановить пакет '''{{pkg|fuse}}''':
Нет доступа к {{cmd|fusermount}}. Для решения проблемы нужно доустановить пакет '''{{pkg|fuse}}''':


  su -
  $ su -
  apt-get update && apt-get install fuse libfuse
  # apt-get update && apt-get install fuse libfuse


Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:
Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:


  control fusermount public
  # control fusermount public


==Ссылки==
==Ссылки==

Текущая версия от 14:13, 20 марта 2025

Что такое AppImage

AppImage — формат для распространения переносимых приложений для Linux.

Программы в формате AppImage представляют собой один файл с расширением .AppImage. Можно загрузить такую программу, сделать файл исполняемым и запустить. При этом не требуется установка программы и не изменяются системные библиотеки и настройки.

Для работы приложений AppImage используется фреймворк FUSE и утилита монтирования fusermount в составе пакета fuse (обычно устанавливается в систему по умолчанию).

Чтобы проверить возможность использования AppImage от имени обычного пользователя, убедитесь в доступности fusermount:

$ fusermount -V

Должна быть выведена информация об установленной версии fusermount:

fusermount version: 2.9.9

В случае возникновения ошибки установите пакет fuse:

$ su -
# apt-get update && apt-get install fuse libfuse

Предоставьте доступ к fusermount с помощью механизма control:

# control fusermount public

Подробнее см. статью FUSE.

Как использовать AppImage

Использование AppImage на примере графического редактора KRITA:

1. Скачать файл AppImage (https://krita.org/en/download/):

Загрузка KRITA.AppImage
Загрузка KRITA.AppImage


Примечание: Скачанные файлы AppImage будут сохраняться в папку Загрузки/Downloads. Лучше перемещать эти файлы в специально выделенный для них каталог для упрощения управления ими.


2. Сделать файл исполняемым, для этого:

Выполнить команду chmod, например:

$ chmod +x krita*.appimage

Или в контекстном меню файла выбрать пункт «Свойства» и на вкладке «Права» отметить пункт «Позволять выполнение файла как программы» (название опции может отличаться):

Свойства файла KRITA.AppImage
Свойства файла KRITA.AppImage


3. Запустить файл, дважды щелкнув по нему, или выполнить команду в командной строке из каталога с программой, например:

$ ./krita*.appimage

Как удалить AppImage

Чтобы удалить программу, достаточно удалить AppImage-файл.

Установка AppImage через epm

Внимание! Вы устанавливаете программы не из официального репозитория ALTLinux на свой страх и риск.


Можно установить AppImage-файл в систему с помощью epm, например:

$ su -
# epm install /<путь до файла>/<Файл.AppImage>

Он будет перепакован в rpm-пакет и установлен штатными средствами системы в каталог /opt.

Содержимое AppImage

Файл AppImage имеет довольно простую структуру:

1. Исполняемая часть
Исполняемый бинарный код, который с помощью FUSE монтирует соответствующий образ файловой системы и запускает оттуда основное приложение.
2. Образ файловой системы
Доступный только для чтения образ, содержащий исполняемые файлы приложения, в том числе основной: AppRun, а также данные и библиотеки, за исключением низкоуровневых системных.

Чтобы посмотреть содержимое файла AppImage, можно распаковать его командой:

$ ./<Файл.AppImage> --appimage-extract

Справка по AppImage

Краткую справку по использованию AppImage можно получить, выполнив команду:

$ ./<Файл.AppImage> --appimage-help

Подробная документация по AppImage: https://docs.appimage.org/.

Известные проблемы

The SUID sandbox helper binary was found, but is not configured correctly

Выдаётся при запуске, что-то типа:

FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly.

Ключевое слово здесь sandbox. Судя по форуму, следует установить данный AppImage через epm:

$ su -
# epm install <Файл.AppImage>

После чего программа появится среди установленных программ в операционной системе (в меню и в списке пакетов).

Также в Сети рекомендуют запускать такие приложения с опцией --no-sandbox:

$ ./<Файл.AppImage> --no-sandbox

Cannot mount AppImage, please check your FUSE setup

Ошибка: fuse: failed to exec fusermount

При использовании AppImage может возникнуть ошибка:

fuse: failed to exec fusermount: No such file or directory

Cannot mount AppImage, please check your FUSE setup.

Нет доступа к fusermount. Для решения проблемы нужно доустановить пакет fuse:

$ su -
# apt-get update && apt-get install fuse libfuse

Предоставьте доступ к fusermount с помощью механизма control:

# control fusermount public

Ссылки