|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 04 May 2003 20:04:55 To : Maxim Timofeyev Subject : Re: RPM & SPEC --------------------------------------------------------------------------------
Hi, Maxim!
>>>>> "MT" == Maxim Timofeyev
>>>>> <Maxim.Timofeyev@p1.f1763.n5030.z2.fidonet.org> writes:
MT> Есть вопрос к знатокам RPM. Есть некий SPEC файл.
MT> Есть в нем есть секция ``%pre'', в которой создаю некоего
MT> пользователя, нужного для программы.
угу.
MT> Вопрос!
MT> Если в %preun удалять данного пользователя, то это некорректно
MT> работает при upgrade пакета, т.к. пользователь вначале удаляется, а
MT> потом вновь создается. Hужно чтобы при 'rpm -U' пользователь _HЕ_
MT> удалялся, а удялялся только при 'rpm -e'.
http://www.rpm.org/max-rpm/ch-rpm-upgrade.html
The rpm -U command (--upgrade is equivalent) performs two distinct operations:
1. Installs the desired package.
2. Erases all older versions of the package, if any exist.
и далее по тексту.
еще думаю полезно в
MT> Секция %postun, думаю, тоже не подходит...
не подходит.
MT> Сейчас юзаю так:
MT> ========
MT> %pre
MT> grep -q ^user: /etc/group || groupadd -r user
MT> grep -q ^user: /etc/passwd || \
MT> useradd -g user -d / -s /bin/false -r -M user
MT> rm -f /var/run/script.restart
MT> if [ $1 -ge 2 ]; then
MT> /etc/rc.d/init.d/script status && touch /var/run/script.restart || :
MT> /etc/rc.d/init.d/script stop || :
MT> fi
MT> %preun
MT> if [ $1 -eq 0 ]; then
MT> /etc/rc.d/init.d/script stop || : /sbin/chkconfig --del script
MT> userdel user
MT> fi
MT> ========
MT> P.S. За основу использовались SPEC'ки из Openwall'а.
посмотри другие спеки других пакетов, где добавляют/удаляются
пользователи. Я такими тонкостями не возился, но судя по тому, что это
как-то работает, решение есть.
я бы начал разборки с чтения вот этого
http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html#S2-RPM-INSIDE-ERASE-TIME
-SCRIPTS
MT> Один из выходов из данного положения -- задавать uid/gid при создании
MT> пользователя, но этот способ неподходит, т.к. в дистрибутиве, куда
MT> устанавливается данный пакет, уже может пользователь с такими uid/gid!
нет, uid/gid задавать никуда не годится.
--
Bor.
--- ifmail v.2.15dev5
* Origin: BorHomeLand (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2541d36c2a1c.html, оценка из 5, голосов 10
|