Zypper - wo sind die heruntergeladenen Pakete?

Guten Tag,

ich würde gerne die heruntergeladenen Dateien (rpms oder was es sind) von zypper speichern. Damit ich sie nicht doppelt runterlade.
in der Doku sehe ich leider nicht, wo sie sind.

hier?

localhost:/var/cache/zypp # ls
geoip.d  packages  raw  solv

oder hier?

localhost:/var/cache/zypp/packages # tree
.
├── 0Haupt_Repo_OSS_Hochschule_Esslingen_Mirror
│   ├── noarch
│   └── x86_64
├── 0_Haupt_Repo_OSS_Uni_Erlangen
│   ├── noarch
│   └── x86_64
├── download.opensuse.org-oss
│   ├── noarch
│   └── x86_64
├── NVIDIA:repo-non-free
│   └── x86_64
├── openSUSE-20260428-0
│   ├── noarch
│   └── x86_64
├── openSUSE:repo-openh264
│   └── x86_64
└── openSUSE:repo-oss
    └── x86_64

19 directories, 0 files

hm… :face_with_raised_eyebrow:
Weiss jemand, wie es ist? Danke.

Das kannst du via /etc/zypp/zypp.conf steuern. Die Pakete werden nach erfolreicher Installation aus dem Cache gelöscht, sonst hättest du irgendwann Terrabyte an nutzlosen gespeicherten Installationspaketen.

Die man page von zypper ist ganz hilfreich.

Einfach mal bisserl mit zypper und den man pages spielen…

Download Cache komplett leer:

:/var/cache/zypp/packages> tree
.

0 directories, 0 files

Ein Paket downloaden ohne zu installieren:

:/var/cache/zypp/packages> sudo zypper in --download-only kmines
Dienst 'NVIDIA' wird aktualisiert.
Dienst 'openSUSE' wird aktualisiert.
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Paketabhängigkeiten werden aufgelöst...

Die folgenden 6 NEUEN Pakete werden installiert:
  kmines kmines-lang libkdegames libKDEGames6 libkdegames-imports libkdegames-lang

6 neue Pakete zu installieren.

Größe des Pakets zum Herunterladen:     1,7 MiB

Nur herunterladen.

Backend:  classic_rpmtrans --download-only
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): 
Vorladen: libkdegames-26.04.1-1.1.x86_64.rpm [fertig]
Vorladen: libkdegames-imports-26.04.1-1.1.x86_64.rpm [Fehler: „The requested URL returned error: 404“, nächster Spiegelserver wird versucht.]
Vorladen: libkdegames-lang-26.04.1-1.1.noarch.rpm [fertig]
Vorladen: libkdegames-imports-26.04.1-1.1.x86_64.rpm [fertig]
Vorladen: libKDEGames6-26.04.1-1.1.x86_64.rpm [fertig]
Vorladen: kmines-26.04.1-1.1.x86_64.rpm [fertig]
Vorladen: kmines-lang-26.04.1-1.1.noarch.rpm [fertig]
Vorladen abgeschlossen. [Erfolg (1,5 MiB/s) ] ......................................................................................................................[fertig]
Abrufen: libkdegames-26.04.1-1.1.x86_64 (repo-oss)                                                                                                      (1/6),  17,3 KiB    
Abrufen: libkdegames-lang-26.04.1-1.1.noarch (repo-oss)                                                                                                 (2/6), 122,0 KiB    
Abrufen: libKDEGames6-26.04.1-1.1.x86_64 (repo-oss)                                                                                                     (3/6), 315,1 KiB    
Abrufen: libkdegames-imports-26.04.1-1.1.x86_64 (repo-oss)                                                                                              (4/6),  37,3 KiB    
Abrufen: kmines-26.04.1-1.1.x86_64 (repo-oss)                                                                                                           (5/6), 844,9 KiB    
Abrufen: kmines-lang-26.04.1-1.1.noarch (repo-oss)   

Jetzt einfach nochmal den Downloadcache inspizieren:

:/var/cache/zypp/packages> tree
.
└── openSUSE:repo-oss
    ├── noarch
    │   ├── kmines-lang-26.04.1-1.1.noarch.rpm
    │   └── libkdegames-lang-26.04.1-1.1.noarch.rpm
    └── x86_64
        ├── kmines-26.04.1-1.1.x86_64.rpm
        ├── libkdegames-26.04.1-1.1.x86_64.rpm
        ├── libKDEGames6-26.04.1-1.1.x86_64.rpm
        └── libkdegames-imports-26.04.1-1.1.x86_64.rpm

4 directories, 6 files

Nun das Paket installieren (Pakete sind bereits im Cache):

:/var/cache/zypp/packages> sudo zypper in --no-recommends kmines
Dienst 'NVIDIA' wird aktualisiert.
Dienst 'openSUSE' wird aktualisiert.
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Paketabhängigkeiten werden aufgelöst...

Die folgenden 6 NEUEN Pakete werden installiert:
  kmines kmines-lang libkdegames libKDEGames6 libkdegames-imports libkdegames-lang

6 neue Pakete zu installieren.

Größe des Pakets zum Herunterladen:
            |       1,7 MiB  Gesamtpaketgröße
       0 B  |  -    1,7 MiB  bereits im Cache

Änderung der Installationsgröße des Pakets:
              |       3,3 MiB  erforderlich für Pakete, die installiert werden sollen
     3,3 MiB  |  -      0 B    freigegeben von Paketen, die entfernt werden sollen

Backend:  classic_rpmtrans
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): 
Im Cache libkdegames-26.04.1-1.1.x86_64.rpm                                                                                                             (1/6),  17,3 KiB    
Im Cache libkdegames-lang-26.04.1-1.1.noarch.rpm                                                                                                        (2/6), 122,0 KiB    
Im Cache libKDEGames6-26.04.1-1.1.x86_64.rpm                                                                                                            (3/6), 315,1 KiB    
Im Cache libkdegames-imports-26.04.1-1.1.x86_64.rpm                                                                                                     (4/6),  37,3 KiB    
Im Cache kmines-26.04.1-1.1.x86_64.rpm                                                                                                                  (5/6), 844,9 KiB    
Im Cache kmines-lang-26.04.1-1.1.noarch.rpm                                                                                                             (6/6), 380,7 KiB    

Überprüfung auf Dateikonflikte läuft: ..............................................................................................................................[fertig]
(1/6) Installieren: libkdegames-26.04.1-1.1.x86_64 .................................................................................................................[fertig]
(2/6) Installieren: libkdegames-lang-26.04.1-1.1.noarch ............................................................................................................[fertig]
(3/6) Installieren: libKDEGames6-26.04.1-1.1.x86_64 ................................................................................................................[fertig]
(4/6) Installieren: libkdegames-imports-26.04.1-1.1.x86_64 .........................................................................................................[fertig]
(5/6) Installieren: kmines-26.04.1-1.1.x86_64 ......................................................................................................................[fertig]
(6/6) Installieren: kmines-lang-26.04.1-1.1.noarch .................................................................................................................[fertig]
Nach-Transaktions-Skripte werden ausgeführt ........................................................................................................................[fertig]

Und nochmal den Downloadcache inspizieren:

:/var/cache/zypp/packages> tree
.
└── openSUSE:repo-oss
    ├── noarch
    └── x86_64

4 directories, 0 files

Wie du sihst, werden Pakete standarmäßig nur solange im Paketcache behalten, bis sie installiert werden. Das ist das Standardverhalten von Tumbleweed. Leap mag andere Standards haben.

Eins A. Danke.
Ich sehe im GUI Yast Software Repositories kann ich da ein Häkchen setzen.

Tja, und in der zypper.conf kann ich

# repoListColumns = Anr

auskommentieren und k für Option -k (keep packages) setzen. :ok_hand:
alles klar :slight_smile: