Re: Problem in rc.sysinit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mick wrote:
Hello.

I work for a Web Hosting company that uses RedHat EL 4 on its (Dell) servers (and VentOS 4.4 on a small number of them) and all of these servers are connected to a Dell KVM over IP device. One of the servers was rebooted today in order to install a new kernel and I was watching the reboot process via the KVM. The first problem that arose was when the system was attempting to unmount the /home partition (it being ext3 in an LVM2 partition).

The system tried to unmount /home 3 times in succession before giving up and proceeding with the rest of the shutdown sequence. Now, seeing as all of our hosted sites reside on the /home partition, I figured that perhaps a service like Apache, sendmail, MySQL, ipop3 or imapd would maybe have has one or more files left open on the /home partition somewhere. However, none of those services returned an error when being shutdown.

Any ideas about this one?


The second problem that arose was when the system was booting. What I saw on the console was a sequence of 5 errors which, from memory looked something like this:

rm: cannot remove `/var/run/run/dbus': Is a directory
rm: cannot remove `/var/run/run/mysqld_app_init': Is a directory
rm: cannot remove `/var/run/run/ppp': Is a directory
rm: cannot remove `/var/run/run/proftpd': Is a directory

and I can't recall what the 5th one was (maybe spamassassin) - nor was it logged in either /var/log/{dmesg,messages}. Note the /var/run/run/. Also, there are another 10 folders under /var/run but no error messages are generated for those. I have also seen this same error when rebooting one of our servers that runs CentOS 4.4, and while the same Web Hosting control panel software runs on it, it has no separate /home partition.

grepping around, I found that the likely candidate for the cause of this messages was in the default case in this code snippet in /etc/rc.d/rc.sysinit:

# Clean up /var.  I'd use find, but /usr may not be mounted.
for afile in /var/lock/* /var/run/* ; do
       if [ -d "$afile" ]; then
          case "$afile" in
               */news|*/mon)   ;;
               */sudo)         rm -f $afile/*/* ;;
               */vmware)       rm -rf $afile/*/* ;;
               */samba)        rm -rf $afile/*/* ;;
               *)              rm -f $afile/* ;;
          esac
       else
          rm -f $afile
       fi
done
rm -f /var/lib/rpm/__db* &> /dev/null


Has anyone seen this behaviour before and if so, what is the fix?

Thanks.

Actually, I should just change the default case from:

*) rm -f $afile/* ;;

to

*) rm -rf $afile/* ;;

Yeah?

--
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list

[Index of Archives]     [CentOS]     [Kernel Development]     [PAM]     [Fedora Users]     [Red Hat Development]     [Big List of Linux Books]     [Linux Admin]     [Gimp]     [Asterisk PBX]     [Yosemite News]     [Red Hat Crash Utility]


  Powered by Linux