我试图了解yum和rpm的工作原理。如果我跑:
rpm -ql gstreamer.i686
然后我得到一个应该从该软件包安装的文件列表:
/usr/bin/gst-feedback-0.10
/usr/bin/gst-inspect-0.10
/usr/bin/gst-launch-0.10
/usr/bin/gst-typefind-0.10
...
这些文件在第一次安装时确实存在,但是,我删除了/ usr / bin / dir中的一些文件,如下所示:
rm -rf /usr/bin/gst-feedback-0.10
...
现在,如果我跑步并不重要:
yum remove gstreamer.i686
yum install gstreamer.i686
OR
yum reinstall gstreamer.i686
该目录中唯一被替换的文件是列表中的第一个" /usr/bin/gst-feedback-0.10"。其余的都没有回来。我试过了:
yum clean all
yum update
但结果相同。由于连接限制,我正在使用从安装磁盘创建的本地存储库。我不认为本地回购是问题,因为它第一次安装正常。
请注意,yum在这些安装尝试中不会失败。另请注意,如果删除了rpm -ql
命令中其他列出的文件夹/文件,则重新安装,例如" /usr/lib/gstreamer-0.10 /..."
我在这里缺少什么?不应该"删除/安装" "重装"替换/覆盖任何现有文件?
由于
修改
rpm -V gstreamer.i686
返回
missing /usr/bin/gst-inspect-0.10
missing /usr/bin/gst-launch-0.10
missing /usr/bin/gst-typefind-0.10
missing /usr/bin/gst-xmlinspect-0.10
missing /usr/bin/gst-mxllaunch-0.10
missing /usr/libexec/gstreamer-0.10/gst-plugin-scanner
和rpm -qc gstreamer.i686
什么都不返回。
请注意,/usr/libexec/gstreamer-0.10/
是在重新安装时创建的,但" gst-plugin-scanner"没有安装。
编辑#2
安装gstreamer.x86_64会恢复文件,但是,我删除这些文件的原因是因为我使用gstreamer和32位java项目(再次由于约束)。问题是由64位安装程序安装的gst-plugin-scanner
导致与试图从java绑定加载的32位插件发生冲突。我目前的解决方案是删除这些常见文件"并重新运行32位安装程序,因为我发现安装程序没有覆盖这些常见文件。
有没有办法强制yum或rpm这样做?甚至更直观的方式在32 / 64bit版本的gstreamer之间切换?