Appimage: различия между версиями
Илья Н. (обсуждение | вклад) |
Нет описания правки |
||
Строка 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/):
2. Сделать файл исполняемым, для этого:
Выполнить команду chmod, например:
$ chmod +x krita*.appimage
Или в контекстном меню файла выбрать пункт «Свойства» и на вкладке «Права» отметить пункт «Позволять выполнение файла как программы» (название опции может отличаться):
3. Запустить файл, дважды щелкнув по нему, или выполнить команду в командной строке из каталога с программой, например:
$ ./krita*.appimage
Как удалить AppImage
Чтобы удалить программу, достаточно удалить AppImage-файл.
Установка AppImage через epm
Можно установить 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