Linux rpm installs but cannot erase. Why? [closed]
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this questionMy Perl code installed several (4) rpm files as root. the next install removes them (rpm -e
) before installing a newer version. One does not remove, with rpm -e
giving the error that it is not installed. However, later when the updated file is installed, the message is given that it is already installed.
Manual attempts to remove give the same results. My questions are how to force removal something from the rpm database, a开发者_如何转开发nd why does this contradication exist (not installed from rpm -e
and already installed from rpm -Uvh
and rpm -ivh
)?
- Once installed, use the package name, not the package filename.
- You should not need to remove a package before upgrading it. Doing so means that one or both of the packages are broken.
The reason it is not erased is likely because one of the scriptlets is failing. Do it manually and watch for errors. If it mentions a failed scriptlet, try erasing it with rpm -e --noscripts
rpm -e --force
will not forcibly remove a package, rpm -e --nodeps
will by stopping it to check for other dependencies.
It's possible your RPM database is in some way bent out of shape, you may wish to try an rpm --rebuilddb
精彩评论