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?