Erstellen Sie große Pakete

1856
Ark

Ich baue sehr große (4 GB +) Pakete auf rpm 4.8.0.

Auf welche Dinge muss ich achten? Ich erhalte "Bad Magic Error", wenn mein Paket 2 GB überschreitet

0

1 Antwort auf die Frage

1
vonbrand

Gemäß dieser Diskussion wäre die Grenze 4 GB, obwohl die Größen in 64 Bits dargestellt sind. Aber RPM basiert auf cpio(5), und dieses Format ist auf 4 GB beschränkt. Die Versionshinweise für rpm-4.6.0 fordern "größere Größen als 2 GB" und "größere Dateien".

Auf jeden Fall würde ich vorschlagen, dieses Monster in handliche Stücke zu teilen. Sprich entlang Benutzer / Entwicklung / Laufzeit oder so. Wenn Sie Bibliotheken und insbesondere Bibliotheken von Drittanbietern verwenden, tun Sie dies einfach nicht . Ich erinnere mich an eine Diskussion über LWN vor einiger Zeit, aber ich kann sie jetzt nicht finden. Kurzversion: Verwenden Sie die Bibliotheken / Pakete des Systems. Sie werden sofort aktualisiert, Ihre eigene Version nicht. Verwenden Sie die Arbeit anderer, wiederholen Sie das Rad nicht.

Ich habe es geschafft, die Größe des Pakets auf 3,1 G zu reduzieren und speichere alle großen Dateien in kleinere 512 MB-Dateien [mit Split]. Sehen Sie immer noch den schlechten Zauberfehler. Das Problem ist, dass eine einzelne Objekt-Dump-Datei dazu führt, dass das Paket groß ist. .Ich benutze zum größten Teil Systembibliotheken. [und numpy]. :) Sorry, wenn ich naiv klinge, aber ich bin neu in der Verpackung. Obwohl ich denke, dass ich vielleicht ein paar Alternativen sehe, könnte ich es ausprobieren ... Danke für den Vorschlag. Und so wie ich es verstehe, erlaubt uns Cpio, das Archivformat mit -H anzugeben. Gibt es / sollte es eine Möglichkeit geben, rpmbuild das Archivierungsformat anzugeben? Ark vor 11 Jahren 0
[Mit Paketgröße meine ich die Gesamtgröße aller Dateien, die im Paket enthalten sind.] Ark vor 11 Jahren 0
Nein, `rpm` verwendet das Format 'cpio (5)`. Welche "großen Dateien" haben Sie, die Ihnen dieses riesige RPM geben? Können Sie nicht einfach eine Reihe von Paketen erstellen und ein Sammlungspaket erstellen, für das alle erforderlich sind? Oder sind sie auf andere Weise voneinander abhängig, um alles Erforderliche installiert zu bekommen? vonbrand vor 11 Jahren 0
Oh ... ich verstehe ... und mit großer Datei meinte ich einen numpy.ndarray, der als Ergebnis der Klassifizierung [stochastischer Gradient] erzeugt wird. Ich vermute, ich kann Pakete zusammenstellen. Dies ist nur der erste Lauf, natürlich werde ich später versuchen, die Größe zu reduzieren, oder wenn das nicht möglich ist, bessere Alternativen zu sehen. Vielen Dank, ich denke, das würde funktionieren. Ark vor 11 Jahren 0
Ist es sinnvoll, _generated_-Dateien zu packen? Vielleicht sagen Sie dem Benutzer, dass "Sie Beispieldateien auf so und so Website finden können"? Wenn ja, gibt es eine Struktur in der Datei, die verwendet werden kann, um sie kompakt darzustellen? Versende es komprimiert, vielleicht nach dem Sortieren oder so? vonbrand vor 11 Jahren 0
Es macht in meinem Fall Sinn, generierte Dateien zu verpacken, ich habe die Struktur serialisiert und nur wesentliche Teile gesichert, damit ich das Objekt später neu erstellen kann. Ich habe die Komprimierung sowohl extern als auch am Objekt verwendet und keine nennenswerte Änderung erhalten. Ich versuche, die Menge an Daten, die es enthält, zu begrenzen, ohne dabei die Genauigkeit zu beeinträchtigen, die gerade getestet wird. Ark vor 11 Jahren 0
[Aufgrund von Ressourceneinschränkungen kann ich es nicht als Dienst hosten :(] Ark vor 11 Jahren 0