LINUX.ORG.RU

AppImage: портативные программы приходят в Linux

 , , ,


1

2

В рамках проектов Elemantary и Portable Linux Apps была разработана система, позволяющая создавать «переносные» приложения, которые не требуют установки и смогут работать в любом дистрибутиве. Создатели этой системы придерживаются идеи «1 файл = 1 приложение», которая несколько похожа на подход к установке программ в MacOS. AppImage-приложение не требует инсталляции самой программы и зависимостей (и, соответственно, привилегий суперпользователя), однако Elemantary Project рассматривает возможность использования AppImage в качестве формата пакетов по умолчанию. AppImage-приложение можно запустить из любого места, например с флеш-кары или напрямую из сети.

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

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

Поддерживается возможность создания AppImage-приложений из обычных deb-пакетов, кроме того, уже несколько десятков готовых приложений можно найти по адресу http://portablelinuxapps.org/ , среди которых есть популярные браузеры firefox и opera, im-клиент pidgin, торрент-клиент transmission, и даже мощный пакет для работы с трехмерной графикой blender.

>>> Подробности



Проверено: Aceler ()

Они там о""""и с тоски? Извиняюсь.

В связи с новостью вопрос: Как автоматически сделать запуск программ от разных пользователей?

LightDiver ★★★★★ ()

> хотя, как и обычные, непортабельные приложения, AppImage-приложения хранят настройки в домашней папке пользователя

Ну и зачем такое надо? Пускай оно $HOME меняет или $XDG_CONFIG_HOME, а то ерунда какая-то.

anonymous ()
Ответ на: комментарий от Absolute_Unix

> Нормальные линуксоиды не хранят важную информацию в домашней папке

Что? В домашнем каталоге как раз вся самая важная информация, или вы вендузятник (судя по «домашней папке») и храните все важное в /, сохраняя из под рута, чтобы вирус не достал?

anonymous ()

Классно, радует.

Сделаю gparted/testdisk и положу на «спасательную» флешку

ZZaiatSS ★★ ()
Ответ на: комментарий от LightDiver

>Они там о""""и с тоски? Извиняюсь.

Нет, это правда удобно, если пользоваться разумно. Отличная песочница, можно носить с собой браузер с сохраненными паролями или IM клиент, например. Втыкнул на чужом компе и работаешь не заморачиваясь вопросами «а не нажал ли я случайно „сохранить пароль“ в браузере?» и «а нет ли тут кейлоггера?».

ZZaiatSS ★★ ()
Ответ на: комментарий от ZZaiatSS

>Нет, это правда удобно, если пользоваться разумно. Отличная песочница, можно носить с собой браузер с сохраненными паролями или IM клиент, например. Втыкнул на чужом компе и работаешь не заморачиваясь вопросами «а не нажал ли я случайно „сохранить пароль“ в браузере?» и «а нет ли тут кейлоггера?».

Ну нельзя такое делать. Это помогает развивать распространение софта «неизрепо». Что дает шанс на распространение вредоносных программ.

LightDiver ★★★★★ ()

Не, ну если без стёба, то я сторонник такого решения.
Складывай себе исошечки в /usr/Applications и пользуй.
Т.е. в этом плане МакОС все правильно делает.

Deleted ()

Неплохая, хоть и не очень свежая идея и, по-моему, голимая реализация. Зачем они взяли ro-файловую систему? У rw был бы как минимум один плюс - при обновлении одного файла в установленной программе не надо будет заново выкачивать весь образ целиком. Да и в целом не вижу смысла всё это как-то по-хитрому упаковывать. В той же Mac OS программа - это вообще каталог. Всё прозрачно и понятно, что-то нужно посмотреть (почитать README, скажем) - зашёл, посмотрел. А тут как будет? Хочешь почитать ман - примонтируй куда-нибудь образ с программой?

В целом, из подобного софта, что я смотрел, больше всего понравился Zero Install, хотя у него тоже есть недостатки.

Laz ★★★★ ()
Ответ на: комментарий от vshvedov

PKGBUILD'ы — не вещь в себе. Ты можешь просмотреть скрипт сборки, ты можешь сходить на сайт разработчика и убедиться, что сырцы качаются от него, а не с левого источника. Арч как бы не дистр для новичков, так что проблема надуманная.

Strafer ()

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

Deleted ()
Ответ на: комментарий от Fice

>Наличие централизованных репозиториев ПО — одна из причин, почему в Линукс не распространяются вирусы

Наличие централизованных репозиториев ПО — главная причина, почему в Линукс не распространяются игры.

anonymous ()
Ответ на: комментарий от ls-h

> Можно сделать чтобы значок менялся в зависимости от наличия/отсутствия настроек.

Не о том думаете. Интерфейс - дело десятое.

naryl ★★★★★ ()

Хорошая весчь

Хорошая весчь похоже,надо попробовать..

fanfaris ()
Ответ на: комментарий от Absolute_Unix

>Чего боятся? Нормальные линуксоиды не хранят важную информацию в домашней папке

ага и аськой, джабером и иркой они не пользуются :)

p_AV_el ()

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

Gukl ★★ ()
Ответ на: комментарий от anonymous

> здравствуй, виндоус!

И где ты такое в винде видел?

Gukl ★★ ()
Ответ на: комментарий от Nightwing

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

Ух ты, как оно, оказывается, умеет. А это какой образ надо брать?

Gukl ★★ ()
Ответ на: комментарий от ls-h

> игры могут быть 100% безопасными, прямо вообще 100%!

Игре не надо ничего кроме чтения файлов игры и записи в каталог игры

Мне одному эта логика кажется странной?

Gukl ★★ ()
Ответ на: комментарий от anonymous

>Что? В домашнем каталоге как раз вся самая важная информация,

Где? У меня там нет важной информации.

или вы вендузятник (судя по «домашней папке»)

Не понял.

и храните все важное в /, сохраняя из под рута,

Для важной информации у меня есть отдельный раздел.

чтобы вирус не достал?

Какие вирусы? Я под линуксом не видел их.

Absolute_Unix ()
Ответ на: комментарий от p_AV_el

>ага и аськой, джабером и иркой они не пользуются :)

И это важная информация? Для меня это неважная информация. Важная информация это например мои счета.

Absolute_Unix ()
Ответ на: комментарий от the_warlick

А для чужого компа с виндой туда-же положить Portable вин-версии тех же прог :)

ZZaiatSS ★★ ()
Ответ на: комментарий от LightDiver

>развивать распространение софта «неизрепо»

Как же развивать? Я же его не устанавливаю, и использую только для себя. Ну и никто не мешает делать portable версии из реповских оригиналов (я думал так и делается)

ZZaiatSS ★★ ()
Ответ на: комментарий от Gukl

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

bezgubov ()
Ответ на: комментарий от Deleted

>Т.е. в этом плане МакОС все правильно делает.
На самом деле в Mac OS X не все так красиво и правильно внутри, как это выглядит снаружи.
Да, программы просто перетаскиваются в /Applications и таким образом устанавливаются, а для удаления их просто надо удалить из этой папки.
Но программы сложнее чем «Сапер» срут во всякие /Library, естественно, когда пользователь удаляет программу из /Applications в остальных местах остается всякий хлам.

ls-h ★★★ ()
Ответ на: комментарий от Gukl

>Мне одному эта логика кажется странной?
А что не так?

ls-h ★★★ ()
Ответ на: комментарий от ls-h

ИМХО, если «Игре не надо ничего кроме чтения файлов игры и записи в каталог игры», то политика в ее отношении должна быть максимально запрещающей по умолчанию. А это не называется 100% безопасной ;)

Gukl ★★ ()
Ответ на: комментарий от Gukl

>> игры могут быть 100% безопасными, прямо вообще 100%!

Игре не надо ничего кроме чтения файлов игры и записи в каталог игры


Мне одному эта логика кажется странной?


Я имел ввиду запись в каталог с настройками и сохранениями, т.е. какой-нибудь ~/.config/game.
Т.е. профиль безопасности (AppArmor) для игры будет:
| Можно:
| читать /mnt/mounted_appimage_name/*
| читать системные библиотеки /usr/lib/*, всякие ресурсы (шрифты и т.п.) /usr/share/*
| писать ~/.config/game_name
| Остальное - нельзя (даже другие файлы из хомяка нельзя).

Даже если в образ с приложением положить вредоносное ПО, то нанести вред не получится.

ls-h ★★★ ()
Ответ на: комментарий от ls-h

Можно еще дополнить профиль параметрами для сети, например игре можно обращаться только по IP адресу серверов разработчика и никуда больше.
Т.е. даже ботнет не получится сделать из такой игры.

ls-h ★★★ ()
Ответ на: комментарий от ls-h

Да, программы просто перетаскиваются в /Applications и таким образом устанавливаются, а для удаления их просто надо удалить из этой папки.
Но программы сложнее чем «Сапер» срут во всякие /Library, естественно, когда пользователь удаляет программу из /Applications в остальных местах остается всякий хлам.
*****************************
Ну так тут прямо и флаг в руки opensource разработчикам. Грабли очевидны, обходить тут, здеся и тама. Думаю через дцать лет к такому финишу придут все системы.
База - из подписанных пакетов,
Юзверь downloaded scrap - /Applications/*.img

Профит понятен - есть определенная ОС определенной версии, ОСь дает такие-то API для запуска погремух.

Кому надо больше - срите в свой *.img и не трогайте работоспособную систему.

Deleted ()
Ответ на: комментарий от ZZaiatSS

>Как же развивать? Я же его не устанавливаю, и использую только для себя. Ну и никто не мешает делать portable версии из реповских оригиналов (я думал так и делается)

А как ты его используешь? Один использует - скинул другому, другой третьему. Третий пошутил и подсунул логическую бомбу. Четвертый задумался и сделал первый вирус и поехало.

LightDiver ★★★★★ ()

Эта новость уже везде отметилась.

Наверное, это имеет свое применение (как имеют большую популярность Windows portable программы), но... Но реализация хромает: динамически слинкованные приложения не находят зависимостей, требуют права на /dev/fuse, не учитывают архитектуру... Попытка запустить несколько приложений завершилась неуспешно.

SySAlex ()

Отвратительно. Одна из причин, по которой я использую линух на маке - это то, что в макосе нет нормального управления пакетами, только это кретинское перетаскивание пакета из подмонтированного dmg в Applications. Теперь ту же хрень в линух хотят.

Как при этом собираются управлять зависимостями? А разделяемыми библиотеками? Или теперь каждое приложение будет таскать с собой все, кроме libc? Или вместе с libc? Или кроме libc и всех библиотек, явно перечисленных в lsb?

Линух едва вырос из кошмара слакоизма - теперь его погрузят в другой кошмар, макоизма? Уррроды.

svu ★★★★★ ()

Идея хорошая, но для ее завершенности нужно и настройки хранить и переносить с приложением

Genuine ★★★ ()
Ответ на: комментарий от Genuine

> Идея хорошая, но для ее завершенности нужно и настройки хранить и переносить с приложением

Пакет в образе, и запускать в kvm / lxc? Оверхед огромный, зато «портабельно».

SySAlex ()

Я апдейтнул gzip но забыл о glibc, теперь первый не работает со старым вторым, а так как все пакеты tgz, то я в тупике. Вопрос: сабж мне поможет разрулить ситуацию?

FeyFre ★★★★ ()

>>If you are running a 64-bit (x64) system (as is useful only when you have very large amounts of RAM installed), then you need to install 32bit compatibility libraries in order to use the AppImages from this site. However, most desktop users should have no need to use a 64-bit (x64) system at this time.

вольный перевод: х64 не нужно. прям таки лоровский подход, улыбнуло))))

ctrelok13 ()
Ответ на: комментарий от FeyFre

Загрузка с другой системы и переустановка пакета (либо первого, либо второго) тебе поможет.

Strafer ()

Велосипед переизобрели. В Linux есть проект FatELF, концепция и идеология идентична. Только я, как авторитетный анонимный аналитик, заявляю - это полная атмта.

anonymous ()

Однозначно полезнейшая вещь!

anonymous ()
Ответ на: комментарий от Strafer

Оно то поможет, но только есть возможность загрузится(которой тогда не было). У меня дошло до абсурда: загрузил КДЕ, из под Wine запустил 7z которым и распаковал старый gzip(все гуишные архиваторы - просто оболочки к консольным. Нах они тогда нужны?)

FeyFre ★★★★ ()
Ответ на: комментарий от anonymous

>Велосипед переизобрели. В Linux есть проект FatELF, концепция и идеология идентична.

Ой, туда можно запихнуть содержимое /usr/share/*?

Toll ★★ ()

>Поддерживается возможность создания AppImage-приложений из обычных deb-пакетов, кроме того, уже несколько десятков готовых приложений можно найти по адресу http://portablelinuxapps.org/

А кто туда собирает и добавляет программки? Идея хорошая, надо будет посмотреть как это работает.

Lucky1 ★★★ ()

Ура же. Теперь и в линуксе есть свой собственный dll hell и наконец-то полная убунта будет занимать больше 5 гигов в /, как нормальной операционке и полагается, в 2010-м то.

andrew_tch ()
Ответ на: комментарий от Toll

>>Велосипед переизобрели. В Linux есть проект FatELF, концепция и идеология идентична.

Ой, туда можно запихнуть содержимое /usr/share/*?

Ой, а нафиг вам это надо?

anonymous ()
Ответ на: комментарий от LightDiver

>Один использует - скинул другому, другой третьему

Не-не-не, это я понимаю, и ничего никому давать не собираюсь

Вообще получается так: продвинутые линуксоиды чужое брать не будут, сделают сами в целях той-же безопасности, нюбы с синдоромом вантуза тоже не возьмут, потому что им захочется собрать свое с Бэжэ и Шэ для понтоф.

ZZaiatSS ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.