Взаимосвязь пакетов (Не могу понять главную идею)
Модератор: Модераторы разделов
-
- Сообщения: 170
Взаимосвязь пакетов
Люди подскажиет почему в Linux к примеру при установке я вибираю, нужные мне пакеты, иногда даже одну небольшую программу, но оказывается чтоб она работала надо еще уйму пакетов поставить, и в итоге после устанвки это дело очень много начинает весить. Я не могу понять главную идею - почему в Масдае не так. Какие плюсы подобная система дает.
И еще слышал что вод FreeBSD иксы очень быстро работают, быстрее чем под Linux так ли это?
И еще слышал что вод FreeBSD иксы очень быстро работают, быстрее чем под Linux так ли это?
-
- Сообщения: 54
Re: Взаимосвязь пакетов
Эти дополнительные пакеты - библиотеки которые использует программа для своей работы. Программы под Windows в большинстве случаев включают нужные библиотеки внутри (статическая компиляция), а в Линуксе немножко другая ситуация. Большинство нужных библиотек ставятся отдельно (динамическая компиляция). Плюсы такого подхода - несколько программ используют одну и ту же библиотеку, но она ставится в систему только один раз. Тем самым, можно получить приличную экономию места. Примеры таких библиотек - gtk, qt, ncurses.
Да-да, а если пингвин с демоном будут мочиться, то демон его уделает.
И еще слышал что вод FreeBSD иксы очень быстро работают, быстрее чем под Linux так ли это?
Да-да, а если пингвин с демоном будут мочиться, то демон его уделает.

-
- Сообщения: 289
Re: Взаимосвязь пакетов
В винде почти всегда каждая прога "носит с собой" все необходимые библиотеки.Получается,что все необходимое для работы с ней уже есть и морочиться с поиском чего-либо не нужно,но размер софта увиличивается(иногда значительно).В линуксе все наоборот,библиотеки устанавливаются для многих программ,их используют совместно.По этой причине программы для линукса в основном небольшие и получается спокойно качать их с сети даже модемом.Но часто бывает из-за зависимостей нужно установить кучу библиотек и всего прочего для работы мааленькой проги.Это основной недостаток системы пакетов rpm,где все зависимости пакетов привязаны "жестко",что и приводит к неудобствам(иногда значительным).
-
- Сообщения: 170
Re: Взаимосвязь пакетов
То есть подобная система наоборот экономит место на HD ? Я думал наоборот...
Большинство дистрибутивов распространяются именно в этих rpm как я понял.
Конечно система хорошая, но я к примеру решил удалить блютус компоненты, и система мне за компанию предложила потереть еще и e-mail клиент
А часто бывают нужны для установки программ пакеты не входящие в дистрибутив? Или как правило такого не бывает?
Большинство дистрибутивов распространяются именно в этих rpm как я понял.
Конечно система хорошая, но я к примеру решил удалить блютус компоненты, и система мне за компанию предложила потереть еще и e-mail клиент

А часто бывают нужны для установки программ пакеты не входящие в дистрибутив? Или как правило такого не бывает?
-
- Бывший модератор
- Сообщения: 1469
- Статус: Отпетый КДЕ'шник
Re: Взаимосвязь пакетов
(boot @ Суббота, 12 Марта 2005, 16:16) писал(а):Но часто бывает из-за зависимостей нужно установить кучу библиотек и всего прочего для работы мааленькой проги.Это основной недостаток системы пакетов rpm,где все зависимости пакетов привязаны "жестко",что и приводит к неудобствам(иногда значительным)
Какой же это недостаток? Если для работы проги НУЖНЫ эти библиотеки, то как же ты её запустиш без них?

Другой вопрос, что иногда (кстати я такого практически не встречал) попадаются пакеты с "лишними" зависимостями - это просто ошибка майнтейнера, но и тогда есть простое решение --nodeps, если канешно ты хорошо понимаеш что и для чего нужно.
Valerius добавил в 12.03.2005 16:41
Если ты ставиш прогу из репозитория своего дистра, то все необходимые пакеты ты должен найти или там же или в дистрибутиве, а если это сборка "от Васи Пупкина", то она может потребовать что-то чего ты в рпмке для своего дистра и не найдёш.(Rohan @ Суббота, 12 Марта 2005, 16:27) писал(а):А часто бывают нужны для установки программ пакеты не входящие в дистрибутив? Или как правило такого не бывает?
Свобода есть тонкая полоска между диктатурой и анархией.
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
-
- Сообщения: 289
Re: Взаимосвязь пакетов
Какой же это недостаток? Если для работы проги НУЖНЫ эти библиотеки, то как же ты её запустиш без них? smile.gif
Другой вопрос, что иногда (кстати я такого практически не встречал) попадаются пакеты с "лишними" зависимостями - это просто ошибка майнтейнера, но и тогда есть простое решение --nodeps, если канешно ты хорошо понимаеш что и для чего нужно.
Ну да,если какая-то либа реально_нужна,то естесственно обновляться необходимо.А насчет "лишних" зависимостей,то это увы встречается довольно часто,хоть и не в прямом смысле.Например,меняется идеология сборки пакетов и обновлять приходится добрую половину дистра(это я о сизифе).Тот же --nodeps не панацея.Да,всё хорошо работает,но начинает материться апт,пока не удалишь "неправильный" пакет - сиди без установки чего-либо.Например,у меня дрова к принтеру требуют libttf.so.3,а у меня уже *so.4.Ему нужно токо 3,хоть и пашет все нормально - пришлось в угоду апту зверски распаковать дрова cpio и покидать по каталогам.Конечно можно поставить две версии libtiff,но если покрче будут такие зависимости вся охота пропадет чего-то устанвливать

РПМу малось "независемее" стать бы и "жить станет лучше,жить станет веселей"

-
- Бывший модератор
- Сообщения: 1469
- Статус: Отпетый КДЕ'шник
Re: Взаимосвязь пакетов
(boot @ Суббота, 12 Марта 2005, 16:59) писал(а):Да,всё хорошо работает,но начинает материться апт,пока не удалишь "неправильный" пакет - сиди без установки чего-либо.
Это одна из фич, которая мне в Альте жутко не понравилась, в Мандрейке же ставь что хочеш и как хочеш, и после этого спокойно пользуйся рпмдраком.
Точно также если помняется идеология сборки в каком-нибуть другом (не рпм-басед) дистре, то будут те же проблемы.
Свобода есть тонкая полоска между диктатурой и анархией.
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Взаимосвязь пакетов
Зависит в первую очередь от размера самого дистрибутива. Если он однодисковый, то, естественно, почти любая сторонняя программа потяне за собой что-то ещё, чего на этом диске нет. А если же дистр на 10-15 дисков, как, скажем, дебиан, то с большой вероятностью всё, что нужно программе (кроме, конечно, специфических библиотек, написанных специально под неё), уже будет на этих дисках.(Rohan @ Суббота, 12 Марта 2005, 16:27) писал(а):А часто бывают нужны для установки программ пакеты не входящие в дистрибутив? Или как правило такого не бывает?
Давайте флейм "rpm vs другие системы управления пакетами" здесь разводить не будем. Всем известно, что менее гибкая система зависимостей -- это основной недостаток rpm. Пример:(Valerius @ Суббота, 12 Марта 2005, 16:41) писал(а):Какой же это недостаток? Если для работы проги НУЖНЫ эти библиотеки, то как же ты её запустиш без них?
В deb-пакете, вероятнее всего, такая зависимость (обратите внимание на фразу "хоть и пашет всё нормально") была бы прописана как libttf >=3. Это я просто аргументирую свой ответ, а продолжение темы, если таковое последует, просьба вынести за пределы этого топика.(boot @ Суббота, 12 Марта 2005, 16:59) писал(а):Например,у меня дрова к принтеру требуют libttf.so.3,а у меня уже *so.4.Ему нужно токо 3,хоть и пашет все нормально - пришлось в угоду апту зверски распаковать дрова cpio и покидать по каталогам.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Бывший модератор
- Сообщения: 1469
- Статус: Отпетый КДЕ'шник
Re: Взаимосвязь пакетов
(t.t @ Суббота, 12 Марта 2005, 19:01) писал(а):Давайте флейм "rpm vs другие системы управления пакетами" здесь разводить не будем.
ообщето сама тема касается пакетов, поэтому обойти такой вопрос ну никак нильзя

(t.t @ Суббота, 12 Марта 2005, 19:01) писал(а):В deb-пакете, вероятнее всего, такая зависимость (обратите внимание на фразу "хоть и пашет всё нормально") была бы прописана как libttf >=3
Вот именно об этом я и говорил! То что пакет составлен с не совсем правильными зависимостями, ещё не о чём не говорит. Кстати, в рпм тоже можно указывать версии в виде >=, = и <=
И то что дистрибютор часто не указывает >=, говорит только об одном - он хочет чтобы эта система была максимально стабильной, ведь кто может гарантировать, что новая будущая версия либы будет полностью совместима с предыдущей? Никто, даже сами разработчики

Моё мнение - рпм не есть идеал. Но если пользоваться родными пакетами а не совать в систему что ни попадя и всегда удовлетворять зависимости, он вполне себя оправдывает.
Свобода есть тонкая полоска между диктатурой и анархией.
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Взаимосвязь пакетов
(Rohan @ Суббота, 12 Марта 2005, 15:14) писал(а):И еще слышал что вод FreeBSD иксы очень быстро работают, быстрее чем под Linux так ли это?
Нет, это не так. Сами по себе Иксы всегда и везде работают примерно одинаково. Другое дело - десктопы и оконные менеджеры, но это больше зависит от конкретной сборки, чем от системы.
-
- Сообщения: 383
- ОС: Debian Sid
Re: Взаимосвязь пакетов
Вобще то идея с зависимостями очень неплоха, и в большинстве случаев реализована также на уровне. Но бывают исключения, связанные с руками сборщиков этих самых пакетов. Попадаются пакеты в которых вместо рекомендованных к установке пакетов, они указаны как обязательные и т.д. Отсюда и попадает мусор в систему. Но, как правило, - это встречается редко. В любом случае вам всегда оставляется возможность пересобрать пакет по своему усмотрению.
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Взаимосвязь пакетов
(Vladislav @ Понедельник, 14 Марта 2005, 10:52) писал(а):Вобще то идея с зависимостями очень неплоха,
Это ИМХО мягко сказано - без этой идеи ни одна система пакетного менеджмента существовать не может (иначе она не будет системой).
(Vladislav @ Понедельник, 14 Марта 2005, 10:52) писал(а):и в большинстве случаев реализована также на уровне. Но бывают исключения, связанные с руками сборщиков этих самых пакетов. Попадаются пакеты в которых вместо рекомендованных к установке пакетов, они указаны как обязательные и т.д.
Не столько с руками - сколько с их представлениями "как надо".
И вот тут мы возвращаемся к альтернативе - зависимости, описанные внутри пакета или зависимости во внешней ко всем пакетам базе данных. Речь ведь идет о мягких зависимостях - зависимость от glibc и Господь Бог отменить не в силах:-) Что проще - в текстовом редакторе перешерстить один файл на предмет исключения зависимостей от, скажем, gpm, или отдельно истреблять их в каждом индивидуальном пакете?
Это именно вопрос, а не утверждение:-))
Ну а на худой конец всегда есть вареные яйца - опции типа force, nodeps и тому подобное.
-
- Сообщения: 170
Re: Взаимосвязь пакетов
Вот именно это, как правило и отпугивает начинающих пользователей в том числе и меня.
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Взаимосвязь пакетов
(Rohan @ Понедельник, 14 Марта 2005, 18:57) писал(а):Вот именно это, как правило и отпугивает начинающих пользователей в том числе и меня.
На самом деле ничего страшного тут нет. Представьте себе Windows и ее программы. В самой системе есть куча dll'ок - это все аналоги glibc и xlib, от которых зависят абсолютно все unix-программы (от первой) и все иксовые (и от второй). Плюс к этому каждая виндовая программа требует еще каких-то функций, которых в общесистемных либах нету. Соответственно, при установке она пишет кучу своих dll'ок (причем куда - и Аллаху неведомо). Либы разных программ дублируют функции друг друга, а подчас и конфликтуют между собой.
Тут же (в POSIX-ах) велосипеды изобретать не любят, поэтому все программы, скажем, для работы с графикой будут использовать функции из одних и тех же библиотек - типа там libgif, jpeg, tiff, libpng и т.д., программы для работы с аудио - libaudio, libogg и т.д. Это и есть жесткие зависимости - без них программа просто функционировать не будет.
А есть еще и мягкие зависимости. Это когда программа для обработки фотографий может заодно сканировать и распечатывать. Для чего ей нужны подсистемы sane и cups, соответственно. А может - не делать этого, если у Вас нет сканера и принтера. И тогда эти зависимости можно спокойно игнорировать, в результате программа просто не получит дополнительрных функций.
Как в анекдоте: чего можете? - могу компать. - а еще чего? - могу не копать:-)
На самом деле все может быть чуть сложнее, но это уже детали реализации. В простых системах пакетного менеджмента все обстоит именно так.
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Взаимосвязь пакетов
Ну, учмтывая в каком разделе мы находимся, можно и продолжить.(Valerius @ Суббота, 12 Марта 2005, 19:37) писал(а):ообщето сама тема касается пакетов, поэтому обойти такой вопрос ну никак нильзя и помойму никто пока здесь ничего не "развозит"? речь идёт именно о фактах.
Да? Не знал. Спасибо за информацию.(Valerius @ Суббота, 12 Марта 2005, 19:37) писал(а):Вот именно об этом я и говорил! То что пакет составлен с не совсем правильными зависимостями, ещё не о чём не говорит. Кстати, в рпм тоже можно указывать версии в виде >=, = и <=

Сколько ставил пакетов с >, >=, никогда с таким не сталкивался.(Valerius @ Суббота, 12 Марта 2005, 19:37) писал(а):И то что дистрибютор часто не указывает >=, говорит только об одном - он хочет чтобы эта система была максимально стабильной, ведь кто может гарантировать, что новая будущая версия либы будет полностью совместима с предыдущей? Никто, даже сами разработчики поэтому поставить такое условие означает обречь пользователя на ситуацию, когда все зависимости полностью удовлетворены, но прога не работает.
Я, честно сказать, рпм забыл как страшный сон ещё в те времена, когда к нему не поприкручивали апт и прочие урпми.(Valerius @ Суббота, 12 Марта 2005, 19:37) писал(а):Моё мнение - рпм не есть идеал. Но если пользоваться родными пакетами а не совать в систему что ни попадя и всегда удовлетворять зависимости, он вполне себя оправдывает.
Зависит от ситуации: если мне нужно поставить _один_ пакет с кривой зависимостью (как чаще всего и бывает), проще его пересобрать или установить принудительно, а если хочется изгнать из системы пакет, который не вполне корректно завязан на многое из установленного -- тогда, видимо, наоборот.(alv @ Понедельник, 14 Марта 2005, 11:52) писал(а):Что проще - в текстовом редакторе перешерстить один файл на предмет исключения зависимостей от, скажем, gpm, или отдельно истреблять их в каждом индивидуальном пакете?
Это именно вопрос, а не утверждение:-))
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Бывший модератор
- Сообщения: 7275
- Статус: Пенсионер в законе
- ОС: Cintu
Re: Взаимосвязь пакетов
(t.t @ Среда, 16 Марта 2005, 15:20) писал(а):Зависит от ситуации: если мне нужно поставить _один_ пакет с кривой зависимостью (как чаще всего и бывает), проще его пересобрать или установить принудительно, а если хочется изгнать из системы пакет, который не вполне корректно завязан на многое из установленного -- тогда, видимо, наоборот.(alv @ Понедельник, 14 Марта 2005, 11:52) писал(а):Что проще - в текстовом редакторе перешерстить один файл на предмет исключения зависимостей от, скажем, gpm, или отдельно истреблять их в каждом индивидуальном пакете?
Это именно вопрос, а не утверждение:-))
Вот и я к тому - все в жизни имеет свою оборотную сторону. Сейчас вот, имея дело с пакетами для DragonFly из разных репозиториев, с тоской вспоминаю, как просто в Archlinux было просто переделать базу данных:-((