ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Ivan Zakharyaschev <vanyaz@mccme.ru>
To: <sisyphus@linuxteam.iplabs.ru>
Subject: Re: [sisyphus] Доигрался...
Date: Tue, 9 Jan 2001 17:36:38 +0300 (MSK)
Message-ID: <Pine.LNX.4.31L.0101091658210.1113-100000@zephyrous.ru> (raw)
In-Reply-To: <19639.010109@abr.x9.ru>

	Hello, Andrey!

On Tue, 9 Jan 2001, Andrey Brindeew 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. закрыть на это глаза

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-файл пакета.

4. Запихать все такие триггеры в один пакет, например initscripts или
специально для этого созданный. Тогда spec-файлы отдельных пакетов можно
оставить такими, какими они есть.

Дополнение к 3: в соответсвии с packaging HOWTO, учитывая то, что этот
кусок spec-файла (trigger-script) будет использован многократно, нужно
создать макрос для него, например %{chkconfigSince:scriptname version}.
Если до этого дойдет дело, то тогда можно попробовать создать и макрос
более широкого назначения для пакетов, предоставляющих стартовые скрипты:
%{initscript:name chkconfigSince}.

-- 
С наилучшими пожеланиями,
	Ivan Z.





  reply	other threads:[~2001-01-09 14:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-09 12:21 Andrey Brindeew
2001-01-09 14:36 ` Ivan Zakharyaschev [this message]
2001-01-09 15:44   ` [sisyphus] " Dmitry V. Levin
2001-01-09 18:28 ` banzaj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.31L.0101091658210.1113-100000@zephyrous.ru \
    --to=vanyaz@mccme.ru \
    --cc=sisyphus@linuxteam.iplabs.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git