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


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     03 Jun 2002  23:48:52
 To : Kirill Smelkov
 Subject : Re: Вопрос про rpm
 -------------------------------------------------------------------------------- 
 
 
    Hi, Kirill!
 
 >>>>> "KS" == Kirill Smelkov <Kirill.Smelkov@p37.f885.n5030.z2.fidonet.org>
 >>>>> writes:
 
  KS> Есть мой rpm-пакет который при установке пишет несколько строк в файл
  KS> (неважно какой, пусть для примера /etc/services) при удалении он эти
  KS> строки стирает.
 
 [skip ужастики ;-]
  KS> такой вариант хорошо работает когда рассматривается только установка
  KS> или удаление.
 
  KS> Теперь вопрос: ??? Как корректно осуществить подобное для upgrade'ов
  KS> ???
 
  точно так-же.  вот буквально вчера тут пролетал URL на MaximumRPM, гед
  сказано, что rpm -U = "rpm -e" + "rpm -i"
  
  
  KS> Дело в том, что по логике вещей старый пакет должен удалить свою
  KS> строку перед тем как начнётся исполнение скриптов нового пакета.
 
  KS> Однако rpm делает всё наоборот - сначала отрабатывают скрипты нового,
  KS> а затем старого пакетов.
 
  угу, это сделано умышлено (где-то даже объясналось почему и зачем)
 
  но там где-то в pre/post скриптах можно узнать на какой фазе
  устновки/удаления пакета мы находимся, и соотвевенно таки что-то сделать,
  или наоборот, не делать.  Я так глубоко не копал, конкретнее не подскажу.
 
  Если в MaximumRPM этого нет - то нужно колупать сам RPM, или какие-нибудь
  пакеты, у которых такие навороты.
 
   
  KS> Результат:  новый пакет ничего не пишет в /etc/services, старый ничего
  KS> не удаляет - осталась строчка от старого пакета, а в том случае когда
  KS> содержимое строки меняется от пакета к пакету такое поведение
  KS> некорректно.
 
  строка, которая меняется должна быть записана в конфиг.  
  
  если нужно исправлять системный файл - то я бы оставил это на совесть
  администратора, или стартового скрипта.
  
  Hапрмер, я бы такую "хитрую конфигруцию" хранил в файле
  
  /etc/sysconfig/some-strange-soft
  
  который в пакете помечен как конфиг, и который будет обрабатываться в
  соотствии с логикой обработки конфига.
  
  Если сожержимое одной из переменных нужно куда-то прописывать в
  "стандарные файлы", то внутри
  
  /etc/init.d/some-strange-soft
  
  в процедуре start() мы делаем все анализы и исправления.
  
  в %preun - делается /etc/init.d/some-strange-soft stop
  в %post -  /ec/init.d/some-strange-soft start
  
  
  Если нужно чтоб пакет ставился без русного вмешательства - ровняйте
  софтину.  Менять "файлы во время устновки" это вообще чревато.
 
  KS> По видимому проблема состоит в том, что _всегда_ вначале отрабатывают
  KS> скрипты устанавливаемого пакета.
 
  проблема в том, что считать правильнвм, а что нет.  Пример /etc/services
  несколько не наглядный.  Это просто список, и удалять оттуда смысла как-бы 
  нет.
 
  вот если взять пример /etc/inetd.conf и /etc/xinetd.d/  то налицо
  приемущесва второго подхода.
  
 -- 
    Bor.
 
  PS а еще есть тригера, которые тоже как-от там срабатывают хитрО :))))
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Вопрос про rpm   Kirill Smelkov   02 Jun 2002 22:30:54 
 Re: Вопрос про rpm   Vladimir Bormotov   03 Jun 2002 23:48:52 
 Re: Вопрос про rpm   Eugene B. Berdnikov   04 Jun 2002 01:04:31 
Архивное /ru.linux/2541f6d19dc0.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional