Oporny useradd/groupadd w skryptach poldka/rpm dla privoxy i innych
Marek Guevara Braun
marek.guevara w atm.com.pl
Śro, 18 Sty 2006, 11:22:35 CET
Pewnie było ale co tam - od jakiegoś czasu zauważyłem, że przy
instalacji serwisu dodającego nowego uzytkownika i grupę zwykle pierwsza
instalacja zgłasza błędy typu "unknown user" lub "unknown group".
Zwykle zaraz po tym mamy coś w stylu "using root instead of user".
Myślałem że jest to związane z niekompatybilnościa narzędzi z shadow
i pwdutils, które obydwa dostarczają useradd/groupadd, ale nie, to
nie to.
Wyląda na to że po wywołaniu w skrypcie useradd, kolejna instrukcja
odwołująca się do właśnie dodanego usera zwraca błąd - być może
potrzebne były by jakieś sleepy przed useradd/groupadd/chown
w skryptach rpm?
Czy ktoś wie (TM) jak działają narzędzia useradd/groupadd
tj. czy nie działają przypadkiem jakoś asynchronicznie - zlecają
np. dodanie usera do modułu PAM-owego, i same kończą działanie ?
Jeśli jest tak to pewnie od sleepów lepsza była by kilkukrotna pętla
for sprawdzająca czy jest user/grupa + sleep.
$ rpm -qf /usr/sbin/groupadd
shadow-4.0.4.1-3
A to przykładowy zapis instalacji privoxy (za trzecim razem się udaje
bez błędów)
poldek:/all-avail> install privoxy-3.0.3-3
Processing dependencies...
There are 1 package to install:
I privoxy-3.0.3-3
Need to get 311.7KB of archives (311.7KB to download).
After unpacking 1.1MB will be used.
Retrieving ac::privoxy-3.0.3-3.i686.rpm...
.............................. 100.0% [311.7K (311.7K/s)]
Executing rpm --upgrade -vh --root / --noorder...
Preparing... ###########################################
[100%]
Adding group privoxy GID=108.
Adding user privoxy UID=108.
useradd: unknown group privoxy
error: %pre(privoxy-3.0.3-3.i686) scriptlet failed, exit status 6
error: install: %pre scriptlet failed (2), skipping privoxy-3.0.3-3
There were errors
poldek:/all-avail> install privoxy-3.0.3-3 --reinstall
Processing dependencies...
There are 1 package to install:
I privoxy-3.0.3-3
Need to get 311.7KB of archives. After unpacking 1.1MB will be used.
Executing rpm --upgrade --replacefiles --replacepkgs -vh --root /
--noorder...
Preparing... ###########################################
[100%]
Adding user privoxy UID=108.
1:privoxy ###########################################
[100%]
warning: user privoxy does not exist - using root
Run "/etc/rc.d/init.d/privoxy start" to start privoxy service.
poldek:/all-avail> install privoxy-3.0.3-3 --reinstall
Processing dependencies...
privoxy-3.0.3-3 obsoleted by privoxy-3.0.3-3
There are 1 package to install, 1 to uninstall:
I privoxy-3.0.3-3
R privoxy-3.0.3-3
Need to get 311.7KB of archives (311.7KB to download).
After unpacking 1.1MB will be used.
Retrieving ac::privoxy-3.0.3-3.i686.rpm...
.............................. 100.0% [311.7K (215.7K/s)]
Executing rpm --upgrade --replacefiles --replacepkgs -vh --root /
--noorder...
Preparing... ###########################################
[100%]
1:privoxy ###########################################
[100%]
Run "/etc/rc.d/init.d/privoxy start" to start privoxy service.
PS. W razie czego użyję Mocy albo strace :-)
Pozdrawiam,
Marek
Więcej informacji o liście dyskusyjnej pld-devel-pl