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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 2: Строка 2:
== Что такое AppImage ==
== Что такое AppImage ==


[https://appimage.org/ AppImage] — формат для распространения переносимых приложений для Linux. Программы в формате AppImage состоят всего из одного файла с расширением appImage, например, gimp.appImage.
'''[https://appimage.org/ AppImage]''' — формат для распространения переносимых приложений для Linux.


Для того, чтобы AppImage работали, нужен пакет {{pkg|fuse}} (обычно он устанавливается в систему по умолчанию).
Программы в формате '''AppImage''' представляют собой один файл с расширением <code>.AppImage</code>. Можно загрузить такую программу, сделать файл исполняемым и запустить. При этом не требуется установка программы и не изменяются системные библиотеки и настройки.


Кроме того, необходимо предоставить права доступа для монтирования файловой системы FUSE для всех пользователей:
Для работы приложений '''AppImage''' используется фреймворк '''[[Fuse | FUSE]]''' и утилита монтирования {{cmd|fusermount}} в составе пакета '''{{pkg|fuse}}''' (обычно устанавливается в систему по умолчанию).
<syntaxhighlight lang="bash"># control fusermount public</syntaxhighlight>
 
Чтобы проверить возможность использования '''AppImage''' от имени '''обычного пользователя''', убедитесь в доступности {{cmd|fusermount}}:
 
fusermount -V
 
Должна быть '''выведена информация''' об установленной версии {{cmd|fusermount}}:
 
fusermount version: 2.9.9
 
В случае возникновения '''ошибки''' установите пакет '''{{pkg|fuse}}''':
 
su -
apt-get update && apt-get install fuse libfuse
 
Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:
 
control fusermount public
 
Подробнее см. статью '''[[Fuse | FUSE]]'''.


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


Использование AppImage на примере kdenlive:
Использование '''AppImage''' на примере графического редактора [https://krita.org/ KRITA]:
 
1. '''Скачать''' файл '''AppImage''' (https://krita.org/en/download/):
 
[[Файл:Krita-download.png|500px|мини|без|альт=Загрузка KRITA.AppImage|Загрузка KRITA.AppImage]]
 
 
{{Note|Скачанные файлы AppImage будут сохраняться в папку {{path|Загрузки/Downloads}}. Лучше перемещать эти файлы в специально выделенный для них каталог для упрощения управления ими.}}
 
2. Сделать файл '''исполняемым''', для этого:
 
Выполнить команду {{cmd|chmod}}, например:


1. Скачать файл AppImage (https://kdenlive.org/en/download/):
chmod +x krita*.appimage
:[[Изображение:Kdenlive-appimage.png|Загрузка файла AppImage|center]]
{{Note|Скачанные файлы AppImage будут сохраняться в папку {{path|Загрузки/Downloads}}. Лучше перемещать эти файлы в специально выделенный для них каталог для упрощения управления ими. }}
2. Сделать файл исполняемым, для этого:
* выполнить команду {{cmd|chmod}}:
*:<syntaxhighlight lang="bash"># chmod +x <Файл AppImage></syntaxhighlight>
* или в контекстном меню файла выбрать пункт «Свойства» и на вкладке «Права» отметить пункт «Позволять выполнение файла как программы» (название опции может отличаться):
*:[[Изображение:Appimage-x.png|Добавление прав на запуск|center]]
3. Запустить файл, дважды щелкнув по файлу, или выполнить команду в командной строке (из каталога с программой):
:<syntaxhighlight lang="bash">$ ./kdenlive-20.04.0b-x86_64.appimage</syntaxhighlight>


Чтобы удалить AppImage достаточно удалить AppImage-файл.
Или в контекстном меню файла выбрать пункт '''«Свойства»''' и на вкладке '''«Права»''' отметить пункт '''«Позволять выполнение файла как программы»''' (название опции может отличаться):
 
[[Файл:Krita-appimage-properties.png|500px|мини|без|альт=Свойства файла KRITA.AppImage|Свойства файла KRITA.AppImage]]
 
 
3. '''Запустить файл''', дважды щелкнув по нему, или выполнить команду в командной строке из каталога с программой, например:
 
./krita*.appimage
 
==Как удалить AppImage==
 
Чтобы удалить программу, достаточно удалить '''AppImage-файл'''.


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


Можно установить .AppImage-файл в систему с помощью [[epm]]:
{{Attention|Вы устанавливаете программы не из официального репозитория ALTLinux на свой страх и риск.}}
<syntaxhighlight lang="bash"># epm install kdenlive-20.04.0b-x86_64.appimage</syntaxhighlight>


Он будет перепакован в rpm-пакет, который будет установлен штатными средствами системы.
Можно установить '''AppImage-файл''' в систему с помощью '''[[epm]]''', например:
 
su -
epm install /<путь до файла>/<Файл.AppImage>
 
Он будет перепакован в '''rpm-пакет''' и установлен штатными средствами системы в каталог {{path|/opt}}.
 
==Содержимое AppImage==
Файл '''AppImage''' имеет довольно простую структуру:
 
;'''1. Исполняемая часть'''
 
:Исполняемый бинарный код, который с помощью '''[[Fuse | FUSE]]''' '''монтирует''' соответствующий образ файловой системы и '''запускает''' оттуда основное приложение.
 
;'''2. Образ файловой системы'''
 
:Доступный только для чтения образ, содержащий исполняемые файлы приложения, в том числе основной: {{cmd|AppRun}}, а также данные и библиотеки, за исключением низкоуровневых системных.
 
Чтобы посмотреть содержимое файла '''AppImage''', можно распаковать его командой:
 
./<Файл.AppImage> --appimage-extract
 
==Справка по AppImage==
Краткую '''справку''' по использованию '''AppImage''' можно получить, выполнив команду:
 
./<Файл.AppImage> --appimage-help
 
'''Подробная документация''' по '''AppImage''': [https://docs.appimage.org/ 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'''. Судя по [https://forum.altlinux.org/index.php?topic=46400.0 форуму], следует установить данный '''AppImage''' через '''[[epm]]''':
epm install <Файл.AppImage>
После чего программа появится среди установленных программ в операционной системе (в меню и в списке пакетов).
Также в '''Сети''' рекомендуют запускать такие приложения с опцией <code>--no-sandbox</code>:
./<Файл.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.
Нет доступа к {{cmd|fusermount}}. Для решения проблемы нужно доустановить пакет '''{{pkg|fuse}}''':
su -
apt-get update && apt-get install fuse libfuse


Выдаётся при запуске, что-то типа
Предоставьте доступ к {{cmd|fusermount}} с помощью механизма {{cmd|control}}:
<syntaxhighlight lang="text">FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly.</syntaxhighlight>


Ключевое слово здесь sandbox. Судя по [https://forum.altlinux.org/index.php?topic=46400.0 форуму], следует установить данный appimage через [[epm]]:
control fusermount public
<syntaxhighlight lang="bash"># epm install <appimage-файл></syntaxhighlight>


после чего программа появится среди установленных программ в операционной системе (в меню и в списке пакетов).
==Ссылки==
*[https://appimage.org/ Домашняя страница AppImage.org]
*[https://docs.appimage.org/ Документация AppImage]
*[https://appimage.github.io/ Каталог приложений AppImage]
*[https://download.kde.org/stable/ Каталог приложений KDE, в том числе в формате AppImage]


[[Категория: Программное обеспечение]]
{{Category navigation|title=Программное обеспечение|category=Программное_обеспечение|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Программное обеспечение|category=Программное_обеспечение|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}}
[[Категория:HOWTO]]
[[Категория:Использование Epm]]
[[Категория:Использование Epm]]
[[Категория:Стороннее ПО]]
[[Категория:Стороннее ПО]]

Текущая версия от 17:54, 11 января 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:

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

Ссылки