inn i %post
Jakub Bogusz
qboosh w pld-linux.org
Czw, 4 Gru 2003, 22:54:54 CET
W %post inna jest regenerowane history.pag. Ale to się nie udaje:
[root news]# makedbz -s `wc -l <history` -f history
makedbz: cannot chdir to /var/lib/news: Permission denied
Chodzi o to, że:
# ls -ld /var/lib/news
drwxrwx--- 3 root news 1024 2003-12-04 21:25 /var/lib/news
[...]
getuid32() = 0
setuid32(9) = 0
getuid32() = 9
chdir("/var/lib/news") = -1 EACCES (Permission denied)
write(2, "makedbz: ", 9makedbz: ) = 9
write(2, "cannot chdir to /var/lib/news", 29cannot chdir to /var/lib/news) = 29
write(2, ": Permission denied", 19: Permission denied) = 19
write(2, "\n", 1
) = 1
exit_group(1) = ?
makedbz zmienia uid na news bez initgroups() - a jako news:root nie ma
uprawnień do /var/lib/news.
Widzę takie rozwiązania:
- news:news na /var/lib/news (ale tak miało nie być)
- coś takiego:
su - news -s /bin/sh -c 'cd /var/lib/news ; makedbz -s `wc -l <history` -f history'
wydaje się działać.
Nawet późniejsze chown już nie jest potrzebne.
Natomiast nie rozumiem, po co jest:
for i in dir hash index pag; do
[ -f history.n.$i ] && mv history.n.$i history.$i
done
Przy -f history pliki są tworzone jako history.*, a nie history.n.*
(ta druga wersja jest używana przy wywołaniu bez -f).
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl