Missing files on FS, after zypper install package

Hello,

I used an virtual image which is using, by default, btrfs on root FS.

I have tried to install some packages, including reinstalling sed (as the manual was missing) and exim and when I try to install them with zypper, it installs the binaries but some files are missing afterwards like /usr/share/doc/packages/exim and it’s content.

If I download the RPM package individually and try to install it with rpm -i, all the files are present on the filesystem. I also tried to disable the automatically snapshoting in zypper (removing snapper-zypp-plugin, believing that it has something to do with it), but the behavior is the same.

Also, tried to clear the zypper cache, no changes. It’s for the first time I encounter this issue and I ran out of ideas.

Welcome to the openSUSE Forums,
But be aware to receive best advise you first need to provide detailed information about what you are doing.

You’re going to have to be clear on what you are doing and perhaps your objectives.

  • When you say you are working on a downloaded image, you need to describe which image, and likely where it came from. Most new installations build an image based on what the hardware that’s discovered. There are pre-built images for virtualization (eg from software.opensuse.org), there are images you can modify for Kiwi (usually installed from an RPM package), Docker images from dockerhub, LXC images, etc and so on. Guessing what image you’re using is not possible.

  • You will likely have to describe how you are modifying your image. Are you running the image, logging into the system and installing, or are you trying to modify an offline image?

If you tried installing something but was unsuccessful, you need to describe in detail the exact commands or actions and the result of each action.

As always use the

 tags created by the hash button (#) in the Forum Post editor to highlight console input and output.

TSU

Hello,

I am using openSUSE-Leap-15.2-JeOS.x86_64-kvm-and-xen.qcow2, downloaded from http://download.opensuse.org/distribution/leap/15.2/appliances/ and run it in KVM. I have used SUSE/openSUSE since 2005 and openSUSE leap from the beginning. But I never encountered this issue. I usually use ext4 root FS and install it from ISO. However, for this project I chose to use an already built qcow2 image. I have no experience with btrfs/snapshots, but I doubt it has something to do with it.

What’s strange is that the same package installed with rpm -i, manually, put all the files in place. When I install with zypper install package, it misses some files from the filesystem.

I’m pretty proficient with Suse, but I didn’t encounter this until now and I don’t know where to start to look at (except strace which I presumably won’t give me enough useful information). I assumed that it has something to do with the transnational server, feature I never used. But removed the snapshoting from zypper, more that this I couldn’t find Googling nor I don’t know where to start from.

What type of logs would you need?


www:~# wget http://download.opensuse.org/distribution/leap/15.2/repo/oss/x86_64/exim-4.88-lp152.7.2.x86_64.rpm
--2020-09-02 14:21:12--  http://download.opensuse.org/distribution/leap/15.2/repo/oss/x86_64/exim-4.88-lp152.7.2.x86_64.rpm
Resolving download.opensuse.org (download.opensuse.org)... 195.135.221.134, 2001:67c:2178:8::13
Connecting to download.opensuse.org (download.opensuse.org)|195.135.221.134|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://opensuse.schlundtech.de/distribution/leap/15.2/repo/oss/x86_64/exim-4.88-lp152.7.2.x86_64.rpm [following]
--2020-09-02 14:21:12--  http://opensuse.schlundtech.de/distribution/leap/15.2/repo/oss/x86_64/exim-4.88-lp152.7.2.x86_64.rpm
Resolving opensuse.schlundtech.de (opensuse.schlundtech.de)... 91.237.88.60, 2001:67c:299c:3999:91:237:88:60
Connecting to opensuse.schlundtech.de (opensuse.schlundtech.de)|91.237.88.60|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1369860 (1.3M) [application/x-redhat-package-manager]
Saving to: ‘exim-4.88-lp152.7.2.x86_64.rpm’

exim-4.88-lp152.7.2.x86_64.rpm                       100%======================================================================================================================>]   1.31M  --.-KB/s    in 0.08s   

2020-09-02 14:21:12 (16.1 MB/s) - ‘exim-4.88-lp152.7.2.x86_64.rpm’ saved [1369860/1369860]

www:~# ls -l
total 1.4M
drwxr-xr-x 1 root root    0 Mar  7 03:04 bin/
-rw-r--r-- 1 root root 1.4M May 16 20:22 exim-4.88-lp152.7.2.x86_64.rpm
www:~# ls -l /usr/share/doc/packages/exim
ls: cannot access '/usr/share/doc/packages/exim': No such file or directory
www:~# zypper remove exim
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  exim

1 package to remove.
After the operation, 2.7 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): 
(1/1) Removing exim-4.88-lp152.7.2.x86_64 ....................................................................................................................................................................[done]
 
www:~# zypper install exim
Retrieving repository 'Main Update Repository' metadata ......................................................................................................................................................[done]
Building repository 'Main Update Repository' cache ...........................................................................................................................................................[done]
Retrieving repository 'Update Repository (Non-Oss)' metadata .................................................................................................................................................[done]
Building repository 'Update Repository (Non-Oss)' cache ......................................................................................................................................................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  exim

1 new package to install.
Overall download size: 1.3 MiB. Already cached: 0 B. After the operation, additional 2.7 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): 
Retrieving package exim-4.88-lp152.7.2.x86_64                                                                                                                                  (1/1),   1.3 MiB (  2.7 MiB unpacked)
Retrieving: exim-4.88-lp152.7.2.x86_64.rpm ...................................................................................................................................................................[done]

Checking for file conflicts: .................................................................................................................................................................................[done]
(1/1) Installing: exim-4.88-lp152.7.2.x86_64 .................................................................................................................................................................[done]
Additional rpm output:
Updating /etc/sysconfig/exim ...


www:~# ls -l /usr/share/doc/packages/exim
ls: cannot access '/usr/share/doc/packages/exim': No such file or directory
www:~# zypper remove exim
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  exim

1 package to remove.
After the operation, 2.7 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): 
(1/1) Removing exim-4.88-lp152.7.2.x86_64 ....................................................................................................................................................................[done]
 
www:~# rpm -i ./exim-4.88-lp152.7.2.x86_64.rpm 
Updating /etc/sysconfig/exim ...
www:~# ls -l /usr/share/doc/packages/exim
total 264K
-rw-r--r-- 1 root root  28K Dec 18  2016 ACKNOWLEDGMENTS
-rw-r--r-- 1 root root  387 Dec 18  2016 CHANGES
-rw-r--r-- 1 root root  18K Dec 18  2016 LICENCE
-rw-r--r-- 1 root root 7.0K Dec 18  2016 NOTICE
-rw-r--r-- 1 root root  16K Dec 18  2016 README
-rw-r--r-- 1 root root  36K Dec 18  2016 README.UPDATING
-rw-r--r-- 1 root root  38K May 16 20:21 configure.default
-rwxr-xr-x 1 root root  39K May 16 20:21 convert4r3*
-rwxr-xr-x 1 root root  72K May 16 20:21 convert4r4*
drwxr-xr-x 1 root root  466 Sep  2 14:21 doc/
drwxr-xr-x 1 root root  238 Sep  2 14:21 util/

www:~# zypper remove exim
Reading installed packages...
Resolving package dependencies...

The following package is going to be REMOVED:
  exim

1 package to remove.
After the operation, 2.7 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): 
(1/1) Removing exim-4.88-lp152.7.2.x86_64 ....................................................................................................................................................................[done]
 
www:~# zypper install exim
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  exim

1 new package to install.
Overall download size: 1.3 MiB. Already cached: 0 B. After the operation, additional 2.7 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): 
Retrieving package exim-4.88-lp152.7.2.x86_64                                                                                                                                  (1/1),   1.3 MiB (  2.7 MiB unpacked)
Retrieving: exim-4.88-lp152.7.2.x86_64.rpm ...................................................................................................................................................................[done]

Checking for file conflicts: .................................................................................................................................................................................[done]
(1/1) Installing: exim-4.88-lp152.7.2.x86_64 .................................................................................................................................................................[done]
Additional rpm output:
Updating /etc/sysconfig/exim ...


www:~# ls -l /usr/share/doc/packages/exim
ls: cannot access '/usr/share/doc/packages/exim': No such file or directory
www:~# rpm -q -l exim
/etc/exim
/etc/logrotate.d/exim
/usr/bin/mailq
/usr/bin/newaliases
/usr/bin/rsmtp
/usr/bin/runq
/usr/lib/sendmail
/usr/lib/systemd/system/exim.service
/usr/sbin/exicyclog
/usr/sbin/exigrep
/usr/sbin/exim
/usr/sbin/exim_checkaccess
/usr/sbin/exim_dbmbuild
/usr/sbin/exim_dumpdb
/usr/sbin/exim_fixdb
/usr/sbin/exim_lock
/usr/sbin/exim_tidydb
/usr/sbin/eximstats
/usr/sbin/exinext
/usr/sbin/exipick
/usr/sbin/exiqgrep
/usr/sbin/exiqsumm
/usr/sbin/exiwhat
/usr/sbin/rcexim
/usr/sbin/sendmail
/usr/share/apparmor
/usr/share/apparmor/extra-profiles
/usr/share/apparmor/extra-profiles/usr.sbin.exim
/usr/share/doc/packages/exim
/usr/share/doc/packages/exim/ACKNOWLEDGMENTS
/usr/share/doc/packages/exim/CHANGES
/usr/share/doc/packages/exim/LICENCE
/usr/share/doc/packages/exim/NOTICE
/usr/share/doc/packages/exim/README
/usr/share/doc/packages/exim/README.UPDATING
/usr/share/doc/packages/exim/configure.default
/usr/share/doc/packages/exim/convert4r3
/usr/share/doc/packages/exim/convert4r4
/usr/share/doc/packages/exim/doc
/usr/share/doc/packages/exim/doc/ChangeLog
/usr/share/doc/packages/exim/doc/DANE-draft-notes
/usr/share/doc/packages/exim/doc/Exim3.upgrade
/usr/share/doc/packages/exim/doc/Exim4.upgrade
/usr/share/doc/packages/exim/doc/GnuTLS-FAQ.txt.gz
/usr/share/doc/packages/exim/doc/NewStuff
/usr/share/doc/packages/exim/doc/OptionLists.txt.gz
/usr/share/doc/packages/exim/doc/README
/usr/share/doc/packages/exim/doc/README.SIEVE
/usr/share/doc/packages/exim/doc/cve-2016-9663
/usr/share/doc/packages/exim/doc/cve-2019-10149
/usr/share/doc/packages/exim/doc/cve-2019-13917
/usr/share/doc/packages/exim/doc/cve-2019-15846
/usr/share/doc/packages/exim/doc/dbm.discuss.txt.gz
/usr/share/doc/packages/exim/doc/experimental-spec.txt.gz
/usr/share/doc/packages/exim/doc/filter.txt.gz
/usr/share/doc/packages/exim/doc/spec.txt.gz
/usr/share/doc/packages/exim/util
/usr/share/doc/packages/exim/util/.gitignore
/usr/share/doc/packages/exim/util/README
/usr/share/doc/packages/exim/util/cramtest.pl
/usr/share/doc/packages/exim/util/gen_pkcs3.c
/usr/share/doc/packages/exim/util/logargs.sh
/usr/share/doc/packages/exim/util/mkcdb.pl
/usr/share/doc/packages/exim/util/ocsp_fetch.pl
/usr/share/doc/packages/exim/util/proxy_protocol_client.pl
/usr/share/doc/packages/exim/util/ratelimit.pl
/usr/share/doc/packages/exim/util/unknownuser.sh
/usr/share/fillup-templates/sysconfig.exim
/usr/share/man/man8/exim.8.gz
/usr/share/man/man8/exim_dumpdb.8.gz
/usr/share/man/man8/exim_fixdb.8.gz
/usr/share/man/man8/exim_tidydb.8.gz
/usr/share/man/man8/eximstats.8.gz
/usr/share/man/man8/mailq.8.gz
/usr/share/man/man8/newaliases.8.gz
/usr/share/man/man8/rsmtp.8.gz
/usr/share/man/man8/runq.8.gz
/usr/share/man/man8/sendmail.8.gz
/var/log/exim

www:~# ls -l /usr/share/man/man8/exim.8.gz
ls: cannot access '/usr/share/man/man8/exim.8.gz': No such file or directory


Just installed exim using zypper on a test 15.2 machine, the documentation files are all there.

Hard to say why zypper isn’t installing everything and why that location would be a problem.
In this case, there also shouldn’t be any diffference using zypper or rpm to install.

You might try to try using the “force re-install” option, it shouldn’t matter if you already have a faulty exim installl on your system or not…

zypper in -f exim

Also, am not sure in your first post why you downloaded the exim package using wget first.
If you do that, conceivably you can install the package you downloaded, but then you appeared to run the install commands that download and install from the repository… There should not be a difference in this case.

TSU

I didn’t. I downloaded exim for creating the logs for this post, in order to show the differences. It doesn’t matter whether is present on the FS or not.

I’m pretty confused about this issue. I never experienced it before and I though maybe someone, in community, did.

I opened Bug #1176183, to address this issue.

Is it excluded?

grep -B8 rpm.install.excludedocs /etc/zypp/zypp.conf
##
## Options for package installation: excludedocs
##
## Don't install any files which are marked as documentation.
##
## Valid values:  boolean
## Default value: no
##
# rpm.install.excludedocs = no

Yes, that’s right. The problem is that some packages, including exim, is copying the default configuration file from /usr/share/doc/packages/*, during post install and, in case of exim, is not happening.