What | Removed | Added |
---|---|---|
Status | NEW | CONFIRMED |
CC | arvidjaar@gmail.com, kukuk@suse.com, lslezak@suse.com |
(In reply to Neil Rickert from comment #2) > Boot messages indicating missing users "sddm", "polkitd" and several others. Bug is actually rather interesting. Following happens 1. Live system has most users in its /etc/passwd. 2. Scripts used by various system-user-* packages basically do getent user || useradd user 3. During installation /run from Live system is bind-mounted on target /mnt/run (where /mnt is root of system being installed). This makes nscd socket available to scripts run by rpm which are chrooted to /mnt. 4. So during installation getent contacts nscd *in Live system*, and gets positive answer. As result, user creation is skipped. Possible fixes are 1. Do not use getent, parse /etc/passwd directly 2. Stop nscd during installation in Live 3. Do not bind mount /run onto /mnt/run, just explicitly mount tpmfs on /mnt/run I personally favor 3, I do not see why rpm would need access to "parent" /run during installation. Also there are packages that use getent || useradd directly. To illustrate: linux@10:~> cat /mnt/etc/passwd root:x:0:0:root:/root:/bin/bash linux@10:~> sudo rpm --root /mnt --dbpath /var/lib/rpm -U --percent --noglob --force --nodeps -- system-user-lp-20170617-8.2.noarch.rpm %% 0.000000 %% 0.000000 useradd -r -s /sbin/nologin -c "Printing daemon" -g lp -d /var/spool/lpd lp %% 0.000000 %% 46.610172 warning: user lp does not exist - using root warning: group lp does not exist - using root %% 73.728813 %% 100.000000 linux@10:~> cat /mnt/etc/passwd root:x:0:0:root:/root:/bin/bash linux@10:~> sudo umount /mnt/run linux@10:~> sudo rpm --root /mnt --dbpath /var/lib/rpm -U --percent --noglob --force --nodeps -- system-user-lp-20170617-8.2.noarch.rpm %% 0.000000 %% 0.000000 useradd -r -s /sbin/nologin -c "Printing daemon" -U -d /var/spool/lpd lp %% 0.000000 %% 46.610172 %% 73.728813 %% 100.000000 linux@10:~> cat /mnt/etc/passwd root:x:0:0:root:/root:/bin/bash lp:x:499:499:Printing daemon:/var/spool/lpd:/sbin/nologin linux@10:~> exit Cc maintainers of yast2-installation and sysuser-tools.