我有一个chroot环境,运行以下命令时文件夹冲突。
/usr/bin/yum --verbose --assumeyes --installroot /home/prateek/project/.ova_work_dir/mnt/dst_root --config=/home/prateek/project/.ova_work_dir/mnt/dst_root/etc/yum.repos.d/project-upgrade.repo --obsoletes groupupdate '*' project
下面是错误
Running transaction test
Transaction check error:
file /usr from install of messagebus_c-1.0.0-0.x86_64 conflicts with file from package filesystem-3.2-20.el7.x86_64
我有以下两个问题要问:
1)为什么在yum运行事务测试时出现文件夹冲突,因为我看到了文件冲突但没有文件夹冲突。
2)如何解决此文件夹冲突。
messagebus_c
RPM规格文件需要被编辑为不是“拥有” /usr
,而是其中的所有文件,例如 /usr/*
。
您可以尝试这个吗?
/usr/bin/yum --verbose --assumeyes --installroot=/home/prateek/project/.ova_work_dir/mnt/dst_root --config=/home/prateek/project/.ova_work_dir/mnt/dst_root/etc/yum.repos.d/project-upgrade.repo --obsoletes groupupdate '*' project
问题是
缺少等于符号--installroot /home
预期为--installroot=/home
messagebus_c
规格文件包含以下内容时可能会发生:
%install
touch %{buildroot}/usr
%files
/usr
即这里/usr
是一个文件。而filesystem
将其提供为目录。不能同时拥有。目录不能是文件。反之亦然。