|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey I Zavilohin 2:5020/400 24 Sep 2002 17:36:04 To : Valentin Nechayev Subject : Re: rpm - Re: freeamp 2.1.1-1 -------------------------------------------------------------------------------- **** Valentin Nechayev wrote: > Это то, что мне пришлось недавно делать не менее трех раз (штатный apt > позорно свалился, правда, по другой причине). Понятно, что правильная > транзакция без нарушения целостности была бы: одновременно поставить > qt2-2.0.5 и удалить qt-2.0.3. Hо rpm такого не умеет. > deb, кажется, тоже (могу ошибаться). умеет - надо только правильно Conflicts: прописать в qt3 типа << qt2-2.0.5 - тогда он сначала проапгрейдит до 2.0.5 - а потом только поставит qt3 > А между такими шагами возникают опасные моменты - например, удаление файлов, > одинаковых в обоих пакетах, которые иначе бы просто не трогались. Это лечится когда пакетный менеджер знает как найти оба пакета (во всяком случае apt) > Аналогичная поза - хочется задавать пакеты по маске (например, > perl*.rpm), с тем, чтобы для них выполнился freshen (то есть ставить > только если одноименный есть), а для запрошенных из них - install. > Опять в одной команде не совмещается, а делать install отдельным > действием может вызвать свою цепочку извратов... apt-get умеет ставить по маске - и соответственно поставит самые свежии версии из тех репозиториев об которых у него есть информация > VW> Hеправильно > VW> 1. Отсутствие интерактивности. > VW> Зачастую гораздо проще задать пользователю три-четыре критичных > VW> вопроса и получить работоспособную конфигурацию, чем ставить дефолтный > VW> конфиг, и надеяться что пользователь его ручкоми поправит. > А это уже вопрос содержания такого скрипта. Он ведь может быть и > произвольно интерактивным, да хоть полноэкранным или запускать > что-то иксовое. Кстати, я видел такие варианты (не помню уже у > какого пакета, но было). Кстати интересный шаг предпринят в дебиане - интересно что получится (я про debconf) когда все взаимодействие с пользователем должно идти через debconf (ккоторому может быть несколько фронтэндов) и пользователь при желании может или отвечать на вопросы или принимать умолчания предлагаемые пакетов (или подставлять то, на что отвечал раньше) > VW> 2. Отсутствие специального вида зависимостей "те пакеты,от которых > VW> зависит выполнение конфигурационных скриптов" Виктор немного не прав - есть например essential: - пакет должен быть - все пакеты от которых зависит исполнение стартовых скриптов должны быть такими 8-) > И вообще слишком жесткие зависимости по дефолту. > VW> Потому что хрен тебя знает, > VW> что у тебя за файл такой в системе. Если разработчик пакета явно сказал > VW> "годится любой bourne-compatible shell", тогда да. А если он этого не > VW> говорил, то надо проверять зависимость именно от того шелла, который он > VW> использовал при отладке скриптов, причем версии не ниже той, которая у > VW> него стояла. > Вот только этого еще не хватало. > Мало ли какой шелл он использовал в этот момент - может, ему > интерактивность важна - так что, всем завязываться на новейший zsh? Угу - именно поэтому все завязки на bash/zsh в стартовых скриптах или скриптах для настройки пакета обычно идут лесом и считаются ошибкой 8-) (ну или если это необходимо то Pre-depends: bash | zsh) > VW> А система зависимостей и правда - тупейшая. Вот в Debian > VW> кроме Depends есть Pre-Depends, Build-Depends, Suggests и Recommends. > VW> Причем зависимость всегда пишется от пакета, а не от файла. А то к > VW> какому пакету принадлежал определенный нужный файл, определяется на > VW> машине разработчика в момент сборки пакета. А если тебе годятся разные > VW> альтернативы, то будь добр пропиши соответствующий виртуальный пакет, > VW> или просто напиши Depends: this || that > Вот и будет виртуальный пакет (или свойство пакета) по имени /bin/sh ;)) нет - ибо полиси на самом деле запрещает (неприветствует) bash-изм в стартовых скриптах и настроечных скриптах пакета (я стараюсь заполнять багрепорты например если вижу такое - а с каким-нть ash это видится быстро 8-))) > Это теория. А при реальных апгрейдах часто никакой apt не справляется. В Дебиане справляется достаточно хорошо - но в частности из-за того, что "левых" пакетов на порядок меньше чем у RH (а родные более-менее причесаны к моменту релиза и есть полиси) 8-) -- "The Amiga is the only personal computer where you can run a multitasking operating system and get realtime performance, out of the box." -- Peter da Silva --- ifmail v.2.15dev5 * Origin: EMS JSC (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/30909b5ede11b.html, оценка из 5, голосов 10
|