Tomasz Trojanowski ([EMAIL PROTECTED]) wrote: > Dzisiaj na IRCu został ponownie poruszony problem zakładania (i usuwania) > użytkowników w %pre (i %postun). Już kiedys przerabialiśmy próby > rozwiązania tego problemu za pomocą pakietów users-* albo triggerami. > > Wydaje mi się że istnieje jeszce jedno rozwiązanie. Możemy w filesystemie > (wstępnie w /var/lib/users) trzymać licznik referencji. I tak na > przykładzie gdm. > > Dotychczas przy zainstalowanym gdm'ie, instalacja xdm'a powoduje usunięcie > użytkownika xdm, ponieważ skrypt %postun gdm'a jest wykonywany na samym > końcu. > > W przypadku zastosowania licznika referencji. > > %pre: > - jeżeli użytkownik xdm nigdy dotychczas nie istniał w systemie (zatem > nie ma pliku /var/lib/users/xdm: tworzony jest ten plik, zakładany jest > użytkownik xdm i w razie powodzenia do /var/lib/users/xdm wpisywana jest > wartość 1, > - jeżeli użytkownik xdm istnieje już w systemie wartość z pliku xdm jest > zwiększana o 1 > > %postun > - wartość z pliku xdm jest zmniejszana o 1 i jeżeli jest równa 0, > użytkownik jest usuwany > > Komentarze?
Nie podoba mi się bo: - w kazdym pakiecie musi być zakładanie/usuwanie użytkownika + obsługa liczników - potencjalne niebezpieczeństwo popsucia sobie pliku z licznikiem - trzeba by zrobić jakieś locki itp - nie wiemy który pakiet z zainstalowanych w tym momecie potrzebuje danego użytkownika Ja zdecydowanie widziałbym userów w osobnym pakiecie + tylko Requires w pakietach które je potrzebują. Z usuwaniem niepotrzebnych userów też nie ma problemu, bo wystraczy: $ rpm -qa | grep user- | xargs rpm -e i te których nic nie wymaga się odinstalują. -- Arkadiusz Patyk [areq(at)pld-linux.org] [http://rescuecd.pld-linux.org] [IRC:areq ICQ:16231667 GG:1383] [AP3-6BONE] [AP14126-RIPE] _______________________________________________________ złota zasada - kto się nie zna, niech się nie wypowiada
