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

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

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

Что такое AppImages? Чем они отличаются от снимков?

351
задан 20 May 2016 в 01:32

6 ответов

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

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

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

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

Создание его исполняемый файл

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

chmod a+x exampleName.AppImage

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

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

./exampleName.AppImage

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

О appImage

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

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

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

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

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

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

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

Варианты использования

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

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

  • Как автор приложения или независимый поставщик программного обеспечения, я хочу обеспечить пакеты для настольных систем Linux, как я делаю для Windows и OS X без потребности получить его 'в' распределение и не имея необходимость создавать для огромного количества различных дистрибутивов.

Цели

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

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

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

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

  3. Будьте агностиком распределения.

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

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

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

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

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

  6. Позвольте помещать приложения где угодно.

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

  7. Подайте заявки, только для чтения.

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

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

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

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

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

  10. Не требуйте корня.

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

290
ответ дан 20 May 2016 в 11:32
  • 1
    мой libpq-dev также был для пост-ГРЭС 10 версиями, но pg_config сначала смотрит на postgres-server-dev-XY пакет that' s установленный... Я просто установил, и django прекратил жаловаться... – user3867776 4 February 2018 в 06:52

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

Некоторые "большие", которые прибывают по моему мнению:

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

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

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

  4. Удаление. Для удаления поспешного пакета необходимо использовать диспетчер пакетов snap remove ... с правильными полномочиями сделать так. Appimages, с другой стороны, они просто "там". Таким образом, какой-либо пользователь не хочет тот Appimage? Он просто удаляет файл, и его не стало.

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

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

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

22
ответ дан 20 May 2016 в 11:32
  • 1
    За несколько прошлых лет I' ve заметил: 10 минут больше не достаточно, часто они продолжают возвращаться после часа или часов; Часто (Китай в особенности) они просто переключаются на другой исходный IP-адрес в той же подсети и продолжают. Так, я использую время запрета 1 дня теперь и произвольную, но великоватую, маску подсети для таблицы адресов. – Doug Smythies 4 November 2017 в 03:31

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

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

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

15
ответ дан 20 May 2016 в 11:32
  • 1
    Положительная сторона @DougSmythies. Они не входят в мой ssh сервер со своими сценариями, я grep журналы и добавляют имена пользователей, которые они используют для Отклонения. – Panther 4 November 2017 в 06:07

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

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

How to make an AppImage executable

или

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

chmod a+x Some.Appimage

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

19
ответ дан 20 May 2016 в 11:32
  • 1
    Таким образом, какие команды я должен выполнить для установки этого? Я добрался до " CD rtlwifi_new" прежде чем я заблудился. (Извините, новичок Linux здесь) –  3 November 2017 в 15:08

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

FUSE

Установки Много дистрибутивов имеют рабочую установку FUSE out-of-the-box. Однако, если это не работает на Вас, Вы, возможно, должны установить и настроить 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 для обнаружения корректного числа для смещения.

5
ответ дан 20 May 2016 в 11:32
  • 1
    Это команды в greyed зоне. Войдите один за другим – Habeel Mazhar 3 November 2017 в 15:09

Выполните шаги ниже:

  • Щелкают правой кнопкой по AppImage
  • , Нажимают на Properties
  • Click on Permissions
  • Then, нажимают Allow, выполняющий файл как программа

Используя Терминал:

chmod u+x <appimage>

можно читать больше здесь: https://citguru.hashnode.dev/heres-how-to-install-appimage-on-linux-cjwxozb1n003o1rs17epqop6g

1
ответ дан 29 September 2019 в 15:45

Другие вопросы по тегам:

Похожие вопросы: