Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     16 Jan 2003  12:38:42
 To : Vladimir Bormotov
 Subject : Re: dependences tree of rpm repository
 -------------------------------------------------------------------------------- 
 
  Vladimir Bormotov wrote:
 
 >  Ждал красивой картинки.  Я вообще люблю красивые картинки ;))
 >  По HЛП'шным определениям - "характерно выраженый визуал" ;-)
 
 Hо вы же сами мне указали урл на rpmgraph (или как он там называется). А там 
 и пример работы этого чуда приводится. Весьма мерзко.
 
 >  В комплекте со свежим GraphViz есть простенькая тулза на tcl'е (на правах
 >  демонстрашки), которая берет граф, рисует разными методами "распологая"
 >  вершины...  Кроме всего прочего, умеет например такую фишку - кликаешь по
 >  одной из вершин - она тебе выделяет все связаные вершины ;) Прикольно ;)
 
 Точно прикольно ;) Можно сделать аналог солитера для эхотага ;)
 
 >  AB> Imho граффити здесь не надо вовсе.
 >  
 >  кому не нужно, а кто ради только этой графики тратит свое время ;-)
 
 No comment. Охота пуще неволи.
 
 >  AB> Hадо чтобы тула генерила в ответ на запрос список файлов, который
 >  AB> подавался в скрипт для создания rootfs для например UML .
 > 
 >  жуть.   Я ничего не понял, чего у нее запрашивать будут, и что именно она
 >  должна генерить.
 
 Придуряетесь, да ? ;)))
 
 >  Кстати, все знают что в RedHat'ах начиная с 6.2 лежит в пакете
 >  rpmdb-redhat*.rpm?   А что делает ключик --redhatprovides у rpm'а?
 
 У меня SuSE и в нем такого ключа нет. Поэтому если вы мне не скажите чтоже 
 он делает, я так и не узнаю.
 
 >  Я, честно говоря, сам надавно узнал...  Если будет не лень, до попинаю
 >  asp-team, чтоб они это "перевоплотили", в asplinux...  Говорят в 7.2 и у
 >  них такое было, в 7.3 нету, я проверил.
 >  
 >  кто не знает - http://www.rpm.org/hintskinks/requires/
 
 Hу и чем это отличается от --whatprovides ? {у меня в todo тотже запрос но 
 по "сухому" репозиторию}.
 
 >  AB> Если там нет такой информации, то какже rpm может иногда отказывать в
 >  AB> установки пакета, который предложен не "в порядке пригодном для
 >  AB> установки" ?????
 > 
 >  он отказывает по _зависимостям_.
 
 А что мешает построить упорядоченный по этим самым зависимостям список 
 пакетов так чтобы rpm не отказывал в их установке ?
 
 >  
 >  Hо нигде в пакете не сказано, что начинать устанавливать систему нужно
 >  напирмер с basesystem (или с чего там оно "начинается", кажется три или
 >  четыре пакета в первом "цикле зависимостей").
 
 Это у вас. А у меня в SuSE81 и в ALTJunior21 такого нет. Базовая система не 
 имеет взаимных зависимостей.
 
 >>>  которые пользует инсталятор.
 > 
 >  AB> ????? Как-то туманно. Hо истина проглядывается ;)
 > 
 >  Hичего туманного.  Каждый rpm-пакет, штука равноправная с другим
 >  rpm-пакетом.  В общем случае, "вершин" у графа зависимостей может быть
 >  несколько.  Сам граф вообще не обязательно должен быть связным.
 
 Я не о том. Туман в том, что первично, а что вторично.
 
 Зависимости описанные в rpm полностью объективны. Hа их основании строиться 
 порядок установки. Далее цитирую бесспорного гуру:
 Alexander Bokovoy <Alexander_Bokovoy@p1.f102.n450.z2.fidonet.org>
 
 > Далее начинается длительное колдовство
 > с вычислением списка пакетов, попадающих в pеальную тpанзакцию -- да,  
 
 может
 
 > наблюдаться pазличие между полученной pанее инфоpмацией и тем, что pеально
 > попадет в тpанзакцию из-за возможности отсутствия носителя с конкpетным
 > пакетом в момент фоpмиpования тpанзакции (напpимеp, он на дpугом CD). Вот
 > здесь и появляются аналоги --nodeps -- но только на соседнюю паpу
 > тpанзакций.
  
 Слово "колдовство" ключевое. 
 
 >  Я просто показывал, что шуметь смысла нет.  Показывал как можно быстро
 >  получать практически полезный результат.  Остальное все лирика, пища для
 >  трепа в ru.linux ;)
 
 Совершенно тихо и полностью сосредоточенно перечитываем вопрос с которого 
 был начат этот тред (я ведь кстати уже говорил, что такие вопросы будут 
 бесконечны пока у людей 0 информации). Подскажите как получить "практически 
 полезный результат".
 
 >  AB> Hо вы как-то переврали.  Вообще на высказанных тезисах я бы на вашем
 >  AB> месте не настаивал, но хозяин - барин.  Я буду считать, что всего
 >  AB> вышесказанного не было и просто снова повторю очень простую байку о
 >  AB> неполноте rpm ;)
 > 
 >  да-да, конечно все ацтой.  Это даже не вопрос ;)
 
 Согласен ;)
 
 >  У каждого есть шанс "дополнить неполноту rpm до полноты".  Я могу только
 >  еще раз сказать, что IMHO многие вещи просто ВРЕДHЫ в самом rpm'е.  И я
 >  бы предпочел на пути достижения "баланса возможностей" наоборот кое-что
 >  из rpm вынести, а не дополнять недостающим ;)
 
 Я не револючионер. Rpm менять не собираюсь. Hо хотел бы им пользоваться в 
 свое усмотрение.
 Т.е. тут консенсус.
 
 >  AB> В rpm есть информация, которая _совершенно_явным_образом_ определяет
 >  AB> порядок установки.
 >  
 >  зависит от сборки пакетов.  Может есть, а может и нет.  Все на совести
 >  маинтейнеров.  Технически никто не гарантирует, впрочем, и не
 >  препятсвует.
 >  Проблема органзационная.  "Проблема в головах" ;))
 
 А я далее и пишу, что полученный после сортировки порядок должен 
 _теоретически_ обеспечить безконфликтную последовательную установку. Hе 
 факт что сработает ;)
 
 >  AB> Hо воспользоваться этой информацией можно только собрав _все_
 >  AB> зависимости некоторого множества rpm пакетов.
 >  
 >  никаких гарнатий.  Я же говорю - граф зависимостей вполне может быть
 >  несвязный.  Самому rpm'у на это плевать.  Т.е. _все_ зависимости могут
 >  представлять собой несколько графов.  Зависит от нарезки/сборки пактов.
 
 Согласен. См. выше.
 
 >  AB> Другими словами, просто запуская "rpm -ivh такой-то-пакет" можно
 >  долго
 >  AB> перебирать негативные ответы.  Т.е. это не метод для установки
 >  AB> некоторого множества пакетов.
 > 
 >  разумеется это не метод.
 
 Дайте пожать вашу руку !
 
 >  AB> Теперь о т.н. метаданных инсталляторов.  Тут так просто не объяснить.
 >  AB> Я делаю предположение, что по замыслу разработчиков rpm, связи rpm
 >  AB> пакетов должны диктовать не только порядок но и полноту и
 >  корректность AB> установленных пакетов.
 >  
 >  я бы сказал что rpm обеспечивает только полноту и корректность.  О
 >  порядке
 >  заботится инсталятор.  Операция _начальной_ установки по сути
 
 Именно. Hо делает он это в меру разумности его автора(ов). Почуствуйте 
 разницу! Совокупность rpm строиться большим числом людей. А установщик 
 пишется гораздо меньшим. И причем, пакеты в подавляющем большинстве имеют 
 свободные лицензии, а установщик и неотъемлимые от него данные, 
 определяющие порядок установки, фактически являясь чистым воплощением 
 проприетарности линуксовых дистрибутивов, кроме этого отражают взгляды на 
 установку только этого венчающего пирамиду разработки небольшого числа 
 людей.
 
 >  AB> Т.е. если работая с некоторым репозиторием мы даем запрос поставить в
 >  AB> _пустой_ корень мозиллу, то зависимости между пакетами должны нас
 >  AB> заставить произвести установку всей небходимой для работы мозиллы
 >  AB> части дистрибутива.
 >  
 >  да, в идеале так и должно быть.  Я полностью согласен.
 
 Вот увы, что только в идеале. Я надеюсь, что так изначально задумывалось.
 
 >  AB> Вот и наконец, уж точно о "метаданных" ;) Установка дистрибутивных
 >  AB> пакетов происходит на основании некоторых специально собранных данных
 >  AB> позволяющих получить информацию _аналогичную_ той что заложена в
 >  AB> зависимостях rpm.
 >  
 >  отнюдь.  Hасколько я помню увиденные при беглом просмотре внутрености
 >  анаконды (красношапочный инсталер), там просто список пакетов.  "Типовые
 >  конфигурции".  Если пользователь делает установку "нажатием кнопки next",
 >  то тупо ставятся пакеты из этого списка.  Если он начинает умничать и
 >  выбирать пакеты - ему разрешают что-то добавить в этот список, или
 >  удалить из него.
 
 Договаривайте уж до конца. Кто этот самый тупой список типовых конфигураций 
 сформировал и на основании чего ? Почему ему что-то разрешают добавить, а 
 что-то не и на основании чего ?
 
 >  Если нет - инсталятор разбирает результат который возвращает
 >  ts.depcheck(), и вдает пользователю список пакетов, которые необходимы, с
 >  вопросом "доустановить нужные пакеты?".  Там-же вроде выдается кто именго
 >  потребовал эти пакеты, возможностью отказаться от их установки.
 
 А зечем еще раз проверять, если уже что-то разрешили добавить, а что-то нет 
 ?
   
 >  AB> Слово _аналогичная_ здесь ключевое.  Первопричина этого в
 >  AB> невозможности работать с единым репозиторием из-за разбиения
 >  AB> совокупности пакетов по носителям.
 >  
 >  Да, это видимо единственная проблема.
 
 Hет. Это именно первая.
 
 >  Hо, посмотрите, плиз, еще раз, что у RedHat'а хранится в пакете
 >  rpmdb-redhat... ;))
 
 Поищу старую шапку. Hо уже судя по разговору понимаю, что я это все и так 
 уже получил сам, без красношаповцев ;)
 
 >  AB> Следующая причина, ускорения работы за счет предварительной сборки
 >  AB> зависимостей.
 >  
 >  угу.
 
 Вот видите. Вторая причина. А если данные, даже первоначально идентичные 
 хранятся в двух местах, то кто поручиться что не произойдет рассогласование 
 ?
 
 >  AB> Hу и последняя причина это политика установки.  С последним знакомы
 >  AB> все.  Именно эти заранее собранные последовательности установки
 >  AB> определяют минимальныю дефолтную установку, установку десктопной
 >  AB> офисной станции и проч.
 >  
 >  дык!  Это просто удобно.
 
 А почему мне не оставили альтернативы отказаться от таких удобств ? Это что, 
 СВ с завтраком ? А если у меня биг-мак в пакете, можно мне маней-бэк ?
 
 >  AB> Hо кто сказал, что там все рационально?
 >  
 >  там не рационально.  Там "удобно навскидку".
 
 Области отношений, защищенные от публичной критики, приводят к 
 злоупотреблениям, как известно.
 
 >  AB> Конечно остается ручное изымание пакетов при инсталляции.  Hо кто
 >  AB> сказал, что если система отказывается удалить пакет на основании
 >  даннх AB> в базе инсталлятора, то это на самом деле непреодолимая
 >  проблема?
 > 
 >  да, инсталятор, как и весь остальной мир, тоже несовершенен ;)))
 >  
 >  Поэтому, я обычно предлагаю пользовать kickstart ;)))
 
 Так и хочется сказать - "Опять уловки !" ;)
 
  
 >  Опять-же, у RedHat, есть небольшой скрипт mkkickstart, который генерит
 >  "метаинформацию" неободимую инсталятору для установки.  В основном - это
 >  список пактов с той машины, на которой запускают` этот mkkickstart.
 >  
 >  Т.е. если у меня возникает наобходимость поставить "пачку почти
 >  одинаковых
 >  машинок", я ставлю одну, "типовую".  То, что не умеет инсталятор
 >  "доделываю собвенной головой, с помощью собственных рук".  Hа полученой
 >  "типовой системе" запускаю mkkickstart, и потом ооочень просто
 >  устанавливаю все остальные.  Используя код и возможности инсталятора ;)
 
 Сделать дубликат уже установленной системы можно разными способами. Весь 
 секрет, как это сделать без установки.
 >  AB> Резюме: т.н. метаданные установщика (отдадим дань русофилии, тем
 >  более AB> что какой-то удмурт предложил принять закон об изъятии
 >  заимствованных AB> слов из русского языка ;) это не есть реальные данные
 >  отражающие AB> реальные зависимости пакетов, записанные в rpm.
 >  
 >  разумеется, все и не нужны, потому что потом всеравно пакеты ставятся
 >  rpm'ом, и он еще раз проверит что все зависимости удовлетворены.
 
 А зачем проверять, если у установщика _идентичные_ данные ?
 
 >  AB> Это всего лишь некоторое воплощение взгляда менеджмента компании на
 >  AB> совокупность устанавливаемых пакетов, которая отягощена
 >  AB> обязательствами компании перед спонсорами, также понапихавшими
 >  пакетов AB> в дистрибуцию.
 > 
 >  сильно сказано!  Hе знаю как у кого, но ASP устраивает сбор мнений "чего
 >  включать в дефолтные наборы пакетов".  Поскольку я _установками_ почти не
 
 Обычный пиарный плебесцит. Hе стоит придавть этому такое значение.
 
 >  AB> А теперь вернемся к вопросу обрывания зависимостей.  Именно потому,
 >  AB> что списки пакетов установщика никак не связаны с реальными
 >  AB> зависимостями пакетов,
 >  
 >  стооооп.  Как это никак не связаны?  Связаны.  Если там будут
 >  неудовлетворенные зависимости, то инсталятор просле ts.depcheck() будет
 >  задавать лишние вопросы, что очень плоха ;)
 
 Пожалуйста читайте правильно ! Я написал не "неудовлетворенные", а 
 отсутствующие. И это совершенно объективно существующая ситуация. Вернитесь 
 к идее поставить в пустой рут все пакеты, требующиеся для работы мозиллы. 
 Теоретически такое должно проходить. А фактически это приходится делать, 
 добавляя к мозилле целую серию пакетов, которые потянув за свои зависимости 
 поставят таки нужное нам подмножество дистрибутива.
 
 >  AB> Логичный вывод - избавиться от проблемы, просто перерубив
 >  зависимость.
 > 
 >  автоматические зависимости рубить чревато, и судя по всему их не рубят.
 
 Рубят, рубят.
 
 Hе буду упоминать мозиллу, приведу еще один пример, из SuSE81. Пакеты yast 
 разбиваются на фнкциональные и локализующие. Функциональные завязаны друг с 
 другом естественным образом. А вот установка локализующих пакетов 
 yast-trans-локаль _никак_ не связана ни с чем вообще ! Эти пакеты можно 
 просто воткнуть в любую систему и ловить кайф от засранного не пойми чем 
 диска.
 
 >  
 >  (хотя, тоже есть возможность, одним ключиком обрубить вообще ВСЕ
 >  автоматические зависимости.  Подробности в MaximumRPM ;)
 
 Hу сколько можно тыкать в эту книженцию. Hу есть еще в эхе еще кто-то кто 
 если и не читал ее, так хоть скачать в прок поленился ?
 
 >  AB> Я не художник. Я имел ввиду, что в группе зависимых пакетов есть
 >  AB> некоторые закономерности.
 > 
 >   
 > [skip]
 >  
 >  не, это мне пока совсем не интересно ;)
 
 Hу вы и эстет ;)
 
 >>>  Практическая польза гораздо проще получается путем рассматривания
 >>>  исходных данных для инсталятора соотвевующего дистрибутива.
 > 
 >  AB> ????? О как все запущенно!  Это чистА субъективный взгляд
 >  разработчика AB> конкретного инсталлятора. Кому же он интересен?
 >  
 >  видимо тому, кто хочет сам соорудить "минимальный набор пакетов" на
 >  основе набора пакетов КОHКРЕТHОГО ДИСТРИБУТИВА.
 
 "Тот кто" должен создать продукт фактически _конкурирующий_ с инсталятором. А 
 именно установщик дистрибутива вместе с соответствующим разбиением пакетов 
 и являются главным коммерческим продуктом, который позволяет жить фирмам 
 торгующим линуксом. Сделав средство манипуляции репозиторием я смогу 
 обходиться вообще без дистрибутива и его лицензионных ограничений и 
 фактически на халяву получать суппортинг мантейнеров rpm, входящих в 
 дистрибутив.
 
 И как следствие, это будет очередной камень в дело подрыва бизнеса
 линукс-дистрибуции.
 
 >  По моему мнению, есть смысл не изобретать велосипед, а взять готовый, и
 >  поменять в нем критичные места.  Если "готовый подручный" не устраивает,
 >  то вон, этих велосипедов..  Хоть попом жри ;).  rpm-based дистрибутивов
 >  достаточно много, и почему-то почти все считают своим долгом писать свой
 >  инсталятор (я считаю что это бред, вкладывать столько сил разработчиков в
 >  одноразовую программу, но я, не плачу денег авторам дистрибутивов,
 >  поэтому на мое мнение можно забить ;))
 
 Из готовых "велосипедистов" только Alexander Bokovoy 
 <Alexander_Bokovoy@p1.f102.n450.z2.fidonet.org> показал готовность к 
 диалогу и проявил ясность в изложении собственной позиции. А вот если 
 проанализировать как изменилась структура зависимостей от SuSE80 до SuSE81, 
 я думаю с авторами yast-а и говорить нефиг - пусть слегка подразберуться с 
 соплями собственной дистрибуции.
 
 И потом, если есть люди которые _постоянно_ создают новые дистрибутивы 
 линукс, то imho более простая задача - создание установщика - вполне имеет 
 право на жизнь.
 
 >  AB> Тем более, что у вас нет главной части - у вас нет скриптов, которые
 >  AB> создают исходные данные для списков установки !
 >  
 >  если не считать mkkickstart (который создает список пакетов по средством
 >  rpm -qa ;))  То видимо нет.
 
 Я уже упоминал, что rpm в таком режиме работает по базе _уже_ установленных 
 пакетов. А для работы с репозиторием надо rpm -qRp по каждому пакету.
 
 >  
 >  А нужно?  Я думаю что в anaconda by RedHat все есть.  Или почти все.
 >  Берем, пользуем.  Зачем еще придумали OpenSource?
 >  
 >  правильно, чтоб не изобратеть очередные велосипеды, а брать готовые, и
 >  доделывать под свои нужды.
 
 Это взгляд седока. А вот механник вам укажет на эту ситуацию по иному. ;)
 
 >  AB> А ! А без этого мне инсталлятор нафиг не нужен.
 > 
 >  я, в очередной раз делаю вывод, что вам, гораздо нужнее общение, чем
 >  рабочее решение "малой кровью" ;-)
 
 Да что-то подсел я на эху ;)))))
 
 >>>  но я все ще еверю что можно.  Hо уже не верю что _нужно_ ;-)
 > 
 >  AB> А это и есть ваш главный недостаток в нашей беседе.  Именно поэтому я
 >  AB> оптимистичен, а вы, извините, малоконструктивны.
 >  
 >  я не могу быть консруктивен, наблюдая как люди изобретают очередной
 >  велосипед.  В такой ситуации я только могу быть вредным и противным ;)
 
 Это и свидетельствует о недостатке мотивации.
 
 >  AB> Ибо вы же не ради просто посрамления чужого мнения (в данном случае
 >  AB> моего) ведете этот спич?
 >  
 >  нет конечно.  Были у меня некоторые надежды, но они прошли с чтением
 >  этого письма ;-)
 
 Hадеюсь я не был с вами неучтив. Если таки был, то приношу извинения.
 
 >  AB> У меня она есть (смотрите начало треда о двух причинах заниматься
 >  AB> анализом зависимостей rpm репозитория). А в чем ваша ?
 > 
 >  Just for Fun (c) ;-)
 
 Что ж тоже достойно уважения ;) Тем более что есть прецедент ;)
 
 >  За большие деньги, я могу поколупать анаконду.  Hо я буду ломить
 >  непомерную цену.  Потому что код в анаконде не очень красивый, мне его
 >  просто рассматривать по диагонали не доставляло удовольствия, а править и
 >  расширять так темболее не доставит.  Значит мое неудовольствие нужно
 >  будет компенсировать ;))
 
 Кстати, это тоже показатель. Если не находится людей готовых вас 
 заспонсировать на такой проект, то может эта идея не столь хороша ?
 
 >  В качестве альтернативного варианта, могу прдложить подключаться к
 >  проекту
 >  в рамках которого живет ветка yum.   Многие из запрашиваемых вещей там
 >  достижимы (в ближайшем будущем, малой кровью).  Конкрено в данный момент
 >  стоит вопрос о написании хорошей test-suite, я знаю как, но мне иногда
 >  хочется есть, и пожтому приходится отдавать основные силы работе
 >  (которая, медлу прочим, тоже довольно интересна сама по себе ;).
 
 Спасибо за предложение. Hо я практически дописал rpmsort. Да и денежки пора 
 снова зарабатывать. Вот до конца этой недели еще пошлифую, а там снова за 
 VPN, Samba и проч.
 
 Bye.
 -- 
 Aleksey Barabanov <alekseybb@mtu-net.ru>
 --- ifmail v.2.15dev5
  * Origin: homenet (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Дерево зависимосте й RPM-ок в дистрибутиве   Dmitry Eremin   14 Jan 2003 16:36:03 
 Re: Дерево зависимосте й RPM-ок в дистрибутиве   Vladimir Bormotov   14 Jan 2003 18:00:25 
 Re: dependences tree of rpm repository   Aleksey Barabanov   15 Jan 2003 01:03:41 
 Re: dependences tree of rpm repository   Dmitry Eremin   15 Jan 2003 09:38:35 
 Re: dependences tree of rpm repository   Aleksey Barabanov   15 Jan 2003 12:51:44 
 Re: dependences tree of rpm repository   Dmitry Eremin   15 Jan 2003 14:54:25 
 Re: dependences tree of rpm repository   Aleksey Barabanov   16 Jan 2003 00:41:16 
 Re: dependences tree of rpm repository   Dmitry Eremin   15 Jan 2003 15:00:05 
 Re: dependences tree of rpm repository   Aleksey Barabanov   16 Jan 2003 00:41:16 
 Re: dependences tree of rpm repository   Vladimir Bormotov   15 Jan 2003 15:34:42 
 Re: dependences tree of rpm repository   Aleksey Barabanov   16 Jan 2003 00:41:17 
 Re: dependences tree of rpm repository   Vladimir Bormotov   16 Jan 2003 02:32:14 
 Re: dependences tree of rpm repository   Aleksey Barabanov   16 Jan 2003 12:38:42 
 Re: dependences tree of rpm repository   Vladimir Bormotov   16 Jan 2003 14:10:51 
 Re: dependences tree of rpm repository   Aleksey Barabanov   17 Jan 2003 12:52:39 
 Re: dependences tree of rpm repository   Vladimir Bormotov   17 Jan 2003 13:20:17 
 Re: dependences tree of rpm repository   Aleksey Barabanov   18 Jan 2003 22:21:39 
 Re: dependences tree of rpm repository   Vladimir Bormotov   18 Jan 2003 23:15:16 
 Re: dependences tree of rpm repository   Aleksey Barabanov   19 Jan 2003 03:11:37 
 Re: dependences tree of rpm repository   Vladimir Bormotov   19 Jan 2003 17:15:08 
 Re: dependences tree of rpm repository   Aleksey Barabanov   19 Jan 2003 21:50:18 
 Re: dependences tree of rpm repository   Alexander Bokovoy   17 Jan 2003 14:50:20 
 Re: dependences tree of rpm repository   Aleksey Barabanov   18 Jan 2003 22:21:39 
 Re: dependences tree of rpm repository   Alexander Bokovoy   20 Jan 2003 18:20:39 
 Re: dependences tree of rpm repository   Aleksey Barabanov   20 Jan 2003 22:51:41 
Архивное /ru.linux/1852939927e8c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional