Description of problem: rpm segfaults when asked to install mysql-server-3.23.52-3.i386.rpm if the mysql user is present in the NIS passwd file but not in the local passwd file. The mysql-server package I tried to install is the one on the Red Hat 8.0 installation media (also tried rebuilding from the SRPM, but attempting to install that gave the same result). Version-Release number of selected component (if applicable): rpm-4.1-1.06 How reproducible: Always, until I fixed the problem manually by temporarily excluding the user from the NIS passwd file; since then it can't be reproduced because the user has been successfully registered in the local passwd file. Steps to Reproduce: 1. Install a Red Hat 8.0 machine as a NIS client, but don't install mysql. The passwd file obtained from NIS contains the following entry: mysql:*:65003:65003:Pseudo-account for mysql package:/nodir:/bin/false The nsswitch.conf file says "passwd: compat" and the local passwd file ends with "+:*:::::/bin/false". There is no mysql user in the local passwd file. 2. Install the package mysql-3.23.52 and anything else necessary for mysql-server-3.23.52. 3. Type: rpm -ivh mysql-server-3.23.52-3.i386.rpm Actual results: Preparing... ########################################### [100%] Segmentation fault Expected results: Package should be installed.
Are you using LDAP passwords by any chance? If so you need to run nscd. In fact, are you running nscd?
Afraid I don't know what "LDAP passwords" is. There is no LDAP server on the network. Passwords of local users are stored in /etc/shadow; those of NIS users are inline in the NIS passwd file. The "mysql" user in the NIS domain has no password (password field is "*"). nscd is installed but not referenced in any runlevel. imc
Sanity check: What happens if you start nscd ("service nscd start")?
Apologies for the delay, but it wasn't possible to test on the original machine as it was required to be kept up and running. > What happens if you start nscd ("service nscd start")? # service nscd start Starting nscd: [ OK ] # rpm -ivh mysql-server-3.23.54a-4.i386.rpm warning: mysql-server-3.23.54a-4.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] warning: group mysql does not exist - using root warning: group mysql does not exist - using root warning: group mysql does not exist - using root 1:mysql-server ########################################### [100%] So this did avoid the segfault and install the package. Thinks... could it be the missing group that is the problem? Answer: nope - still segfaults if nscd is not running even when the group exists. Installation is successful without warnings if nscd is running.
If problem depends on whether nscd is running, then this is almost certainly the LDAP lookup problem which affects statically linked binaries like /bin/rpm. BTW, doing rpm --import /usr/share/doc/rpm-4*/RPM-GPG-KEY will make the NOKEY warning go away.