snape90
Goto Top

Mit apt DEB-Liste der updatefähigen Pakete erstellen

Hallo,

da bei mir zu Hause ein Raspberry Pi 24/7 läuft und diverse Downloads durchführt die ich ihm über verschiedene Wege zukommen lasse, wäre es auch nice man könnte die Ubuntu-Updates Nachts machen lassen (der Ausgabe ist für Ende 2024 geplant; Dorf halt). Was ich mir vorstelle: Ich mache unter Ubuntu ein "apt update" und lasse mir mit irgendwas so ähnlich wie "apt list --upgradeable" eine Liste anzeigen die für alle Update-Pakete die URL sowie eine URL-Liste für alle Abhängigkeiten der Pakete erstellen (also eine Liste mit http://pfad/zum/paket.deb). Die werfe ich auf den Pi und der kann Nachts alle DEBs laden. Die gehen wieder auf den Cache-Ordner von Ubuntu (den ich gerade vergessen habe, da wo halt auch apt seine Sachen lädt) und wenn ich dann unter Ubuntu "apt dist-upgrade" ausführen lasse liegen die aktuellen Pakete lokal da und werden installiert.

Gibt es so etwas? Vermutlich könnte man ein Script schreiben welches eine URL-Liste erstellt. Hat aber apt so etwas schon?

Die ganze Installation wäre nicht an apt "vorbei", weil man ja nur den Download vorverlegt und es wären die "richtigen" Pakete, da ja Ubuntu vorher selbst die Liste "seiner" Updates erstellt hat. Mein Notebook bräuchte eine eigene Liste, da dort noch 20.04 läuft.

P.S.
Mir ist apt-cacher-ng bekannt, der macht etwas anderes.

Content-Key: 7550521267

Url: https://administrator.de/contentid/7550521267

Printed on: May 8, 2024 at 03:05 o'clock

Member: cykes
cykes Jun 17, 2023 at 06:57:49 (UTC)
Goto Top
Moin,

die Schwierigkeit liegt darin, dass Du mehrere unterschiedliche Systeme (RasPi/ARM und x86) damit verwalten willst, die natürlich auch unterschiedliche Paketquellen haben.

Für alle eingesetzten Versionen müsste ein separater Cache auf dem Pi vorgehalten werden.
Das nötige Script dafür wäre sicher kein Zweizeiler. face-wink

Das ganze geht schon in Richtung Patch-Management.
Vielleicht kann man das mit "apt-dater" abbilden, das kann natürlich deutlich mehr, als von Dir gefordert. Nur den Download rauszuziehen wird ohne Eigenentwicklung m.E. nicht klappen oder es gibt totales Durcheinander.
Der Downloader muss ja auch die Konfiguration der "anderen Systeme kennen.
Vgl. bspw. https://wiki.ubuntuusers.de/Archiv/apt-dater/

Gruß

cykes
Member: Snape90
Snape90 Jun 17, 2023 at 07:30:53 (UTC)
Goto Top
Genau was dort beschrieben wird will ich ja NICHT.

Es geht darum Pakete auf einem Rechner (dem pi) zentral für viele herunterzuladen, sondern lediglich den DL für einen auf den pi auszulagern. Natürlich funktionieren die Pakete für ubuntu 22.04 nicht auf dem notebook mit 20.04. auch kann es sein, dass ubuntu ein paar wenige Sachen nachladen muss.

Soweit ich weiss lädt ubuntu ein Paket nicht erneut, wenn es die aktuelle DEB schon unter /var/cache/apt/archives gibt. Wenn hier eine Abhängigkeit fehlt oder diese nicht aktuell ist wird DIESE EINE geladen.

Man könnte zumindest den Löwenanteil der downloads für genau ein system ziehen. Während des tatsächlichen updates würde ubuntu evtl. fehlende Sachen nachladen.
Member: cykes
cykes Jun 17, 2023 at 08:16:00 (UTC)
Goto Top
Zitat von @Snape90:

Genau was dort beschrieben wird will ich ja NICHT.
Das habe ich schon verstanden. Dann bleibt Dir nur die Eigenentwicklung - das ist eben nicht mal so eben runtergeschrieben. Deswegen hatte ich ja auch auf die Unterschiedlichen Architekturen (ARM, x86 usw.) hingewiesen, die natülich getrennte Download Caches benötigen. Das kannst Du nicht alles in ein Verzeichnis klatschen. Trotzdem muss auf dem Pi noch was zur Verwaltung vorgeschaltet sein. Nativ ist der Pi nur für sich zuständig. Und Du willst ja nicht das komplette Repository für alle Versionen und Architekturen spiegeln. Die Sache ist glaub komplexer, als Du Dir das gerade vorstellst face-wink
Summa summarum: nicht mal schnell in der Mittagspause geschrieben...