Repository-Metadaten und lokale Pakete

349
admdev

Ich brauche Hilfe bei dnf . Ich muss häufig ein neues Image des Fedora- Servers auf einer VM installieren . Sobald dies geschehen ist, scheint es jedes Mal, wenn ich versuche, zum ersten Mal mit dnf nach Paketen zu suchen oder Pakete zu installieren, die Metadaten zu aktualisieren, was sehr lange dauert. Gibt es eine Möglichkeit, diese Daten abzurufen und lokal zu speichern, und nach der Neuinstallation kann ich dnf lokal aktualisieren ?

Angenommen, ich muss dasselbe Paket immer wieder auf neuen Bildern installieren. Wie kann ich das Paket lokal herunterladen und dann die Dateien in das neue Image verschieben und dnf zur Installation von einer lokalen Datei verwenden, z. B. das Herunterladen eines Windows-Offline-Installationsprogramms?

1

1 Antwort auf die Frage

1
mattdm

Dafür gibt es zwei einfache und eine kompliziertere.

Das kompliziertere wäre ein intelligentes Caching-Mirroring-System für DNF, das Paketaktualisierungen kennt. Sie könnten keepcache=truein der DNF-Konfigurationsdatei verwenden und diese Dateien dann auf irgendeine Weise erneut exportieren. Aber das ist irgendwie fummelig. Stattdessen würde ich eine der einfacheren vorschlagen:

  1. Richten Sie einen lokalen Spiegel ein. Führen Sie rsync regelmäßig aus (Anweisungen auf der Fedora-Spiegelungswebsite ) und richten Sie Ihre Hosts darauf aus. Dies ist ziemlich einfach, erfordert aber wahrscheinlich das Spiegeln vieler Dinge, die Sie nicht wirklich benötigen.
  2. Richten Sie einen Standard-Cache-Proxy-Server ein und verwenden Sie diesen. Sie können einfach einen regulären Server einrichten, oder wenn Sie klüger sein wollen, tun Sie, was im Blog-Beitrag Lazy Distro Mirrors mit Squid vorgeschlagen wird - richten Sie einen "beschleunigenden" Server ein, der auf Port 80 ausgeführt wird, und geben Sie vor, dass dies Ihr Remote-Repository ist Standort.
hallo, ich denke ich mag deine nummer 1 auf einfache weise und ich werde es versuchen. Kannst du erklären, was du damit meinst, indem du eine Menge Sachen spiegelst? Auch irgendwelche Tipps zu meiner zweiten Frage? Vielen Dank. admdev vor 7 Jahren 0
Ich meine damit, dass Sie beispielsweise 1000 Pakete verwenden können, und das Repository enthält 17000 Pakete. Daher werden Sie eine Menge Daten herunterziehen, die Sie nicht unbedingt für irgendetwas verwenden. Wenn Sie die Bandbreite und den Speicherplatz haben, ist das kein Problem. mattdm vor 7 Jahren 0
Welche zweite Frage? Die lokale Installationssache? Ich war meistens davon ausgegangen, dass ein lokaler Spiegel oder Cache einen geringeren Aufwand bedeuten würde, aber wenn Sie möchten, können Sie einfach `dnf localfilename.rpm` installieren. mattdm vor 7 Jahren 0
Toll, die lokale Installation klingt nach dem, was ich brauche. Kann ich jetzt fragen, wie das Paket überhaupt in einem Dateiformat heruntergeladen wird? Warum muss ich lange warten, wenn ich mit dnf zum ersten Mal nach einem Paket suche? Kann ich herunterladen, was gerade gemacht wird (ich gehe davon aus, dass es eine Art Metadaten-Update ist) und installiere das manuell? Vielen Dank. admdev vor 7 Jahren 0
Ich gehe davon aus, dass dies der erste Metadaten-Download ist, ja. Wenn Sie das von Ihrem lokalen Spiegel nehmen, wird es schneller sein. Um nur Pakete herunterzuladen, können Sie [`dnf download`] (http://dnf-plugins-core.readthedocs.io/de/latest/download.html) verwenden. mattdm vor 7 Jahren 0