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 ()

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

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

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

Nightwing ()

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

(?_?)

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

Deleted ()

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

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

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

anonymous ()

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

jcd ★★★★★ ()

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

anonymous ()

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

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

andreyu ★★★★★ ()

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

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

Aceler ★★★★★ ()

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

aptyp ★★★★ ()

А сразу на разных архитектурах оно работать сможет?

Artificial_Thought ★★★★ ()
Ответ на: комментарий от 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 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.