【问题标题】:Conflicts with file from package filesystem-3.2与包 filesystem-3.2 中的文件冲突
【发布时间】:2014-11-27 13:44:29
【问题描述】:

在反复尝试并尝试用谷歌搜索这个问题后,我被困住了,正在向我的堆垛伙伴寻求帮助。

按照tcadmin中的wiki,我必须运行以下命令

wget http://www.tcadmin.com/installer/mono-2.11.4-i386.rpm
yum -y install mono-2.11.4-i386.rpm --nogpgcheck
/opt/mono-2.11.4/bin/mozroots --import --sync --quiet
/opt/mono-2.11.4/bin/mono --aot -O=all /opt/mono-2.11.4/lib/mono/2.0/mscorlib.dll
for i in /opt/mono-2.11.4/lib/mono/gac/*/*/*.dll; do /opt/mono-2.11.4/bin/mono --aot -O=all $i; done

当我到达 yum 部分时,它失败并输出此错误。

file / from install of mono-2.11.4-bi.x86_64 conflicts with file from package filesystem-3.2-18.el7.x86_64

大多数网站和地方都建议使用覆盖或强制命令,但这听起来很愚蠢,并且可能会给我自己和系统带来问题。

我已就此问题向提供 wiki 的公司举报,但尚未收到回复。

另一个建议是提取 rpm 并逐个移动文件,但这非常耗时..

票证的回复如下;

强制安装是安全的,因为所有文件都放在 /opt/mono-2.11.4 中,但是 centos 7 上的 mono 存在一个错误,导致 tcadmin 无法正常工作。

【问题讨论】:

    标签: linux mono centos


    【解决方案1】:

    对于遇到此线程的其他人,我很高兴地报告,虽然我在安装单声道时没有遇到此错误(那是一个完全不同的过程),但我在尝试安装 TCAdmin 本身时确实遇到了它,但我在使用rpmrebuild修改规范后,能够在CentOS 7上完成TCAdmin的安装。

    只需安装 rpmrbebuild,运行 rpmrebuild -pe {packagename}.rpm,向下滚动到 %files 部分并删除任何有问题的目录(在我的例子中是 '/' 和 '/home' 目录)的行,保存并退出,按 y ,并记下结果位置。就我而言,它是/root/rpmbuild/RPMS/noarch/{packagename}.rpm

    遍历该目录并运行yum -y install ./{packagename.rpm,它将顺利安装。

    这同样适用于返回与文件系统错误冲突的任何其他包。只需相应调整上述示例中的包名称即可。

    *感谢可敬的 Ahmad Samir 在this 线程中的帖子为我指明了正确的方向。

    【讨论】:

      【解决方案2】:

      我在 CentOS 7 上安装 Fluentd 代理时遇到了同样的问题:

      (venv)[user@machine01 tmp]$ sudo rpm -ivh td-agent-2.1.1-0.x86_64.rpm 
      warning: td-agent-2.1.1-0.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID a12e206f: NOKEY
      Preparing...                          ################################# [100%]
          file /opt from install of td-agent-2.1.1-0.x86_64 conflicts with file from package filesystem-3.2-18.el7.x86_64
      

      我不会说降级整个操作系统就是解决方案。也许一个优雅的解决方法是重建 .rpm 文件,以避免那些产生冲突的文件系统。您可以通过使用 rpmrebuild 命令修改规范文件来做到这一点。

      但是,如果您信任您将要安装的软件,或者您想尝试无论如何都可以正常工作,那么更简单(且更快)的解决方法是强制安装 rpm。这就是我所做的......

      (venv)[user@machine01 tmp]$ sudo rpm -ivh --force td-agent-2.1.1-0.x86_64.rpm 
      warning: td-agent-2.1.1-0.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID a12e206f: NOKEY
      Preparing...                          ################################# [100%]
      Updating / installing...
         1:td-agent-2.1.1-0                 ################################# [100%]
      adding 'td-agent' group...
      adding 'td-agent' user...
      Installing default conffile...
      prelink detected. Installing /etc/prelink.conf.d/td-agent-ruby.conf ...
      Configure td-agent to start, when booting up the OS...
      

      ...它对我有用

      (venv)[user@machine01 tmp]$ sudo systemctl start td-agent.service
      (venv)[user@machine01 tmp]$ sudo systemctl status td-agent.service
      td-agent.service - LSB: td-agent's init script
         Loaded: loaded (/etc/rc.d/init.d/td-agent)
         Active: active (running) since vie 2014-12-12 09:34:09 CET; 4s ago
        Process: 17178 ExecStart=/etc/rc.d/init.d/td-agent start (code=exited, status=0/SUCCESS)
      ...
      

      希望对你有帮助

      【讨论】:

      • 令人惊讶的是,由于我对 git 和基本命令行之外的 linux 系统还很陌生,所以我根据您的建议来解决这个问题,我可能会遇到任何主要的缺点吗?
      【解决方案3】:

      这是 centos 7 的固有问题。

      回到 centos 6 修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多