3

I was trying to "vagrant up" a CentOS machine (centos7-x64-vbox43) with VirtualBox as provider and ansible as the provisioning tool. I executed the following command:

vagrant up --provision-with ansible

but I got an error, which is related to the execution of the following command yum -y install nfs-utils nfs-utils-lib in the guest machine (I guess):

[project-name] > vagrant up
/opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/pre-rubygems.rb:31: warning: Insecure world writable dir /Applications/Qt in PATH, mode 040777
/opt/vagrant/embedded/gems/gems/bundler-1.10.6/lib/bundler/shared_helpers.rb:78: warning: Insecure world writable dir /Applications/Qt in PATH, mode 040777
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 80 (guest) => 2000 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: 
    default: Guest Additions Version: 4.3.14
    default: VirtualBox Version: 5.0
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Installing NFS client...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

yum -y install nfs-utils nfs-utils-lib

Stdout from the command:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.switch.ch
 * extras: mirror.ratiokontakt.de
 * updates: mirror.ratiokontakt.de
No package nfs-utils-lib available.
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.3.0-0.21.el7_2.1 will be installed
--> Processing Dependency: libtirpc >= 0.2.3-1 for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: gssproxy >= 0.3.0-0 for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: rpcbind for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: quota for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libnfsidmap for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libdevmapper.so.1.02(DM_1_02_97)(64bit) for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: keyutils for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Processing Dependency: libevent-2.0.so.5()(64bit) for package: 1:nfs-utils-1.3.0-0.21.el7_2.1.x86_64
--> Running transaction check
---> Package device-mapper-libs.x86_64 7:1.02.84-14.el7 will be updated
--> Processing Dependency: device-mapper-libs = 7:1.02.84-14.el7 for package: 7:device-mapper-1.02.84-14.el7.x86_64
---> Package device-mapper-libs.x86_64 7:1.02.107-5.el7_2.5 will be an update
---> Package gssproxy.x86_64 0:0.4.1-7.el7 will be installed
--> Processing Dependency: krb5-libs >= 1.12.0 for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libverto-tevent for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libini_config.so.3(INI_CONFIG_1.1.0)(64bit) for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libref_array.so.1()(64bit) for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libini_config.so.3()(64bit) for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libcollection.so.2()(64bit) for package: gssproxy-0.4.1-7.el7.x86_64
--> Processing Dependency: libbasicobjects.so.0()(64bit) for package: gssproxy-0.4.1-7.el7.x86_64
---> Package keyutils.x86_64 0:1.5.8-3.el7 will be installed
---> Package libevent.x86_64 0:2.0.21-4.el7 will be installed
---> Package libnfsidmap.x86_64 0:0.25-12.el7 will be installed
---> Package libtirpc.x86_64 0:0.2.4-0.6.el7 will be installed
---> Package quota.x86_64 1:4.01-11.el7_2.1 will be installed
--> Processing Dependency: quota-nls = 1:4.01-11.el7_2.1 for package: 1:quota-4.01-11.el7_2.1.x86_64
--> Processing Dependency: tcp_wrappers for package: 1:quota-4.01-11.el7_2.1.x86_64
---> Package rpcbind.x86_64 0:0.2.0-33.el7_2.1 will be installed
--> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: rpcbind-0.2.0-33.el7_2.1.x86_64
--> Processing Dependency: libsystemd.so.0()(64bit) for package: rpcbind-0.2.0-33.el7_2.1.x86_64
--> Running transaction check
---> Package device-mapper.x86_64 7:1.02.84-14.el7 will be updated
--> Processing Dependency: device-mapper = 7:1.02.84-14.el7 for package: 7:device-mapper-event-1.02.84-14.el7.x86_64
---> Package device-mapper.x86_64 7:1.02.107-5.el7_2.5 will be an update
---> Package krb5-libs.x86_64 0:1.11.3-49.el7 will be updated
---> Package krb5-libs.x86_64 0:1.13.2-12.el7_2 will be an update
---> Package libbasicobjects.x86_64 0:0.1.1-25.el7 will be installed
---> Package libcollection.x86_64 0:0.6.2-25.el7 will be installed
---> Package libini_config.x86_64 0:1.2.0-25.el7 will be installed
--> Processing Dependency: libpath_utils.so.1(PATH_UTILS_0.2.1)(64bit) for package: libini_config-1.2.0-25.el7.x86_64
--> Processing Dependency: libpath_utils.so.1()(64bit) for package: libini_config-1.2.0-25.el7.x86_64
---> Package libref_array.x86_64 0:0.1.5-25.el7 will be installed
---> Package libverto-tevent.x86_64 0:0.2.5-4.el7 will be installed
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.9)(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.0.2)(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtevent.so.0()(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtalloc.so.2()(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
---> Package quota-nls.noarch 1:4.01-11.el7_2.1 will be installed
---> Package systemd-libs.x86_64 0:208-11.el7_0.2 will be updated
--> Processing Dependency: systemd-libs = 208-11.el7_0.2 for package: systemd-208-11.el7_0.2.x86_64
---> Package systemd-libs.x86_64 0:219-19.el7_2.11 will be an update
---> Package tcp_wrappers.x86_64 0:7.6-77.el7 will be installed
--> Running transaction check
---> Package device-mapper-event.x86_64 7:1.02.84-14.el7 will be updated
---> Package device-mapper-event.x86_64 7:1.02.107-5.el7_2.5 will be an update
--> Processing Dependency: device-mapper-event-libs = 7:1.02.107-5.el7_2.5 for package: 7:device-mapper-event-1.02.107-5.el7_2.5.x86_64
---> Package libpath_utils.x86_64 0:0.2.1-25.el7 will be installed
---> Package libtalloc.x86_64 0:2.1.5-1.el7_2 will be installed
---> Package libtevent.x86_64 0:0.9.26-1.el7_2.1 will be installed
---> Package systemd.x86_64 0:208-11.el7_0.2 will be updated
--> Processing Dependency: systemd = 208-11.el7_0.2 for package: systemd-sysv-208-11.el7_0.2.x86_64
--> Processing Dependency: systemd = 208-11.el7_0.2 for package: libgudev1-208-11.el7_0.2.x86_64
---> Package systemd.x86_64 0:219-19.el7_2.11 will be an update
--> Processing Dependency: kmod >= 18-4 for package: systemd-219-19.el7_2.11.x86_64
--> Running transaction check
---> Package device-mapper-event-libs.x86_64 7:1.02.84-14.el7 will be updated
---> Package device-mapper-event-libs.x86_64 7:1.02.107-5.el7_2.5 will be an update
---> Package kmod.x86_64 0:14-9.el7 will be updated
---> Package kmod.x86_64 0:20-5.el7 will be an update
---> Package libgudev1.x86_64 0:208-11.el7_0.2 will be updated
---> Package libgudev1.x86_64 0:219-19.el7_2.11 will be an update
---> Package systemd-sysv.x86_64 0:208-11.el7_0.2 will be updated
---> Package systemd-sysv.x86_64 0:219-19.el7_2.11 will be an update
--> Processing Conflict: systemd-219-19.el7_2.11.x86_64 conflicts initscripts < 9.49.28-1
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package initscripts.x86_64 0:9.49.17-1.el7 will be updated
---> Package initscripts.x86_64 0:9.49.30-1.el7_2.2 will be an update
--> Processing Conflict: systemd-219-19.el7_2.11.x86_64 conflicts dracut < 033-243
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package dracut.x86_64 0:033-161.el7 will be updated
--> Processing Dependency: dracut = 033-161.el7 for package: dracut-config-rescue-033-161.el7.x86_64
--> Processing Dependency: dracut = 033-161.el7 for package: dracut-network-033-161.el7.x86_64
---> Package dracut.x86_64 0:033-360.el7_2.1 will be an update
--> Running transaction check
---> Package dracut-config-rescue.x86_64 0:033-161.el7 will be updated
---> Package dracut-config-rescue.x86_64 0:033-360.el7_2.1 will be an update
---> Package dracut-network.x86_64 0:033-161.el7 will be updated
---> Package dracut-network.x86_64 0:033-360.el7_2.1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                     Arch      Version                 Repository  Size
================================================================================
Installing:
 nfs-utils                   x86_64    1:1.3.0-0.21.el7_2.1    updates    371 k
Updating:
 dracut                      x86_64    033-360.el7_2.1         updates    311 k
 initscripts                 x86_64    9.49.30-1.el7_2.2       updates    429 k
Installing for dependencies:
 gssproxy                    x86_64    0.4.1-7.el7             base        84 k
 keyutils                    x86_64    1.5.8-3.el7             base        54 k
 libbasicobjects             x86_64    0.1.1-25.el7            base        24 k
 libcollection               x86_64    0.6.2-25.el7            base        40 k
 libevent                    x86_64    2.0.21-4.el7            base       214 k
 libini_config               x86_64    1.2.0-25.el7            base        59 k
 libnfsidmap                 x86_64    0.25-12.el7             base        46 k
 libpath_utils               x86_64    0.2.1-25.el7            base        27 k
 libref_array                x86_64    0.1.5-25.el7            base        26 k
 libtalloc                   x86_64    2.1.5-1.el7_2           updates     34 k
 libtevent                   x86_64    0.9.26-1.el7_2.1        updates     33 k
 libtirpc                    x86_64    0.2.4-0.6.el7           base        85 k
 libverto-tevent             x86_64    0.2.5-4.el7             base       9.0 k
 quota                       x86_64    1:4.01-11.el7_2.1       updates    178 k
 quota-nls                   noarch    1:4.01-11.el7_2.1       updates     90 k
 rpcbind                     x86_64    0.2.0-33.el7_2.1        updates     58 k
 tcp_wrappers                x86_64    7.6-77.el7              base        78 k
Updating for dependencies:
 device-mapper               x86_64    7:1.02.107-5.el7_2.5    updates    252 k
 device-mapper-event         x86_64    7:1.02.107-5.el7_2.5    updates    167 k
 device-mapper-event-libs    x86_64    7:1.02.107-5.el7_2.5    updates    169 k
 device-mapper-libs          x86_64    7:1.02.107-5.el7_2.5    updates    305 k
 dracut-config-rescue        x86_64    033-360.el7_2.1         updates     50 k
 dracut-network              x86_64    033-360.el7_2.1         updates     90 k
 kmod                        x86_64    20-5.el7                base       114 k
 krb5-libs                   x86_64    1.13.2-12.el7_2         updates    843 k
 libgudev1                   x86_64    219-19.el7_2.11         updates     66 k
 systemd                     x86_64    219-19.el7_2.11         updates    5.1 M
 systemd-libs                x86_64    219-19.el7_2.11         updates    358 k
 systemd-sysv                x86_64    219-19.el7_2.11         updates     53 k

Transaction Summary
================================================================================
Install  1 Package  (+17 Dependent packages)
Upgrade  2 Packages (+12 Dependent packages)

Total size: 9.8 M
Downloading packages:
Running transaction check
Running transaction test


Stderr from the command:



Transaction check error:
  file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.5.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
  file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.5.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
  file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.5.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64

Error Summary
-------------

I've no idea why this is happening, since I'm not very familiar with vagrant, lets say that I've used it like twice or 3 times. My first question is then: why is this exactly happening?

Note I think I know what NFS is, i.e. it should be a file system that is mounted on the guest machine which allows the same machine and the host machine to share folders and files, right?


I was unable to solve this problem until I found the following article:

yum update or yum install fails with package conflict between 64 bit and 32 bit package architectures?

whose title seems to be, at least for me, completely unrelated to the problem above.

I realized that after the failure of the command above, the vagrant machine had been initialized actually, and that I could connect to it using vagrant ssh, which is what I did. Then, from within the guest vagrant machine (after vagrant ssh), I executed the following commands (which are the same commands that were specified in the article I've just mentioned):

sudo yum install yum-utils
sudo package-cleanup --dupes
sudo package-cleanup --cleandupes

Added this line:

exactarch=1

to the file /etc/yum.conf, and finally

yum clean all
sudo yum update

I exited from the vagrant machine by typing exit. I did vagrant halt to stop the machine. And I re-executed the initial command:

vagrant up --provision-with ansible

and the error didn't occur anymore.

My second question is then: why did executing the commands in the tutorial above and that I also mentioned explicitly above solve the problem?

When executing the command to remove duplicate packages, I noticed that the output was that, in reality, there were no duplicate packages. It seems, in my case, that the only commands that actually solve the problem were (not sure though):

yum clean all
sudo yum update

Why would this actually solve the problem?


One of my ideas is that the box is actually outdated, since updating pre-installed packages to the latest versions solved apparently the problem...

nbro
  • 15,395
  • 32
  • 113
  • 196

2 Answers2

0

Unfortunately there are a few different problems you might have fixed with the commands you entered and the original install does not give much info.

It is possible that the original image had a package with a bug in it that was preventing this install, but sudo yum update fixed the problem by installing an updated package.

It is also possible that the yum database was corrupted and it did not install a prerequisite of nfs-utils or nfs-utils-lib because it thought they were already installed, but the 'clean' fixed the yum database.

Dito on package-cleanup, which is inside of yum-utils.

exactarch=1 probably did not fix anything since you did not specify a particular architecture anywhere (assuming the original image did not either).

Sounds like you had it pretty much figured out by the end of your question. Anything else?

Daniel Wisehart
  • 1,489
  • 12
  • 31
0

There was a bug in the CentOS 7 - packages that caused this error:

When updating only device-mapper subpackages, without updating lvm2 package, we may have ended up with file conflicts if files were moved around subpackages. ... To avoid problems when updating from older versions, there's direct conflict defined explicitly in the packages now which, if hit, will give an information about the minimum required version to resolve this conflict.

So, updating lvm2 is a solution. I think that yum update solved the problem because the conflict that was added to the packages was loaded from the package repository as part of the package information. So, lvm2 was probably updated when device-mapper was installed by Vagrant and this update avoids the error.

mm759
  • 1,404
  • 1
  • 9
  • 7
  • Related question: http://stackoverflow.com/questions/36439746/failed-to-install-r-on-centos-7. It seems to me that I can't link the questions. Is it possible at all to manually add a link? – mm759 Sep 04 '16 at 09:33