Вопрос Что такое «AppImage»? Как его установить?


Я просто читал Встречайте Etcher, стильный инструмент для создания изображений USB с открытым исходным кодом, В нем говорится о загрузке AppImage.

Да, Linux; пакеты Linux распространяются как .appimage для 32-разрядных и 64-разрядных дистрибутивов и должны запускаться во всех основных дистрибутивах Linux без каких-либо проблем. В настоящее время у команды нет плана для предоставления встроенного установщика .deb (или .rpm).

Что такое AppImages? Как они отличаются от привязок?


153
2018-05-19 04:11


происхождения


я думаю appimage тег может стать полезным, поэтому я просто создал его. В случае, если нам не понадобится или не захочет сохранить его, всегда будет возможность снова его сжечь. - Byte Commander


ответы:


Основная информация

Что касается установки

Я цитирую страницу проекта appImage здесь:

AppImages можно загружать и запускать без установки или необходимости   для прав root.

Сделать его исполняемым

Вы можете сделать исполняемый файл appImage следующим образом:

chmod a+x exampleName.AppImage

Выполнение

Вы можете выполнить appImage следующим образом:

./exampleName.AppImage

Дополнительная информация

Об appImage

Вы можете найти некоторые общие сведения об appImage Вот,

Я цитирую страницу проекта appImage здесь:

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

Википедия добавляет

AppImage (и предшественники klik и portablelinuxapps) не   установить программное обеспечение в традиционном смысле (т. е. не помещать файлы   повсюду в системе).

Он использует один файл для каждого приложения.   Каждый из них является самодостаточным: он включает в себя все библиотеки приложения   зависит от того, которые не являются частью базовой системы. В этой связи,   он похож на «виртуализацию приложений». Можно использовать AppImage   файл, даже если они не являются суперпользователем, или они используют живой компакт-диск.   Файлы AppImage часто проще, чем компиляция и установка   приложения, так как установка не состоялась. Файл AppImage   представляет собой сжатое изображение, которое временно смонтировано для обеспечения доступа к   программы, но не нужно извлекать программу или изменять   базовой системы.

README.md из AppImageKit-проект предлагает много дополнительной информации, например Случаи использования, проблемное пространство а также цели,

Случаи использования

  • Как пользователь, я хочу перейти на страницу загрузки вверх, загрузить приложение от оригинального автора и запустить его в моей настольной системе Linux, как если бы я делал это с Windows или Mac.

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

  • Являясь автором приложения или ISV, я хочу предоставить пакеты для настольных систем Linux так же, как и для Windows и OS X, без необходимости «вставлять» его в дистрибутив и не создавать для gazillions разных дистрибутивов.

Цели

  1. Будьте просты.

    AppImage предназначен для очень простого формата, который легко   понимать, создавать и управлять.

  2. Поддерживать двоичную совместимость.

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

  3. Будьте распределены-агостичны.

    AppImage должен работать на всех базовых операционных системах (дистрибутивах)   что он создан для (и более поздних версий). Например, вы могли бы   целевой Ubuntu 9.10, openSUSE 11.2 и Fedora 13 (и более поздние версии)   в то же время, без необходимости создавать и поддерживать отдельные   пакеты для каждой целевой системы.

  4. Удалите необходимость установки.

    AppImages содержит приложение в формате, который позволяет ему работать напрямую   из архива, без предварительной установки. Это   сравнимый с Live CD. Перед Живыми компакт-дисками операционные системы должны были быть   установленных прежде, чем они могут быть использованы.

  5. Храните приложения в сжатом состоянии все время.

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

  6. Разрешить отправлять приложения в любом месте.

    AppImages «перемещаются», что позволяет пользователю хранить и   выполнять их из любого места (включая компакт-диски, DVD-диски, съемные   диски, USB-накопители).

  7. Сделать приложения доступными только для чтения.

    Поскольку AppImages доступны только для чтения по дизайну, пользователь может быть разумным   убедитесь, что приложение не изменяет себя во время работы.

  8. Не требуется перекомпиляция.

    AppImages должно быть возможно создать из уже существующих двоичных файлов,   без необходимости перекомпиляции. Это значительно ускоряет   AppImage, поскольку компилятор не должен участвовать. Эта   также позволяет третьим сторонам упаковывать приложения с закрытым исходным кодом в качестве   AppImages. (Тем не менее, это может быть полезно для восходящего потока   разработчиков приложений для создания из источника специально для   цель создания AppImage.)

  9. Держите базовую операционную систему нетронутой.

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

  10. Не требуется root.

    Поскольку AppImages предназначены для конечных пользователей, они не должны   установите административную учетную запись (root) для установки или использования. Oни   может, однако, быть установлен администратором (например, в многопользовательском режиме   сценарии), если это необходимо.


204
2018-05-19 06:07



Может быть, фактический базовый Q / A должен быть выше объяснения? - UniversallyUniqueID
Как у приложения сохраняются настройки между запусками? - Dan Dascalescu
Не могли бы вы подробно остановиться на функции «только для чтения»? Могу ли я сохранить изменения внутри AppImage? Или он теряет их на близком, как LiveCD? - vstepaniuk
@DanDascalescu: ваш вопрос заслуживает того, чтобы быть поднятым до полного вопроса о AskUbuntu, а не просто комментарий. Вы спросите об этом? - Kurt Pfeifle
@KurtPfeifle: так как вы не хотели просто идти вперед и спрашивать об этом сами ... :) - Dan Dascalescu


Основная идея может выглядеть аналогично между двумя системами, но есть некоторые различия в дизайне между привязками и приложениями.

Некоторые «большие», которые приходят мне на ум:

  1. Безопасность, с точки зрения лишение свободы, Snap-пакеты запускаются в песочнице, и им не разрешается скрываться от нее и достигать других частей системы, что они должны не трогают. Это более сильный уровень безопасности, который выполняется параллельно с системой разрешений. Очевидно, это немного неприятно, когда вы занимаетесь этим в начале (а также позже), но если вы думаете об этом с точки зрения системного администрирования, это то, что администратор хочет для своих пользователей.

  2. Безопасность. Установка программного обеспечения, взятого из сети, столь же безопасна, как и вокруг облизывания полюсов на улицах. Иногда ничего не происходит, иногда возникают очень серьезные проблемы со здоровьем. Snap-пакеты имеют свои соответствующие репозитории, которые управляются Canonical, как обычные стандартные хранилища Ubuntu. Вы можете продолжить и установить .deb файлы со всего мира, но это будет ваш выбор, а не проблема дизайна.

  3. Монтаж. AppImages предназначены для эквивалента «переносных исполняемых файлов Windows». Все библиотеки являются автономными, и любой пользователь может просто загрузить и выполнить одно из них. С другой стороны, snap пакеты являются правильными пакетами, и их необходимо установить (как root, или с sudo) через менеджер пакетов apposite (snap install tic-tac-toe выдает ошибку: ей нужно sudo!)

  4. Удаление. Чтобы удалить пакет snap, вам необходимо использовать диспетчер пакетов snap remove ... с соответствующими разрешениями для этого. С другой стороны, приложения, они просто «там». Таким образом, любой пользователь не хочет этого Appimage? Он просто удаляет файл, и он ушел.

Хотя я настоятельно рекомендую быть осторожным при использовании Appimages, я лично сам использую некоторые из них.

Я нахожу их особенно полезными в своей рабочей системе, где у меня нет root доступ (только у администратора есть это), но мне нужна последняя версия конкретного программного обеспечения, которое, к счастью, разработчик предоставил в форме Appimage.

Я немного боюсь, что в них действительно содержится какой-то злокачественный код, поэтому я как можно больше проверял личность издателя. Я не уверен на 100%, что это программное обеспечение доброкачественное, но я сделал все, что мог.


20
2018-05-19 07:59



В принципе, все пытаются внедрить упаковку приложений OSX на Linux, но ничего не получается. - OrangeDog
Я понятия не имею, как это работает :) Конечно, snap и Appimages не работают хорошо с программным обеспечением со многими зависимостями, которыми пользуются многие другие программные средства. Они отлично справляются с уже автономным программным обеспечением или с небольшим количеством зависимостей, но риск состоит в том, чтобы иметь много копий одной и той же библиотеки, которые выполняют одну и ту же задачу, например, в Windows. Это должно быть разрешено в snap-пакетах (программное обеспечение, которое зависит от оснастки, устанавливает эту библиотеку с этой версией, тогда другое программное обеспечение, которое нуждается в той же версии библиотеки, может использовать его, как в обычной системе). - dadexix86
Приложения OSX (и iOS) работают как AppImage (просто загружают один файл и запускаются), но с изолированной безопасностью. - OrangeDog
OSX пытается избавиться от них и разрешает установку только из своего магазина. - LtWorf
AppImage действительно должен содержать вариант для Sand Boxing. Надеюсь, мы это увидим в будущем. - Royi


Хотя привязка фокусируется только на Ubuntu, AppImage является кросс-дистрибутивом, а также работает на Fedora, debian, openSUSE, CentOS и т. Д.

AppImage не нуждается во внедрении или поддержке инфраструктуры из дистрибутива Linux и поэтому работает рядом со всеми. Это позволяет авторам приложений отправлять свое программное обеспечение непосредственно пользователям Linux, например, для Windows и OS X; без Canonical или кого-либо еще «между» автором программного обеспечения и конечным пользователем.

Если приложение представлено в формате AppImage, пользователь может перейти на исходный веб-сайт автора, чтобы загрузить его, например, MuseScore из https://musescore.org/en/download, Сделайте исполняемый файл AppImage (либо используя файловый менеджер, либо chmod a+x ./yourAppImage), то вы можете запустить приложение просто двойным щелчком.


15
2018-05-19 06:24



Поэтому, если я хочу установить Leafpad, я нажимаю «Установить меня»? Что будет тогда? И как я могу удалить AppImage? Я смотрю bintray.com/probono/AppImages но не нашел ответа. Если вы не возражаете, вы можете отредактировать свой ответ, чтобы включить информацию, а также все остальное, что, по вашему мнению, может понравиться пользователям. - DK Bose
Не уверен, что это будет для вас решением, но листовая панель доступна в источниках 16.04 из коробки (версия: 0.8.18.1). Версия листовой панели, предлагаемая bintray, «только» 0.8.17 - так даже старше. - dufte
Правда, но для кого-то, кто просто хочет протестировать воды, это, как говорит сайт, типа «Hello, World». - DK Bose
Отлично. После этого вы можете просто дважды щелкнуть. Вот что мне нужно! - Dawoodjee


Прежде чем вы сможете запустить AppImage, вам необходимо сделать его исполняемым. Это функция безопасности Linux. Существует два основных способа сделать исполняемый файл AppImage:

1. Использование GUI

How to make an AppImage executable

или

2. В командной строке

chmod a+x Some.Appimage

Теперь дважды щелкните файл, чтобы запустить его ИЛИ Щелкните правой кнопкой мыши> Запустить


11
2017-10-10 02:01





AppImages требуют запуска FUSE. Файловая система в пользовательском пространстве (FUSE) - это система, которая позволяет пользователям без полномочий root монтировать файловые системы.

Установите FUSE

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

Например, на Ubuntu:

sudo apt-get install fuse
sudo modprobe fuse
sudo usermod -a -G fuse $USER

Например, на openSUSE:

sudo zypper install fuse

Отступать

Если вы не хотите устанавливать FUSE, вы можете установить или извлечь AppImage.

Чтобы смонтировать AppImage и запустить приложение, просто запустите

sudo mount -o loop Some.AppImage /mnt
/mnt/AppRun

Если это не сработает, у вас может быть экспериментальный Тип 2 AppImage, Они требуют от вас пройти -o offset=... к mount команда. Запустите AppImage с помощью --appimage-offset чтобы узнать правильное число для смещения.


3
2017-10-13 15:06