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 ()
Последнее исправление: MuZHiK-2 (всего исправлений: 3)

ИМХО маразм, костыль, да и файлов то в исошнике не один а дофига, ффтары просто не осилили пакетный манагер.

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

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

Nightwing
() автор топика

>может хранить метаданные в видео обычного *.desktop-файла.

(?_?)

Зачем всё-таки .iso, без него не работало?

Deleted
()

Вау! как они хитро устроены, оказывается.

Я когда-то ставил посмотреть такой shotwell - работал он только в начале, после изменения настроек перестал запускаться почему-то.И традиционно насрал в хомяке и гконфе.Как-то это не вполне мобильно и переносимо - пусть уж и конфиги в себе хранят.

А так идея имеет определённое применение.

anonymous
()

ну и чем это будет принципиально отличаться от например модулей SLAX? нет, удобно конечно, мне и в макоси это нравилось, но имхо - это для убунт и прочего ширпотреба.

jcd ★★★★★
()

Чем это отличается от приложения, которое читает/пишет данные лежащие рядом с бинарем:

./my_cool_app
./some_resources/*
./anything_other/*

andreyu ★★★★★
()

Помнится, был такой проект Klik, потом ещё было что-то подобное типа autopackage. И тут ещё.

А разгадка одна — пишут свой велосипед вместо того, чтобы пилить Berlin API.

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

>ну и чем это будет принципиально отличаться от например модулей SLAX? нет, удобно конечно, мне и в макоси это нравилось, но имхо - это для убунт и прочего ширпотреба.

Да практически ничем не отличается, только работает на любом дистрибутиве.
А вообще да, если научат хранить конфиги у себя в образе, а не в хомяке будет совсем неплохо. Еще бы apparmor какой-нибудь туда прикрутить для пущей безопасности.

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

>А сразу на разных архитектурах оно работать сможет?
На x86-совместимых - да. Остальное только с помощью fat binary, но оно как бы сбоку к этой штуке.

Nightwing
() автор топика

А чего iso то?
Можно было бы сделать код+образ_ext2/3/4... Тогда была бы возможность и конфиг таскать с программой.

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

Не густо, в принципе можно соорудить какую-нибудь ФС, в которой будут подкладываться разные бинарники в зависимости от опций монтирования

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

> А вообще да, если научат хранить конфиги у себя в образе, а не в хомяке будет совсем неплохо.

Вы что курите? Чтобы отдав прогу другу сразу ему передать все данные на свой акаунт (те же IM-клиенты). А как быть с read-only носителями?

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

>Akademie für Psychotherapie und Interventionsforschung GmbH - очевидно же.
Я не есть понимать немецкий. Есть на английском/русском?

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

>Можно было бы сделать код+образ_ext2/3/4... Тогда была бы возможность и конфиг таскать с программой.

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

Nightwing
() автор топика

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

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

>Не густо, в принципе можно соорудить какую-нибудь ФС, в которой будут подкладываться разные бинарники в зависимости от опций монтирования
Есть ФС (например, BTRFS), где можно выбирать корень.

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

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

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

>Тогда будет 2 файла, один можно забыть скопировать.

Ну эт как посмотреть. Захотел другу кинуть - кинул образ, а конфиги у тебя остались.

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

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

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

Например, игры могут быть 100% безопасными, прямо вообще 100%! Игре не надо ничего кроме чтения файлов игры и записи в каталог игры (для сохранения). Программа с таким профилем безопасности не сделает ничего, абсолютно.

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

>их можно тоже в образ запихать же
Так а формат iso позволяет записывать в уже готовый образ так же как при работе с, скажем, ext2?

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

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

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

>гм, ну мультисессионные CD как-то живут, но я бы выбрал что-то типа UDF
Ну, вот именно, что как-то.

ls-h ★★★★★
()

Какая замечательная новость. Вот бы еще сохранение конфигов допилили и цены б ему не было.

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

>Вы что курите? Чтобы отдав прогу другу сразу ему передать все данные на свой акаунт (те же IM-клиенты).
Тогда прежде чем отдать Васе пользователь удалит настройки.
Однако, у него будет возможность отдать Васе с настройками.

А как быть с read-only носителями?

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

ls-h ★★★★★
()

в песочницу их, в песочницу.

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

А как же те, у кого нет компьютеров?

Пускай к образу прилагается portable компьютер!

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

Это детали, но в общем — да, есть два подхода: доверенные источники установки и ограниченная среда выполнения. Второй вариант сейчас используется всякими RIA и Java Web Start.

Fice ★★
()

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

 $ ./GHex
./GHex: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory
 $ ls -l /usr/lib/ |grep libfuse
-rw-r--r--  1 root root   309370 Июн  4 07:26 libfuse.a
-rw-r--r--  1 root root      935 Июн  4 07:26 libfuse.la
lrwxrwxrwx  1 root root       16 Июн  4 07:26 libfuse.so -> libfuse.so.2.8.1
lrwxrwxrwx  1 root root       16 Июн  4 07:26 libfuse.so.2 -> libfuse.so.2.8.1
-rwxr-xr-x  1 root root   220752 Июн  4 07:26 libfuse.so.2.8.1
 $ uname -a
Linux gentoo 2.6.34-gentoo-r1-sid #6 SMP PREEMPT Tue Jun 22 20:51:33 MSD 2010 x86_64 AMD Phenom(tm) II X4 925 Processor AuthenticAMD GNU/Linux
sid350 ★★★★★
()

только осилили? Та же Opera давно как портабельная (ну если не учесть того что от libc6 зависит)

nevar ★★
()

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

Voviandr ★
()

закопать уже предлагали?

anonymous
()

Идея сама по себе неплохая, но непродумана.

Первый вопрос отвлеченый, почему libfuse статически не прилинковали?

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

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

ну ты в упор не видишь, что у тебя 64 бит?

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

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

Скорее, прощай виндоуз - здравствуй, МакОС! :-)

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

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

а вндовс тут причем? типичный маковский bundle

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

это ты создателем EA,id Software и другим скажи,ты в каом веке живешь. Современная игра имеет в себе даже торрент клиент

aybegramotnuy
()

Интересно только тем, кто собирается распространять свои проги в бинарном виде, т.е. проприаритарщикам.

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

>Уууу.Интересно и полезно.Добавили бы и венду)

Кто тебе мешает выделить немного места и поставить например убунту? Второй системой и посмотреть самому как оно работает?

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

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

AppImage-приложение не требует инсталляции самой программы и зависимостей (и, соответственно привилегий суперпользователя)

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

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