From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040913 Firefox/0.10 Description of problem: Performing an 'rpm -e package' succeeds and removes the RPM database entry for that package, even if a filesystem that the package files are on is mounted r/o. I was cleaning up my installation of Fedora Core, and had previously set up /usr to be mounted r/o. I did an 'rpm -e Omni-foomatic' to remove the foomatic package. rpm ran without any complaints, and an 'rpm -q Omni-foomatic' tells me that it was uninstalled. However, the Omni-foomatic files still remain on disk (as /usr was mounted r/o at the time of 'rpm -e'). I believe that this can be misleading; if the files cannot be removed, the operation should fail instead. Version-Release number of selected component (if applicable): 4.3.2-10 How reproducible: Always Steps to Reproduce: 1. Mount /usr as r/o (mount -o remount,ro /usr) 2. Do an 'rpm -e somepackage' 3. Check that the package was removed from the rpm DB by doing 'rpm -q somepackage' 4. Check that the package files are still there. Actual Results: The package files were not removed. Expected Results: RPM should complain if a filesystem is mounted r/o or cannot remove certain package files. Additional info:
This is the "best effort" erasure behavior implemented in rpm, i.e. ignoring file and directory erasures. Find the original package to get a list of files that were not erased: rpm -qlp somepackage*.rpm > /tmp/manifest Examine the list of files. Mount /usr RW, and do rm -f `cat /tmp/manifest` to remove the files that were not removed.