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

107

Я просто прочитал Познакомьтесь с Etcher, A Stylish Open -Source USB Image Writer Tool . В нем говорится о загрузке AppImage.

  

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

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

задан DK Bose 19.05.2016 в 06:11
источник

5 ответов

145

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

Относительно установки

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

  

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

Выполнение его выполнения

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

chmod a+x exampleName.AppImage

Выполнение

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

./exampleName.AppImage

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

Об appImage

Вы можете найти общую информацию об appImage здесь .

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

  

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

Wikipedia добавляет

  

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

     

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

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

Использовать случаи

  • Как пользователь, я хочу перейти на страницу загрузки вверх, загрузить приложение от оригинального автора и запустить его на моей настольной системе 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ни   может, однако, быть установлен администратором (например, в многопользовательском режиме   сценарии), если это необходимо.

ответ дан dufte 19.05.2016 в 08:07
источник
16

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

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

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

  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%, что это программное обеспечение доброкачественное, но я сделал все, что мог.

    
ответ дан dadexix86 19.05.2016 в 09:59
10

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

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

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

    
ответ дан probono 19.05.2016 в 08:24
5

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

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

или

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

chmod a+x Some.Appimage
    
ответ дан probono 10.10.2016 в 04:01
1

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 , чтобы узнать правильный номер для смещения.

    
ответ дан insign 13.10.2016 в 17:06