LINUX.ORG.RU

Flatpak/Flathub ликбез

 


2

2

1.Как я понял, код ни кто не проверяет, да и невозможно у проприетарных ПО проверить. (Viber). 2.Всё установленное ПО через flatpak находится исключительно в одной папке, но почему тогда в Cinnamon оно спокойно появляется в ярлыках? 3.Правда что каталог с установленном ПО можно тупо скопировать на флжшку и работать с другой машины где тоже установлен flatpak и все данные ПО буду сохранены? 4. В чем ещё преимущества\недостатки если устанавливать ПО с Flatpak, а не с репозиториев Debian напрмер или .app с сайтов ПО?

1.Как я понял, код ни кто не проверяет, да и невозможно у проприетарных ПО проверить. (Viber).

На что ты хочешь проверить код viber, на баги? Думаю у них есть отдел тестирования ПО.

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

никто ничего не проверяет в f-droid. это миф. Всё на доверии. как и весь опенсурс.

поэтому и пишут везде: Вы действуете НА СВОЙ СТРАХ И РИСК

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

Зачем тебе Flatpak? Есть полноценный Appimage. Его можешь использовать с AppArmor + Bubblejail. Но реально подозрительные appimage лучше держать в виртуалке.

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

Чем AppImage «полноценен» по сравнению с Flatpak?

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

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Нет нормальной песочницы

Flatpak тот же набор AppArmor + Bubblewrap использует. А в случае с Appimage песочницу можешь сам выбрать от Firejail (не особо безопасное) до Bubblejail (безопаснее). Только все равно это хуже LXC и тем более — виртуалки.

нет дедупликации между образами, нет гарантированной отвязки от библиотек хоста

Давно Flatpak изучал? Ты его видел? Сильро там такая дедупликация помогла?

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

А в случае с Appimage песочницу можешь сам выбрать

И зачем мне её самому выбирать? И ты не ответил на вопрос, в чём неполноценность?

Только все равно это хуже LXC

Смешно, когда песочницу, изначально сделанную для безопасности, сравнивают с LXC, который у себя на главной странице несколько лет подряд заявлял «мы не про безопасность», и при этом сравнивают в пользу второго. А сейчас они все умеют в user namespaces, то есть в буквальном смысле являются фронтами к одним и тем же фичам ядра.

Давно Flatpak изучал? Ты его видел? Сильро там такая дедупликация помогла?

Каждый день использую, и да.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от conservator

Flatpak — это и есть контейнеры. А в AppImage никаких контейнеров нет, если ты сам не накрасноглазишь. Вот и решай, где здесь неполноценное.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Что там красноглазить-то? Firejail официально поддерживается. Еще Bubblejail.

Flatpak все те же средства использует, но при этом гораздо менее удобен, чем Appimage. Flatpak может притянуть по зависимостям кучу лишнего.

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

Что там красноглазить-то?

Ну вот я могу скачать AppImage-образ и без каких-либо подготовительных мероприятий запустить его в песочнице, потратив на это ровно столько же действий, сколько в Flatpak (то есть ровно нисколько)?

Flatpak все те же средства использует, но при этом гораздо менее удобен, чем Appimage.

В чём «менее удобство»? Когда в одном случае нечто нужно делать руками, а в другом случае оно уже сделано и происходит автоматически, то это называется «более удобен», а не «менее удобен».

Flatpak может притянуть по зависимостям кучу лишнего.

Куда притянуть кучу лишнего?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от conservator

Капитан Очевидность. На хост? Или в контейнер?

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

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от conservator

В том, что при установке нескольких Flatpak-образов они будут использовать один и тот же рантайм, а AppImage всё тащат за собой.

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

AppImage всё тащат за собой

В винде так же. Все к этому привыкли. Почему это проблема? Если я хочу использовать старое приложение со старыми библиотеками в новой системе? Flatpak так может?

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

В винде так же. Все к этому привыкли.

Разве это аргумент?

Почему это проблема?

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

Если я хочу использовать старое приложение со старыми библиотеками в новой системе? Flatpak так может?

Эээ, в этом как бы весь смысл?

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от conservator

У Flatpak современная реализация прав доступа, как на мобильных устройствах. Демон Flatpak, например, спрашивает у пользователя доступ к веб-камере каждый раз, не давая права приложению автоматически его получить. Аналогичное разделение реализовано для файлов и других ресурсов.

AppImage запускается в системе и имеет все права пользователя.

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

Хватит сравнивать ежа с ужом!

Тем самым подтверждая факт того что flatpak это очередной репозиторий софта, где вместо пакетов предлагают GUI приложения, как и у любого релиза дистрибутива у этого есть своя база библиотек, считай свой собственный c:/windows/system32.

AppImage это не репозиторий, а portable application, здесь все базируется на Ubuntu емнип 16.04. Идея сродни пакетов pbi в старом PCBSD. У appimage есть требования к портабельным бинарникам то есть никаких hardcoded путей каталогов в сорцах.

По этому один и тот же appimage спокойно (но не всегда, бывают проблемы) запускается как на Ubuntu 16.04, Arch Linux, opensuse, fedora etc… Для флатпака на каждую ос нужно сперва распаковать тот самый c:/windows/system32.

anonymous
()
Ответ на: Хватит сравнивать ежа с ужом! от anonymous

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

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

ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 1)
Ответ на: комментарий от conservator

Про дедупликацию — это мем такой.

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

А так да, и жирно. И по изоляции в общем болит кладут. Ибо волшебной палочки нет — это софт нужно адаптировать под использование порталов. А много приложений просто бабахаются с filesystem=host/home, что почти в ноль сводят эту изоляцию.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от ValdikSS

У Flatpak современная реализация прав доступа, как на мобильных устройствах

предлагаю устроить опрос, кто тут хочет превратить свой линукс в современную андроид-помойку

Lrrr ★★★★★
()

Краткий ликбез:

CVE-2021-21261

Регрессия устранена в выпуске 1.10.1 (обновление для ветки 1.8.x пока недоступно).

Что только подтверждает озвученное в других топиках про flatpak, кросплатформенность там такая, что «приложения устанавливаются в любой дистрибутив, если этот дистрибутив содержит распоследнюю версию flatpak». Кому это надо.

Из достоинств: возможно, именно нужное тебе приложение какой-нибудь хипстар собрал под flatpak, и не под что другое, и нигде его больше нет.

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

AppImage ни на чём не базируется Он базируется на хосте сборки, и копирует все зависимости бинарей из хоста сборки. По этому рекомендуют Ubuntu LTS так как там glibc будет постарее и не будет проблем с запуском на системах со свежим glibc.

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

Удобство вышло погулять.

Просто так взять и запустить приложение flatpak на системе где его нет - нельзя.

https://flatpak.org/setup/ Вон целый мануал под каждый васян-дистрибутив.

Ровно также как и нельзя запустить snap приложение на системах где нет snapd (считай убунту-онли).

https://github.com/flathub/flathub/wiki/App-Submission#how-to-submit-an-app и ждать пока админ почешит свою попу, в то время как AppImage можно хранить хоть у себя на флешке йопта без необходимости качать что-то из интернета каждый раз.

bhfq ★★★★★
()
Ответ на: Удобство вышло погулять. от bhfq

Вы мне это сообщаете? Я знаю, что AppImage — портативная программа, запакованная в файл. Это и написано в сообщении.

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

Я не понимаю, о чём вы. AppImage это только спецификация. В рамках проекта AppImage существует программа AppImageKit, которая пакует указанную папку в .appimage. Она не умеет собирать, не умеет определять зависимости, она даже не умеет писать файл AppRun. Это, по сути, mksquashfs + запускная часть.

Есть сторонний appimagebuilder, из состава linuxdeploy, но он поддерживает только некоторые языки программирования.

ValdikSS ★★★★★
()
Ответ на: Удобство вышло погулять. от bhfq

https://github.com/flathub/flathub/wiki/App-Submission#how-to-submit-an-app и ждать пока админ почешит свою попу,

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

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

Так оно другому не противоречит.

Долгое одобрение и плохая проверка.

fornlr ★★★★★
()

Приложения в песочницах это идея убогая и пользоваться ими не надо. Вот все, что надо знать про flatpak.

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

Чтобы в родительских чатах общаться

tiinn ★★★★★
()

Дисклеймер - я тред не читал, сразу отвечал.

Как я понял, код ни кто не проверяет, да и невозможно у проприетарных ПО проверить.

У свободных тоже никто не проверяет, не только во флатпаке а и везде.

Всё установленное ПО через flatpak находится исключительно в одной папке, но почему тогда в Cinnamon оно спокойно появляется в ярлыках?

Очевидно, что Cinnamon смотрит в папку /var/lib/flatpak/share/applications которая внутри той самой одной папки.

Правда что каталог с установленном ПО можно тупо скопировать на флжшку и работать с другой машины где тоже установлен flatpak и все данные ПО буду сохранены?

Нет, данные приложений в /home же все равно.

В чем ещё преимущества\недостатки если устанавливать ПО с Flatpak, а не с репозиториев Debian напрмер или .app с сайтов ПО?

Преимущества - пакеты независимы от набора библиотек в твоей системе. Как правило, через deb ты можешь установить только ту версию ПО, которая совместима с остальными пакетами твоей версии дистрибутива. Через flatpak любую (если у тебя не протухший сам flatpak в системе.) То же самое - через tar архив, AppImage. Только флатпак удобнее и обеспечивает полную, а не частичную, независимость. С тем же AppImage легко можно огрести тех же проблем с несоответствием версий библиотек в системе.

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

James_Holden ★★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от zendrz

Регрессия устранена в выпуске 1.10.1 (обновление для ветки 1.8.x пока недоступно)

Да как они посмели баги в софте фиксить, сволочи! Причем как пофиксили, совершенно по-дурацки. Взяли и новую версию с исправлениями выкатили. Кому это нужно! Надо было на машине времени отправить программиста, внесшего баг, в тот момент, когда баг был внесен, и чтобы он застрелил самого себя. Так все нормальные люди делают. А они, видишь ли, баг пофиксили. Вот уроды.

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

Как я понял, код ни кто не проверяет, да и невозможно у проприетарных ПО проверить.

У свободных тоже никто не проверяет, не только во флатпаке а и везде.

Очень глупый приём приравнивания.

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

Проблема в том, что обычные программы поверх контейнеров это адский костыль. Если уж на то пошло, то у вас вся ОС изначально должна строиться на том принципе, что любой исполняемый код - не доверенный, включая отдельные компоненты системы. И пользователю тоже доверять нельзя. И программы должны быть изначально разработаны именно для такой операционки, а не как сейчас. Но за последние 30 лет никто даже просто микроядерную ОС, пригодную для десктопа, не сделал.
А для вайбера я скорее куплю отдельный компьютер, чем потащу в свой уютненький линукс флэтпак.

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

Ну, дело хозяйское, каждый по себе решает.

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