zaLinux.ru

Как пользоваться AppImage в Linux (Полное руководство)


Источник: https://itsfoss.com/use-appimage-linux/

Краткая информация: это инструкция по AppImage, которая покажет, как использовать AppImage для установки программного обеспечения и как удалить установленные программы.

Имеются разные способы установки программного обеспечения в Ubuntu или в другие дистрибутивы Linux. Их можно установить в Магазине приложений, через менеджер пакетов, в командной строке. Некоторые пакеты отсутствуют в стандартных репозиториях, поэтому один из простых способов их установки это скачать .deb или .rpm файлы, запустить их двойным кликом и установить программное обеспечение

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

В этом руководстве я покажу вам, что такое AppImage и как использовать AppImage для установки приложений в Linux. В дополнении к этому я расскажу вам несколько вещей, которые вы должны помнить используя AppImage.

Что такое AppImage?

На протяжении многих лет у нас есть DEB пакеты для дистрибутивов Linux, основанных на Debian/Ubuntu, и RPM пакеты для дистрибутивов Linux, основанных на Fedora/SUSE.

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

AppImage — это универсальный формат пакетов программного обеспечения. Упаковывая программное обеспечение в AppImage, разработчик предоставляет всего лишь один файл «полностью готовый к употреблению». Конечный пользователь, такой как вы, можете использовать его на большинстве (если не на всех) современных дистрибутивах Linux

AppImage не устанавливает программы в обычном понимании

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

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

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

Перечислим некоторые из особенностей и преимуществ, которые привносит AppImage.

Особенности AppImage:

  • Не зависит от дистрибутива: может запускаться на различных дистрибутивах Linux
  • Не нужно устанавливать и компилировать программы: Просто кликните и пользуйтесь
  • Не нужны права root: Системные файлы не затрагиваются
  • Портативность: Может запускаться откуда угодной, в том числе и с Live дисков
  • Приложения в режиме «только чтение»
  • Программное обеспечение удаляется простым удалением файла AppImage
  • Приложения, упакованные в AppImage, по умолчанию не в песочнице

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

Использование AppImage крайне простое. Всё происходит в 3 простых шага:

  • Скачиваем файл AppImage
  • Делаем его исполнимым (или распаковываем из архива, если он распространяется в архиве)
  • Запускаем его

Я подробно покажу, как запустить AppImage.

Шаг 1: Загрузите пакет .appimage

Имеется множество программного обеспечения в формате AppImage: GIMP, Krita, Scribus и OpenShot это всего лишь несколько примеру. Здесь вы можете найти большой список приложений, доступных в формате AppImage.

Я покажу на примере Eqonomize — приложение, для учёта личных финансов. Загружаем его с сайта.

Шаг 2: Делаем его исполнимым

По умолчанию файлы AppImage не имеют разрешения на выполнение. Вам нужно изменить разрешения на файл, сделав его исполнимым. Чтобы это сделать не нужны права root.


Если вы предпочитаете графический способ, просто кликните правой кнопкой на скаченном файле .appimage и выберите Свойства/Properties:


На следующем экране перейдите во вкладку Права/Permissions и установите галочку на Разрешить исполнять как программу/Allow executing file as program:

Вот и всё! Есть альтернативный способ сделать файл исполнимым.

Если вы предпочитаете командную строку, вы просто можете использовать команду

chmod u+x <Файл AppImage>

чтобы сделать его исполнимым

Шаг 3: Запуск файла AppImage

После того, как вы сделали файл AppImage исполнимым, просто откройте его двойным кликом по нему. Запустится программа как будто бы вы её установили на вашу систему. Здорово, не так ли?

Как удалить программу AppImage

Поскольку программа никогда не устанавливается, нет нужды её «деинсталяции». Просто удалите соответствующий файл AppImage и эта программа будет полностью удалена с вашей системы.

Что нужно помнить при использовании AppImage в Linux

Есть несколько дополнительных моментов о AppImage, которые вы должны знать.

1. Интеграция с рабочим столом

Когда вы запускаете файл AppImage, некоторые программы могут предложить вам «установить ярлык», если вы выберите Да, ваш AppImage будет интегрирован в вашу систему Linux как установленное обычным образом приложение.


Это означает, что вашу программу можно будет найти через интерфейс Unity или GNOME. Вы можете найти её в меню и закрепить в избранных или на панели быстрого запуска.

2. Интеграция с рабочим столом может требовать ручную очистку и удаление

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

3. Выберите, где размещены ваши файлы AppImage

Скаченные файлы AppImage будут сохраняться в папку Загрузи/Download. Но это может быть не самым лучшем местом для хранения этих файлов, поскольку со временем она имеет свойство загромождаться. Лучше хранить их в специально выделенной для них папке для упрощения управлениям ими.

Также помните, что если вы выбрали интеграцию с рабочим столом и переместили файл AppImage в какое-то другое расположение, вы также должны удалить эти десктопные файлы, в противном случае интеграция с рабочим столом не будет работать.

4. Автоматического обновления нет

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

Иногда у программ имеются опции командной строки для проверки и обновления программ, но это слишком зависит от разработчика, позаботился он о такой опции или нет.

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

Заключение

AppImage это уже не первая попытка сделать «универсальное приложение Linux», также имеются Snap от Ubuntu и Flatpak от Fedora. Эта статья только об AppImage, поэтому здесь не рассматривается противопоставление этих вариантов.

Если программа имеется в стандартном репозитории вашей системы Linux, то лучший вариант это установить её оттуда, поскольку вам не нужно заботиться об обновлениях. Если разработчики вашего дистрибутива не добавили нужную вам программу, либо вы хотите иметь портативную версию или сразу несколько версий одной программы, то AppImage это удобный способ.

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

Что вы думаете по поводу AppImage? Нравится ли вам использовать AppImage в Linux по сравнению с другими форматами? Поделитесь своими наблюдениями в комментариях ниже.


Рекомендуемые статьи:

16 Комментарии

  1. Угпут

    "…и RPM пакеты для дистрибутивов Linux, основанных на Fedora/SUSE"
    Кхе-кхем… Вообще-то основанных на Red Hat.
    Red Hat Package Manager

    1. Alexey (Автор записи)

      Не могу поспорить по существу — я больше по Arch'у, в крайнем по Debian и её зоопарку )))

      Это мнение про пакеты из оригинальной статьи, ссылка на которую в самом верху.

      1. Угпут

        Хе-хе. И ведь он сам в статье даёт ссылку на Википедь, где по белому чёрным написано откуда ухи RPM растут.

  2. Иван

    Вообще мне, как новичку, нравится этот способ. Но раз программа со всеми нужными ей деталями, она наверное будет больше, чем если ее установить в систему где она могла бы использовать какие - то детали из системы?

    1. Alexey (Автор записи)

      Приветствую!

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

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

      Ещё одна проблема контейнеров: уже много разных систем, например, Kubernetes, Docker, LXD, Snaps, AppImage…

      Причём если с AppImage всё довольно просто — скачал одним кликом, запустил двумя кликами (как с программой Etcher). А вот, например, чтобы пользоваться Docker нужно выучить много команд и опций. Причём контейнеры Docker это образ операционной системы! То есть если надо установить какую-то программу, размер которой 15 килобайт, то если это делать с помощью Docker, то такой образ может быть размером 1 Гигабайт… И при каждом запуске создаются новые слепки образа, в конце концов, это всё разрастается на десятки гигабайт. Это при том, что у программ из Docker нет прямого доступа к железу.

      Вывод: контейнеры могут помочь, если:

      1. Нужно установить программу, которую иным способом установить затруднительно
      2. Нужно попробовать пакет, которые имеет много зависимостей, но вы не хотите это всё устанавливать в свою систему

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

  3. Иван

    Просто к моменту. Сегодня листал https://flathub.org/home и попадалась утилита (сейчас не найду) по обновлению программ, установленных из AppImage. 

  4. kish

    Привет! Почему-то немогу запустить как обычное приложение, только через терминал командой запуска и с правами администратора. При двойном щелчке ничего не происходит вобще. Parrot security os.

    1. Alexey (Автор записи)

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

  5. val

    bash: ./scatter.AppImage: cannot execute binary file: Ошибка формата выполняемого файла
     

    1. Alexey (Автор записи)

      Смотрите статью «Решение проблемы с ошибкой «bash: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла»». Если коротко, архитектура файла не соответствует архитектуре вашего процессора и ОС. Например, у вас ARM система, а пытаетесь запустить x64. AppImage здесь вообще не при чём.

  6. Дмитрий

    Что только ни делал, а указанный типа файла открываться отказывается. Не работает и все

     

    1. Nachbar

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

  7. Андрей

    Пробую установить openscad. Скачал файл в формате AppImage, разрешил выполнение. 

    При запуске появляется сообщение "Cannot mount AppImage, please check your FUSE setup"

    Что посоветуете?

    1. Alexey (Автор записи)

      Приветствую, для всех популярных дистрибутивов Linux есть родные пакеты этой программы, которые вы можете установить из стандартных репозиториев: https://www.openscad.org/downloads.html

      Просто установите программу как это делают все.

      AppImage, Snap и прочие «помогатели» это костыли разной степени кривизны которые по возможности нужно избегать.

  8. Владимир

    Здравствуйте.

    Пожалуйста, это не моя специальность, -- по шагам, -- что нужно сделать, чтобы разрешить chmod запуск appimage с USB в Линукс?

    И что сделать, чтобы отменить это разрешение? Отсутствие запуска мотивируют соображениями безопасности.

    1. Alexey (Автор записи)

      Я не понимаю, что именно вы хотите, но на уровне ощущений, вы занимаетесь чем-то не тем.

      соображениями безопасности

      Безопасности от кого? От себя? Если файл принадлежит пользователю, то он в любой момент может сделать файл исполнимым.

      Если USB носитель с файловой системой NTFS, exFAT, FAT32, то на этих файловых системах не поддерживаются разрешения, которые устанавливает chmod.

      Файл appimage я так понимаю из какого-нибудь репозитория? Если бы мне принесли флешку, с которой я не мог бы запустить файл appimage, я бы убрал флешку, скачал бы файл appimage из репозитория и запустил.

      И так далее.

Добавить комментарий для Alexey Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *