'zypper remove' trying to uninstall extra packages

I’m trying to manage updating a set of SLES12 hosts that don’t have access to the public internet. My tactics involve:

  • on a connected host, perform necessary updates, and retain all of the RPM packages.
  • copy all of the retained packages into directory, and use ‘createrpo’ to generate repository metadata in that directory.
  • copy that repository to a host to be updated, and add that repository for further transactions.
    In addition updates, I wish to remove unwanted packages. When I do so, ‘zypper remove’ goes out of it’s way to consider other packages for removal, it tries to remove packages that are needed by other installed packages.
    An example:
    10-153-30-68:~ # zypper --no-gpg-checks --no-remote remove -D -y -r local_update --no-clean-deps - python-pycryptodome
    Loading repository data…
    Warning: No repositories defined. Operating only with the installed resolvables. Nothing can be installed.
    Reading installed packages…
    Resolving package dependencies…
    Problem: This request will break your system!
    conflicting requests
    Solution 1: ignore the warning of a broken system (requires:glibc)
    Solution 2: keep glibc-2.22-109.2.x86_64
    Choose from above solutions by number or cancel [1/2/c] (c): c

What confuses me: if the system has other installed packages that require glibc, why is this zypper operation implying I’m ‘requesting’ it’s removal?

I’ve noted that I have a typo in that zypper command; it should be ‘–no-clean-deps – python-pycryptodome’; I’ll update when I have the chance to re-test.