LINUX.ORG.RU
ФорумTalks

Как побороть ужас зависимостей в Linux? Может сделать систему полностью статической?


2

1

Здравствуйте. Я неадекват и я считаю концепцию современных пакетных менеджеров настоящей проблемой. Главный недостатoк в том что пакеты очень несовместимы. Т.Е:

1 Вы можете лишиться любимой программы просто потому что её больше некому поддерживать или она несовместима с другими компонентами. Наверно много людей мечтало оставить Gnome 2 в арче? :-)

2 Вы не сможете запустить новомодную примочку которая появилась буквально вчера не обновив при этом половину системы включая графический редактор и фиг знает что ещё. (рядом лежит windows версия которая запускается в windows 95/98/2000/xp/vista/7/8 и wine)

И как это побороть? Или может быть система песочниц?

Ответ на: комментарий от cipher

Дай почитать. Мне интересно, как разработчики линукса посылают пользователей

не дам. Я не знал раньше, что такие пользователи как ты, читают lkml. Потому никого там не посылал. Знал-бы — послал.

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

Ты, в частности, меня заставляешь их собирать.

Не ври.

Вот тебе надо - иди и собирай.

Это должен делать разработчик. Для венды и мака же они всё равно собирают. Да и под Линукс они один хрен собирают для себя. Ничто не мешает сделать одну дистронезависимую сборку, как это делают немногочисленные разработчики некоторых программ, например Ardour.

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

Ничто ничему не мешает. Собранную таким образом программу можно ставить в произвольное место. В Линуксах для этого есть /opt, но можно хоть в хомяк ставить.

Всё, до вечера. Некогда мне.

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

Так я и есть Питер, мать его, Нортон.

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

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

мешает то, что с собой надо тащить Over9000 своих костылей, которые УЖЕ есть в целевой системе. Объясни - зачем? В венде - понятно, нет там нихрена, а в Linux зачем?

Ничто ничему не мешает. Собранную таким образом программу можно ставить в произвольное место. В Линуксах для этого есть /opt, но можно хоть в хомяк ставить.

можно конечно, но ты так и не сказал - зачем?

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

Т.е. разработчики занимаются клоунадой на публику?

нет, не занимаются. Разве что на ЛОРе ☺

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

откуда мне знать, почему ты в 90х годах так криво файлы называл?

то есть в линуксе нельзя называть файлы в не латинице, так и запищем

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

Кому должен ?

Слово «должен» употребилось в смысле «should», а не «must».

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

надо тащить Over9000 своих костылей,

Не тебя же заставят тащить эту тяжесть на своих плечах.

которые УЖЕ есть в целевой системе.

А вот не факт. Если бы это было так, то естественно это было бы не нужно и я бы этот разговор и не заводил бы. Мне уже надоело вам разъяснять одно и то же. Нужных версий зависимостей может не быть в репах используемой версии системы. У тебя в репах версия библиотеки libshit 4.5.5, а программа требует версию 4.5.6, причём с версией 4.5.5 она категорически отказывается работать, например сегфолтится. А версия 4.5.6 находится в репах следующей версии используемого дистра, которая выйдет только через полгода. Что ты будешь делать? Ждать? Ставить в чрут? Компилировать? Спасибо, но я предпочту воспользоваться Шindoшs версией в Вайне.

можно конечно, но ты так и не сказал - зачем?

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

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

Зачем это делать? Почему нельзя было сразу сделать нормально?

Потому, что у тех, кто это делал изначально, нет такой проблемы. У них одна кодировка - us ascii.

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

а программа требует версию 4.5.6, причём с версией 4.5.5 она категорически отказывается работать

А, так ты насильно пытаешься не ту версию подсунуть, с которой она собиралась ? Так ССЗБ тогда.

А версия 4.5.6 находится в репах следующей версии используемого дистра

Попроси собрать эту программу в репозитарий, обоснуй нужность, заинтересуй как-нибудь. Или сам стань мантейнером.

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

libc6.so - это какой-то косяк: так не бывает. Или же это плагин для чего-то, и от него точно ничего не зависит.

libc.so.6, точнее. От него зависят почти все программы.

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

А, так ты насильно пытаешься не ту версию подсунуть, с которой она собиралась ? Так ССЗБ тогда.

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

Попроси собрать эту программу в репозитарий, обоснуй нужность, заинтересуй как-нибудь. Или сам стань мантейнером.

Мне не хочется тратить время на бодание с красноглазыми бюрократами. Мне проще вендовой версией в вайне воспользоваться. Ломать репозиторий они не будут, новую версию библиотеки нельзя запихать в репозиторий, не проверив работоспособность использующих её программ с новой версией библиотеки этой библиотеки и не пересобрав приложения при необходимости. Естественно они этого делать не будут, в следующей версии дистра всё пересоберут с новыми версиями всего.

Короче, идите нафиг со своим depency hell, пользователь должен иметь возможность легко пользоваться любыми программами любых версий без этой вашей бюрократии.

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

Это должен делать разработчик.

Кому должен ?

Фу блин, у меня уже дежавю зацикливания.

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

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

libc.so.6, точнее.

А вот это уже лучше. Так как, если сильно надо, рядом можно положить другие libc.so.N

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

Короче, идите нафиг со своим depency hell, пользователь должен иметь возможность легко пользоваться любыми программами любых версий без этой вашей бюрократии.

ПРичем эти костыли стали очевидны еще лет так 6-7 назад, когда после победных воплей, вдруг оказалось, что репы то теперь не две болванки занимают.

Уж могли бы на примере фряховских портов проанализировать ситуацию.

Пока что из этого выкрутился только Эппл.

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

Короче, идите нафиг со своим depency hell, пользователь должен иметь возможность
легко пользоваться любыми программами любых версий без этой вашей бюрократии.

Так никто же не держит. :-)

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

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

Как раз разделяемые библиотеки место-то и экономят, в том числе и на болванках.

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

А вот это уже лучше. Так как, если сильно надо, рядом можно положить другие libc.so.N

Не всегда. Этот же libc.so.6 давно так идёт в составе пакета libc6.

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

Не всегда. Этот же libc.so.6 давно так идёт в составе пакета libc6.

И что ? Что-то мешает собрать libcN, если это катастрофически надо ?

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

И что ? Что-то мешает собрать libcN, если это катастрофически надо ?

Вот мне делать больше нечего. Собрать то я себе соберу. Ты предлагаешь всем людям заниматься этой ерундой? Речь в теме то не обо мне. Угадай что люди предпочтут, компилировать, или пользоваться программой в Венде или Макоси?

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

Ты предлагаешь всем людям заниматься этой ерундой ?

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

Угадай что люди предпочтут, компилировать, или пользоваться программой в Венде или Макоси?

У кого-то идея фикс всех тащить в Linux ? Не хотят - и не надо.

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

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

Прекрати провоцировать меня на мат. Ты специально шлангуешь? Библиотека есть в репах. Её обновят только репах следующего релиза дистра.

У кого-то идея фикс всех тащить в Linux ? Не хотят - и не надо.

Мне в этой компании тошно. Хочу гораздо больше разнообразных людей, а не только гиков.

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 1)

Все и так хорошо, ставь винду

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

Её обновят только репах следующего релиза дистра.

Ещё раз: её не надо обновлять. Точнее, её можно и нужно обновлять только в пределах неизменного soname. Библиотеку же другой версии, если она нужна кровь из носа, можно положить рядом. А уж положат, или нет, зависит от дистрибутива.

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

Ещё раз: её не надо обновлять. Точнее, её можно и нужно обновлять только в пределах неизменного soname. Библиотеку же другой версии, если она нужна кровь из носа, можно положить рядом. А уж положат, или нет, зависит от дистрибутива.

Ну раз ты такой умный, попробуй положить рядом ту же библиотеку libc6 2.15 (стоит у меня сейчас) и 2.17 (будет у меня в конце месяца).

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

Прекрати шланговать, попробуй положить рядом ту же библиотеку libc6 2.15
(стоит у меня сейчас) и 2.17 (будет у меня в конце месяца).

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

Прекрати шланговать,

А ты прекрати пороть чушь. Если ABI не меняется, библиотеку можно просто обновлять, если меняется, читай ссылку, там написано, как это делается.

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

А ты прекрати пороть чушь. Если ABI не меняется, библиотеку можно просто обновлять, если меняется, читай ссылку, там написано, как это делается.

Там написано не как это делается, а как задумано. На практике это не всегда соблюдают. Как раз при смене ABI libc.so.6 всегда имеет это имя файла. Оно уже хрен знает сколько лет не менялось, а версий библиотеки сменилось полно.

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

Допустим, я хочу два Гимпа. Тот который стоит из реп и старый, до того как сломали интерфейс. Что мне делать? Компилировать и другое красноглазие не предлагать. Установка должна занять не более трёх минут (без учёта времени скачивания), ну максимум пять минут.

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

Оно уже хрен знает сколько лет не менялось, а версий библиотеки сменилось полно.

Это означает только то, что версии именно libc.so пока совместимы. В общем, прекращай хотеть странного. Это плохой пример: glibc - это давно отлаженная вещь и обновляется она хорошо. И проблем это не вызывает, если их не придумывать себе самостоятельно.

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

Тот который стоит из реп и старый, до того как сломали интерфейс. Что мне делать ?
Что мне делать?

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

Кстати, где в Гимпе что сломали ? Я не заметил изменений. Gimp 2.8.0

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

А расходы на неподдержание велики без всяких «могут». Зачем их нести, если можно не нести ? У Windows, повторяю, просто нет выхода.

Зато виндовс «родил» несколько нормальных видеоредакторов а такой правильный линукс ни одного.

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

Зато виндовс «родил» несколько нормальных видеоредакторов а такой правильный линукс ни одного.

Казалось бы, при чём тут Linux.

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

Это означает только то, что версии именно libc.so пока совместимы.

Нет. Совместимы разве что на уровне исходного кода. Проведи всё же эксперимент и прекрати попытки меня переубедить в том, в чём я убедился на практике.

и обновляется она хорошо

Как это понимать? Её обновляют только когда обнаруживают дыры и когда выходит новый релиз дистра. В первом случае версия библиотеки не меняется (как была 2.15, так и остаётся), во втором случае новая библиотека попадает только в репозиторий следующей версии дистра.

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

Ага, да, жри что дают.

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

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

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

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

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

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

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

Use it. :-)

Вот и используют. Поэтому этот ваш Линукс так и будет торчать там, где торчит уже много лет — на 1% десктопов.

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

Почему, если Линукс весь из себя правильный, возникает такая проблема?

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

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

Херню не неси. В репозитории все пакеты пересобирают. Вышла новая Убунта — в репозитории этой версии все пакеты собраны заново. Если что-то старое перестало собираться с актуальными библиотеками или работает некорректно с актуальными библиотеками, это выкидывается из репозитория, пока автор не исправит. Ради старого приложения никто не будет разводить свалку разных версий одной библиотеки в репозитории и поддерживать устаревшие версии библиотек.

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

Почему какие-то геи (в плохом смысле этого слова) решают за пользователя что ему ставить,

Если какие-то геи хотят сделать из ОС свалку, пусть делают это самостоятельно.

Почему, если Линукс весь из себя правильный, возникает такая проблема?

Есть люди, которым нравится стоя и в гамаке. Почему-то мне кажется, что тупая пересборка src.rpm решила бы проблему.

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

Херню не неси. В репозитории все пакеты пересобирают.

Нет.

Вышла новая Убунта

Решай вопрос с Убунтой. В ALT контрольная пересборка проводится регулярно, но пакет не трогается при этом. Есть пакеты, которые никто не трогает годами, и всё работает великолепно.

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

сделать из ОС свалку

Это не свалка.

тупая пересборка src.rpm решила бы проблему.

Что подтвердило бы то что Линукс — говно. Не пойдёт.

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

Что подтвердило бы то что Линукс — говно. Не пойдёт.

Значит не пользуйся. Тут мёдом намазано ?

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