Hosts in the home cloud may readily share packages downloaded to the package cache. Download once and reuse on all hosts.
Packages on host 3400g:
3400g:~ # du -hd1 -t1M /var/cache/zypp/packages/
40G /var/cache/zypp/packages/repo-oss
7.4M /var/cache/zypp/packages/Packman
759M /var/cache/zypp/packages/jalbum
5.8M /var/cache/zypp/packages/repo-non-oss
2.7M /var/cache/zypp/packages/repo-update
40G /var/cache/zypp/packages/
3400g:~ #
Shared repositories keep their packages:
3400g:~ # zypper repos repo-oss
Alias : repo-oss
Name : openSUSE-Tumbleweed-Oss
URI : https://cdn.opensuse.org/tumbleweed/repo/oss/
Enabled : Yes
GPG Check : (r ) Yes
Priority : 99 (default priority)
Autorefresh : On
Keep Packages : On
Type : rpm-md
GPG Key URI :
Path Prefix : /
Parent Service :
Keywords : [3]
gpg-pubkey-29b700a4-62b07e22.asc?fpr=AD485664E901B867051AB15F35A2F86E29B700A4
gpg-pubkey-39db7c82-5f68629b.asc?fpr=FEAB502539D846DB2C0961CA70AF9E8139DB7C82
pool
Repo Info Path : /etc/zypp/repos.d/repo-oss.repo
MD Cache Path : /var/cache/zypp/raw/repo-oss
3400g:~ #
Host 3400g exports package folder:
3400g:~ # cat /etc/exports
/var/cache/zypp/packages *(rw,root_squash,sync,no_subtree_check)
3400g:~ #
Host thinkbook auto mounts package folder on request:
thinkbook:~ # grep 3400g /etc/fstab
3400g:/var/cache/zypp/packages /var/cache/zypp/packages nfs4 rw,_netdev,x-systemd.automount,x-systemd.timeout=5,x-systemd.idle-timeout=10 0 0
thinkbook:~ #
thinkbook:~ # systemctl status var-cache-zypp-packages.automount
● var-cache-zypp-packages.automount
Loaded: loaded (/etc/fstab; generated)
Active: active (waiting) since Mon 2024-06-17 07:47:58 CEST; 30min ago
Triggers: ● var-cache-zypp-packages.mount
Where: /var/cache/zypp/packages
Docs: man:fstab(5)
man:systemd-fstab-generator(8)
Jun 17 07:52:27 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 28937 (bash)
Jun 17 07:53:27 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 28979 (Zypp-main)
Jun 17 07:57:45 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 28117 (bash)
Jun 17 08:00:14 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 7285 (ls)
Jun 17 08:00:30 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 7311 (du)
Jun 17 08:14:07 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 8397 (du)
Jun 17 08:14:18 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 8422 (du)
Jun 17 08:14:36 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 8445 (Zypp-main)
Jun 17 08:15:06 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 8527 (Zypp-main)
Jun 17 08:15:24 thinkbook systemd[1]: var-cache-zypp-packages.automount: Got automount request for /var/cache/zypp/packages, triggered by 8585 (Zypp-main)
thinkbook:~ #
@karlmistelberger just to clarify, this can only be used for Tumbleweed or Leap, not both. To do that you would need two systems… Why not just use an rmt server?
There is no mention at Reference | openSUSE Leap 15.6. However it readily installs:
3400g:~ # zypper --non-interactive install rmt-server
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 4 NEW packages are going to be installed:
nginx rmt-server rmt-server-config ruby3.3-rubygem-bundler
4 new packages to install.
Overall download size: 5.9 MiB. Already cached: 0 B. After the operation, additional 21.0 MiB will be used.
Backend: classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): y
Retrieving: nginx-1.27.0-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (1/4), 716.0 KiB
Retrieving: nginx-1.27.0-1.1.x86_64.rpm ..................................................................................................................................................................................[done (2.0 MiB/s)]
Retrieving: ruby3.3-rubygem-bundler-2.4.22-1.5.x86_64 (openSUSE-Tumbleweed-Oss) (2/4), 832.3 KiB
Retrieving: ruby3.3-rubygem-bundler-2.4.22-1.5.x86_64.rpm ................................................................................................................................................................[done (2.2 MiB/s)]
Retrieving: rmt-server-config-2.16-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (3/4), 17.9 KiB
Retrieving: rmt-server-config-2.16-1.1.x86_64.rpm ........................................................................................................................................................................[done (2.6 KiB/s)]
Retrieving: rmt-server-2.16-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (4/4), 4.4 MiB
Retrieving: rmt-server-2.16-1.1.x86_64.rpm ...............................................................................................................................................................................[done (3.0 MiB/s)]
Checking for file conflicts: .........................................................................................................................................................................................................[done]
/usr/bin/systemd-sysusers --replace=/usr/lib/sysusers.d/nginx.conf -
Creating group 'nginx' with GID 439.
Creating user 'nginx' (User for nginx) with UID 439 and GID 439.
(1/4) Installing: nginx-1.27.0-1.1.x86_64 ............................................................................................................................................................................................[done]
update-alternatives: using /usr/bin/bundle.ruby3.3-2.4.22 to provide /usr/bin/bundle (bundle) in auto mode
update-alternatives: using /usr/bin/bundle.ruby3.3-2.4.22 to provide /usr/bin/bundle-2.4.22 (bundle-2.4.22) in auto mode
update-alternatives: using /usr/bin/bundle.ruby3.3-2.4.22 to provide /usr/bin/bundle.ruby3.3 (bundle.ruby3.3) in auto mode
update-alternatives: using /usr/bin/bundler.ruby3.3-2.4.22 to provide /usr/bin/bundler (bundler) in auto mode
update-alternatives: using /usr/bin/bundler.ruby3.3-2.4.22 to provide /usr/bin/bundler-2.4.22 (bundler-2.4.22) in auto mode
update-alternatives: using /usr/bin/bundler.ruby3.3-2.4.22 to provide /usr/bin/bundler.ruby3.3 (bundler.ruby3.3) in auto mode
(2/4) Installing: ruby3.3-rubygem-bundler-2.4.22-1.5.x86_64 ..........................................................................................................................................................................[done]
(3/4) Installing: rmt-server-config-2.16-1.1.x86_64 ..................................................................................................................................................................................[done]
Please run the YaST RMT module (or 'yast2 rmt' from the command line) to complete the configuration of your RMT
(4/4) Installing: rmt-server-2.16-1.1.x86_64 .........................................................................................................................................................................................[done]
Running post-transaction scripts .....................................................................................................................................................................................................[done]
3400g:~ #
Yet another install needed:
3400g:~ # zypper --non-interactive install yast2-rmt
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
yast2-rmt
1 new package to install.
Overall download size: 30.9 KiB. Already cached: 0 B. After the operation, additional 77.4 KiB will be used.
Backend: classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): y
Retrieving: yast2-rmt-1.3.5-1.1.x86_64 (openSUSE-Tumbleweed-Oss) (1/1), 30.9 KiB
Retrieving: yast2-rmt-1.3.5-1.1.x86_64.rpm ...........................................................................................................................................................................................[done]
Checking for file conflicts: .........................................................................................................................................................................................................[done]
(1/1) Installing: yast2-rmt-1.3.5-1.1.x86_64 .........................................................................................................................................................................................[done]
Running post-transaction scripts .....................................................................................................................................................................................................[done]
3400g:~ # yast2 rmt
WARNING: Nokogiri was built against libxml version 2.11.6, but has dynamically loaded 2.12.8
3400g:~ #
More reading needed: SLES 15 SP4 | Repository Mirroring Tool Guide | RMT installation and configuration