Warum zwingt die Aktualisierung den Benutzer, vollständige Cache-Pakete herunterzuladen?

7

Die meiste Zeit, wenn ich mein System aktualisiere, lädt Update Manager ganze Pakete von der Liste herunter. Auch wenn sich das Paket nur in wenigen Zeilen ändert. Ich meine, für ein 4-MB-Paket, bei dem beispielsweise nur 2-KB-Zeilen geändert wurden, lädt Update Manager die gesamten 4 MB herunter. Bei meiner Verbindung ist dies schrecklich, da es sehr lange dauert (Denken Sie daran, dass ich die meiste Zeit zwischen 10 KB und 50 KB herunterlade). Da es mehrere große Pakete gibt, könnten wir zwischen 2-KB-Änderungen sprechen, die in 100-MB-Paketen getrennt sind, die ich von Grund auf herunterladen müsste, obwohl ich sie beispielsweise bereits vor 24 Stunden heruntergeladen hatte.

Warum muss ein Cache-Manager das gesamte Paket erneut herunterladen, wenn sich nur ein kleiner Teil geändert hat? Was noch wichtiger ist: Gibt es eine Möglichkeit, das Quellpaket zu überprüfen, um festzustellen, was sich geändert hat, und nur den geänderten Teil sicher herunterzuladen?

Ich will hinzufügen , dass dies apt-get, aptitudeund synapticauch. Alle funktionieren auf die gleiche Weise und wenn sich eine 50er Zeile des Pakets ändert, muss ich das Ganze herunterladen. Gibt es eine effizientere Möglichkeit zum Aktualisieren, eine Konfiguration, einen Parameter?

Luis Alvarado
quelle
Meine Vermutung wäre, dass die Integritätsprüfung pro Paket / Bundle und nicht pro Artikel durchgeführt wird. Immerhin ist dies ein Paketverwaltungssystem . Gute Frage. Es wäre gut, die Gründe für diese Entscheidung zu finden, aber ich nehme an, Ubuntu erbt diesen (wahrgenommenen) Fehler lediglich von Debian, sodass er möglicherweise besser an einem Debian-spezifischen Ort abgefragt werden kann.
0xC0000022L

Antworten:

6

Ich fürchte, dies ist keine Funktion eines Debian-basierten Systems. STATUS_ACCESS_DENIED ist hinsichtlich der Integritätsprüfung korrekt. GPG-Schlüssel werden für Repositorys gespeichert. Release-Dateien werden in Repositorys gespeichert und signiert. Diese Release-Dateien enthalten Prüfsummen für die verschiedenen Paketdateien, die Paketlisten enthalten. Jede Paketbeschreibung enthält Prüfsummen für jede Komponente als Ganzes.

Debian hat daran gearbeitet, die für die apt-getVerwendung von Paketdifferenzen erforderliche Bandbreite zu reduzieren , aber sie scheinen nicht die Bandbreite zu reduzieren apt-get upgrade, die nur für eine apt-get update(nicht die Pakete selbst, nur die Paketdateien) erforderlich ist . Mir wurde gesagt, dass Ubuntu dies nicht unterstützt. Eine Beschreibung finden Sie unter http://www.debian-administration.org/articles/439

Vielleicht interessieren Sie sich für Exherbo oder Funtoo. Siehe /unix/36357/git-based-package-manager-installer-for-linux . Git war nicht da, als das Debian-Projekt erstellt wurde. Es signiert einzelne Objekte und führt eine Kette von Prüfsummen, um die Integrität sicherzustellen.

John S. Gruber
quelle