LINUX.ORG.RU
ФорумTalks

Что нельзя положить в пакет?

 , , ,


0

1

Вот вы говорите, репозитории не нужны, нужны самодостаточные пакеты и всё такое. Но ведь в пакет вместе с приложением не получится положить всё, что нужно приложению для работы. Ядро, например, будет использоваться системное. А что ещё? Я слышал, с glibc такие же проблемы?

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

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 2)

Нельзя положить пакет, чтобы получился пакет с пакетами

Original_1
()

Вот вы говорите

Кто «вы» то? К кому ты обращаешься? Имей смелость кастануть тех, кто так говорит, с цитатой.

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

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

Как по мне, так уж лучше статические сборки. Я свой кроссворд на Qt4 собрал статически и он работал даже в mandriva 1. Как-то здесь на форуме писал. И не нужно мудрить всякие flat'паки.

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

Ну что вы кричите-то сразу? Будьте людьми

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

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

imul ★★★★★
()

Я слышал, с glibc такие же проблемы?

Нет.

t184256 ★★★★★
()

В пакет нельзя положить член. Ещё женщин тоже лучше не надо, они на это обижаются.

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

Классика.

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

Original_1
()

Но ведь в пакет вместе с приложением не получится положить всё, что нужно приложению для работы

Оно и не нужно. Во всякие фэт каки, ой то есть флэт паки, засовывать нужно только те библиотеки, API и ABI которых ломается в зависимости от версии. Ну и 32-х битные библиотеки туда же, чтобы систему не засорять.

Meyer ★★★★★
()

Посмотри зависимости. flatpak тянет видеодрайвер и месу. В снапе зависимости типа core22, где какая-то выжимка из соответствующей убунты.

goingUp ★★★★★
()

Если не ошибаюсь, в пакет нельзя положить гуй.

thesis ★★★★★
()

X сервер, вейланд сервер, звуковой сервер не положишь.

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

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

Нет, в линуксе ты не страдаешь этой херней, а просто выкладываешь исходники. Чтобы собирать пакеты есть мейнтейнеры.

Ну или если проприетарщина, делаешь .tar.gz по возможности добавляя туда все .so ну или статическую сборку. Кому надо - разберутся. Самое главное не делать install.sh и всяких самораспаковывающихся архивов :)

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

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

Теперь вместо статической сборки люди хоят устанавливать мини дистрибутив в виртуальную файловую систему.

И эти люди мне мне будут говорить что c:\program files\myapp – это путь вникуда.

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

какая нафиг разница :) внутри пакета образ виртуалки, которую запускаешь на целевой системе и фсё.

есть такой проект BOINC по распределенным вычислениям.
так вот чтобы не следовать за зоопарком вероятных клиентских платформ, там есть офф.пакет инсталяции в комплекте с виртуалбоксом.
задание приходит в виде образа виртуалки с ядром ос (ежу понятно енто - линукс) и комплектом бинарей для запуска ПО расчетов.

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

для современных террабайтных носителей объем приложения дело сугубо вторичное.
а для современных эффехтивных менеджеров програмного моркетинга вааппче размер до звезды. «чем длинннеее тем кручееее»

главное - «штоп работало».

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

не то слово :)
в виртуалке будет крутится джава машина, внутри которой будет какаянить оболочка, сделанная на куче фреймворков, крутить какойнить пресловутый пэхэпе, щедро политый сверху джаваскриптой…

будешь смеятцо, но это ужо нонешняя реальность.

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

Ну или если проприетарщина, делаешь .tar.gz по возможности добавляя туда все .so

Точнее - делаешь deb пакет, добавляя туда названия пакетов-зависимостей от текущей убунты. Кому надо - разберутся

Таковы реалии

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

Размер бинарника влияет ещё на скорость загрузки (системные библиотеки кешируются после первого использования) и потребление ОЗУ (системные библиотеки хранятся в ОЗУ в одном экземпляре).

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

Сколько весит твой кроссворд?

36MB статическая сборка. Даже если ff будет весить 1ГБ, то что в этом плохого? Пострадает только детская психика, так как оффтопик 10 весит 36ГБ(!) и обновы постоянно качаются. Так что собранный статически линукс догонит оффтопик по размеру. Иди учи матчасть.

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

Размер бинарника влияет ещё на скорость загрузки (системные библиотеки кешируются после первого использования) и потребление ОЗУ (системные библиотеки хранятся в ОЗУ в одном экземпляре).

Вопрос программистам: Почему Delphi может делать выборку нужных функций из библиотек в бинарник и он автономен и размер 1-2МБ, а вот бесплатная библиотека Qt вмуровывает свои библиотеки ЦЕЛИКОМ? Это что за издевательство над СПО? Та же программа с Qt4 статически собранная будет весить 5-9МБ, если будет только QtCore использоваться.

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

ну ты вспомнил. странички сайтов мегабайты весят !! а ты про какой-то локальный носитель… не нравится скорость - купи проц посильнеееее, памяти побольшеееее, носитель какойнить по nvme-еместеее, а лучше сразу компутер покручее.

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

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

потому, что погромисты QT решили не кочевряжится с выборками, не писать оные алгоритмы правильной линковки, а потом их отлаживать и поддерживать…
а сделали по принципу K.I.S.S. ведь все работает. кому не нравиться - путь не нравиться дальше :)

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

странички сайтов мегабайты весят

Мегабайты, а статические бинарники сотни мегабайт, если это не Hello world.

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

Тащемта выборку реализует линкер, а он из состава GCC/Clang/MSVC, так что тут вопросы скорее к компилятору используемого языка.

KivApple ★★★★★
()

Положить можно всё, если указать что пакет конфликтует/заменяет файлы другого пакета, тот будет удалён, а твой накатан. Только что толку, ну можно пакетом с калькулятором заменить ядро которое требует этот калькулятор, но ведь для запуска потребуется либо перезагрузка либо установка ядра отдельная и запуск ядра в юзерспейсе вместе с калькулятором. Linux вроде может в такое, я вроде видел, но не пробовал. Для приложений нужны внешние API в виде их реализаций и в идеале ничего в пакет кроме самого приложения упихивать не надо, только вот беда любители делать deprecated на каждый чих порождают тот самый DLL HELL от которого как ушли в которому также и пришли. Но в этом случае вместе с ПО можно положить и его библиотеки с нужными версиями реализаций API те же в свою очередь должны опираться на более низкоуровневые системные API libc и или ядра. Последние тьфу тьфу более менее стабильны. Вывод, в пакете должна лежать только программа, полагающаяся на системное API/ABI. В случае поломки последних, статическая линковка приложения или пересборка с нужным или включение в пакет нужной библиотеки дублирующей системную в неконфликтующей форме, для последнего достаточно переименовать. Но тут уже появляется политика партии/дебиана например где нужно эту внешнюю зависимость упаковывать отдельно.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от pfg

проект BOINC

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

справедливости ради надо сказать, что вроде как далеко не все проекты BOINC используют эту чудо фичу

sergej ★★★★★
()
Последнее исправление: sergej (всего исправлений: 1)
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)