From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dmitry V. Levin" To: devel@linux.iplabs.ru Message-ID: <20010109184226.C18460@LDV.fandra.org> Mail-Followup-To: devel@linux.iplabs.ru References: <19639.010109@abr.x9.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="TiqCXmo5T1hvSQQg" Content-Disposition: inline In-Reply-To: ; from vanyaz@mccme.ru on Tue, Jan 09, 2001 at 05:36:38PM +0300 Subject: [devel] Re: =?koi8-r?B?W3Npc3lwaHVzXSDkz8nH0sHM09EuLi4=?= Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: X-Original-Date: Tue, 9 Jan 2001 18:42:27 +0300 Date: Tue, 9 Jan 2001 18:42:27 +0300 Archived-At: List-Archive: List-Post: --TiqCXmo5T1hvSQQg Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Tue, Jan 09, 2001 at 05:36:38PM +0300, Ivan Zakharyaschev wrote: > > В общем, обновил initscripts и еще кучу пакетов. > > > После этого система не перегружается. Видно, что не стартует > > portmap и другие сервисы. После загрузки у меня стоял запуск > > Иксов. Теперь просто мигает экраном и ничего не происходит. > > Чтобы вновь запускались нужные сервисы при загрузке, придется заново их > включить вручную, например: > > $ chkconfig --add syslog > $ chkconfig --add portmap > > и так же с любым другим понравившимся скриптом из /etc/rc.d/init.d/. > Или то же самое наверняка можно сделать из меню: linuxconf, drakxconf... > > О возможностях более тонкого управления набором стартовых скриптов -- man > chkconfig. > > syslog и, вероятно, portmap не стартуют вот почему: > > Старые пакеты с ними (из Mdk 7.0) напрямую ставили нужные ссылки в > /etc/rc.d/rc?.d/ (файлы-ссылки входили в состав пакетов), тут можно > увидеть некоторые из них: > > $ rpm -qf `rpm -qal | grep '/etc/rc\.d/rc.\.d/.*'` | sort -u > apache_rus-common-1.3.12_PL29.4-ipl7mdk > initscripts-5.49-ipl4mdk > lpr-0.48-1mdk > netkit-base-0.11-15mdk > portmap-4.0-8mdk > > (syslog я уже обновил, он тоже после этого не запускался) > > А новые пакеты для этой цели используют систему систему управления этими > сервисами -- chkconfig. > > Обновление пакета идет по схеме: > > 1. установка нового > 2. удаление старого > > Поэтому при обновлении такого пакета на этапе 1 вызывается chkconfig > --add, что оказывается совершненно бесполезным из-за того, что на этапе 2 > установленные chkconfig'ом ссылки удаляются как принадлежащие старому > пакету и не принадлежащие новому. > > Могу предложить несколько способов борьбы с этим при создании пакетов: > > 1. закрыть на это глаза Я так и сделал ввиду того, что эта проблема не самого Сизифа, а перехода н него путем partial update. > 2. в новых пакетах указывать эти ссылки из /etc/rc.d/rc?.d/ в секции > %files с директивой %ghost или чем-нибудь в этом роде (по моему, это > плохой способ: все преимущества использования chkconfig теряются) От этого варианта я отказался. > 3. Проописать в новом пакете соответсвующий trigger на старый пакет. Вот > так это сделано в console-tools из Сизифа: > > %triggerpostun -- console-tools < 0.2.3-ipl1mdk > /sbin/chkconfig --add keytable || echo "chkconfig failed adding keytable: > add it manually if you need" > > (он-то исполнится после всего, т.е. после этапа 2) > > Недостаток в том, что загромождается spec-файл пакета. Конечно, добавить магические строки типа %triggerpostun -- %name < %version-%release /sbin/chkconfig --add %name ||: не так уж и сложно. Просто поезд уже ушел, а у меня неправильных пакетов уже давно нет в системе. Не знаю, стоит ли это делать... > 4. Запихать все такие триггеры в один пакет, например initscripts или > специально для этого созданный. Тогда spec-файлы отдельных пакетов можно > оставить такими, какими они есть. В initscripts нельзя, он устанавливается в системе много раньше других. > Дополнение к 3: в соответсвии с packaging HOWTO, учитывая то, что этот > кусок spec-файла (trigger-script) будет использован многократно, нужно > создать макрос для него, например %{chkconfigSince:scriptname version}. Тогда уж лучше так: %ChkconfigAddSince packagename packageversion scriptname > Если до этого дойдет дело, то тогда можно попробовать создать и макрос > более широкого назначения для пакетов, предоставляющих стартовые скрипты: > %{initscript:name chkconfigSince}. Не понял. Regards, Dmitry +-------------------------------------------------------------------------+ Dmitry V. Levin mailto://ldv@fandra.org Software Engineer PGP pubkey http://www.fandra.org/users/ldv/pgpkeys.html IPLabs Linux Team http://linux.iplabs.ru Fandra Project http://www.fandra.org +-------------------------------------------------------------------------+ UNIX is user friendly. It's just very selective about who its friends are. --TiqCXmo5T1hvSQQg Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE6WzFiZqIoNiVITrsRAnrhAKCpUVv0/7eTfQs+HVXKomvlEnr+OACePAqy MwXiBsOnhoS/xbK/m69Jsdk= =fQY0 -----END PGP SIGNATURE----- --TiqCXmo5T1hvSQQg-- _______________________________________________ Devel mailing list Devel@linux.iplabs.ru http://www.logic.ru/mailman/listinfo/devel