Distrobox for Tumbleweed cannot open the man page for zypper?

I’m on Fedora and launced a distrobox with Tumbleweed. zypper is installed, with a man page, but the man command can’t find it. A mandb update doesn’t seem to make any difference.

$ rpm -qd zypper
/usr/share/doc/packages/zypper/HACKING
/usr/share/man/man8/zypp-refresh.8.gz
/usr/share/man/man8/zypper.8.gz
$ man 8 zypper
No manual entry for zypper in section 8
$ man -k zypper
zypper: nothing appropriate.
$ mandb update
mandb: warning: $MANPATH set, ignoring /etc/manpath.config
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
$ echo $MANPATH
/usr/local/man:/usr/share/man

Could this be a bug?

And where this Tumbleweed comes from? Did you install it using normal installer, did you use some existing image - which one?

Nothing special, the default Tumbleweed: registry.opensuse.org/opensuse/toolbox:latest

Do these files actually exist? rpm -q prints package metadata, not what has been installed. Container images are usually built without documentation files. Try rpm -qds.

1 Like

That was it indeed. The man pages were not installed, but it is for other packages like Python, so that caused some confusion. Also for a toolbox container it makes sense to have man pages since it will be used interactively. sudo zypper in -f zypper solved it.

Was Python (whatever it is, there is no such package. Yes, every character matters) present in the image or you installed it manually?

Distrobox installs quite a lot of stuff when starting the container, such as zypper install -y bash bc curl diffutils findutils less libvulkan1 libvulkan_intel libvulkan_radeon lsof Mesa-dri pam pam-extra pinentry procps shadow sudo systemd time util-linux util-linux-systemd wget. That’s what I see when I tail the Podman logs. That’s not excluding any documentation files. Also when using additional_packages it doesn’t exclude man pages. So the user experience is a bit mehhh when your millage may vary.

Edit: When using image=registry.opensuse.org/opensuse/distrobox then nothing is installed and everything is without man pages. So now it’s all the same. Strange that the docs still refer to toolbox. Anyway, now it somewhat makes sense again. Best would be to have docs/man pages, since it’s used for interactive stuff.

The manpages aren’t included in the Tumbleweed distrobox image. It’s a design choice. We don’t include them in the MicroOS, Aeon, or Kalpa installation images either.

What is exactly the design choice? I don’t think people will use the distrobox/toolbox image for production images, since their goal is to use them for persistent and interactive user environments in a container. Or is there maybe a command I can run to install the docs again? Because reinstalling packages just to get their man page can become tedious.

The distrobox image from Fedora does include the man page for e.g. DNF and RPM. I think that makes sense for the SUSE images as well.

They aren’t necessary and just make the containers bigger than they need to be.

If you’re running a container host, the chances of you not having a network connection are extremely close to nil, as if you can’t access the container registries, having a container host is pretty pointless.

If you need “local” manpages, there is a container for that.

podman run -it --rm --name docserv -p 8080:80 opensuse/microos-docserv

And then point your web browser at http://localhost:8080

Or you can choose to install the manpages in your distrobox container, that’s not a choice we’re going to make for the end users.

Which is to reinstall zypper in this case? I get why production images should be as slim as possible. But these toolbox/distrobox images are an interactive user environment because you’re not suppose to touch your regular system.

Starting up a web server for man pages is kinda mehhh. Then I might as well search on the public online man pages which several distros already host. Local man pages are nice because they allow quick search matches and copy/paste commands/configs. People really need and expect these man pages. But if it’s something SUSE made a conscious choice about (you work at SUSE?), then that’s the way it is. Not really a fan of that choice :nerd_face:

SUSE != openSUSE

SUSE does not decide what happens in openSUSE outside of legal compliance.

I am not, nor have I ever been a SUSE employee. SUSE has zero input into this decision.

It’s a decision made by the community volunteers, including myself, that are putting in the work to make Aeon and Kalpa be a thing.

You can blame me and the other developers if you think blame needs to be assigned, but leave SUSE out of this.

But is there a quick solution for those who use the distrobox as an interactive user environment? As is the use case by the way :slight_smile: Or simply reinstall all the apps when you miss a manual? Or is there some kind of zypper flag you can enable to pull in all those missing man pages and docs?

zypper in man-pages

As far as installing the -doc subpackages for your installed software, you would likely need a shell script of some sort.

Thanks for your reply, but that doesn’t solve it. Seems like reinstalling the packages of commands is then the only way. In that case it’s probably more user friendly to use the registry.fedoraproject.org/fedora-toolbox:latest container. Then there is no need to spend time on getting man pages back.