staging.inyokaproject.org

apt-p2p – Paketlasten verteilen

software.png

Wer Last von den Ubuntu-Paketservern nehmen möchte, kann auf Spiegelserver ausweichen oder mit dem Programm „apt-p2p“ gleich selbst zum Spiegelserverbetreiber werden.

Das kleine aber feine Programm apt-p2p hilft, die offiziellen Paketserver zu entlasten. Dazu werden die Pakete weder von den Servern noch von offiziellen Spiegelservern heruntergeladen, sondern von anderen Ubuntu-Benutzern, welche die Pakete auf ihrem Rechner haben. Im Gegensatz zu debtorrent 🇬🇧 setzt es dabei jedoch nicht auf die BitTorrent-Technologie, sondern verwendet DHT zur Verteilung der Dateien.

Mit der Installation des Paketes und anschließender Konfiguration, hat man sich auf seinem Rechner einen kleinen Paketserver eingerichtet, der jedes Paket, das man herunterlädt, wieder selbst anbietet. Das hat den Vorteil, dass besonders beliebte Pakete über eine große Bandbreite verfügen, ohne die offiziellen Server zu belasten. Sollte ein Paket bei keinem anderen oder bei zu wenigen anderen Benutzern gefunden werden, so lädt apt-p2p es automatisch von den normalen Servern herunter. Je mehr Benutzer apt-p2p verwenden, desto schneller und zuverlässiger läuft es, da mehrere Quellen zur Auswahl stehen.

Die Installation wird im Wiki beschrieben und ist eher für erfahrene Benutzer empfohlen. Auch wenn es durchaus problemlos im Alltag läuft, ist apt-p2p leider noch nicht perfekt in APT integriert, so dass APT auf Grund (aus seiner Sicht) zu langer Wartezeiten den Download abbricht, obwohl es prinzipiell läuft. In diesen Fällen hilft es, die Aktualisierung einfach nochmal zu starten.

Wie bereits geschrieben, läuft das System umso besser, je mehr Leute es verwenden. Darum der Aufruf an experimentierfreudige Benutzer, apt-p2p eine Chance zu geben, die Server zu entlasten und den Ubuntu-Gedanken ein Stück weit mehr zu leben. Dies könnte vor allem bei dem bevorstehenden „Run“ auf die Server wegen Lucid Lynx helfen.


Ein großes Dankeschön an Surst für diesen Artikel.

Veröffentlicht von Ritze | 19. April 2010 12:30 | Kategorie: Software | # Fehler im Artikel melden

burli

Avatar von burli
1 19. April 2010 12:45

Wie steht es denn da mit der Sicherheit? Besteht nicht die Gefahr, dass Pakete manipuliert werden können?

ArtemisX

Avatar von ArtemisX
2 19. April 2010 12:50

@1 Ich denke nicht, schließlich sind die Pakete alle signiert, was von apt überprüft wird (davon gehe ich mal aus). Von daher dürfte es da keine Probleme geben.

estriker

3 19. April 2010 12:55

Hallo! Die Idee von apt-p2p finde ich schon seit längerem sehr gut und habe mich gefragt warum man das nicht so macht.

Was ich mich frage ist, wie sich die ganze Geschichte im Netzwerk verhält. Also wenn ich z.B. 3 Ubuntus im Netzwerk habe merkt apt-p2p, dass die Pakete über Netzwerk schneller verfügbar wären?

UbuntuFlo

Avatar von UbuntuFlo
4 19. April 2010 12:58

@3: Ich glaube, Du meinst apt-cacher, oder?

Liebe Grüße,

FLO

estriker

5 19. April 2010 13:04

@4: Ja mit apt-cacher ist das möglich. Aber ich wollte wissen wie sich apt-p2p verhalten würde. Also ob bemerkt wird das sich ein Peer im lokalen Netzwerk befindet der die Pakete extrem schnell zur Verfügung stellt.

fruchttasche

6 19. April 2010 14:09

Sehr interessanter Ansatz. Ich frage mich aber auch, ob dadurch nicht vielleicht auch manipulierte Pakete in Umlauf geraten könnten. Aber wenn eine Signatur vorhanden ist, sollte das ja eigentlich kein Problem sein...

burli

Avatar von burli
7 19. April 2010 14:40

so lange die Signatur auf einem kontrollierten Rechner liegt und kein Weg gefunden wird, die Signaturabfrage zu umgehen oder auszutricksen, sollte es sicher sein. Betonung liegt auf "sollte".

Wenn man es schafft, die Abfrage der Signatur z.B. auf einen anderen Server zu leiten oder irgendwie anders eine korrekte Signatur vorgaukeln kann, ist das System verwundbar

burli

Avatar von burli
8 19. April 2010 14:40

@5: Würde mich auch interessieren. Hab mal apt-proxy ausprobiert, hat aber nicht wirklich funktioniert

burli

Avatar von burli
9 19. April 2010 14:44

Irgendwas stimmt da nicht. Im Artikel heißt es

Im Gegensatz zu debtorrent 🇬🇧 setzt es dabei jedoch nicht auf die BitTorrent-Technologie, sondern verwendet DHT zur Verteilung der Dateien.

Im Wiki heißt es aber

Anstelle die bei der Installation oder Aktualisierung von Programmen benötigten Dateien von einem Server zu beziehen, werden sie über das Bittorent-Protokoll von anderen Benutzern heruntergeladen und danach von einem selbst weiter verteilt.

BuZZ-dEE

Avatar von BuZZ-dEE
11 19. April 2010 15:11

@9: jo, das is mir auch schon aufgefallen und hab auch gerade nochmal im forum nachgefragt.

Developer92

Avatar von Developer92
12 19. April 2010 15:46

Wäre es nicht möglich, eine neue Version von einem Paket zu erstellen, welches (ich sag das einfach mal so) zum Beispiel einen Virus o. ä. enthält. Damit könnte man doch das System ganz leicht umgehen? Sicherheitstechnisch gesehen? Oder gibt es dafür Kontollmechanismen?

Wenn das nicht ohne weiteres möglich sein sollte, dann bin ich ab Lucid Lynx auf jeden Fall dabei beim Pakete verteilen. Ansonsten....

mfg Floh

losingYou

Avatar von losingYou
13 19. April 2010 15:47

Die Idee dahinter find ich super, ist mir aber viel zu riskant, eben aus den oben genannten Gründen...

lg, losingYou

Letalis_Sonus

14 19. April 2010 16:06

@12: Dafür sind ja die Signaturen da. Für die offiziellen Quellen haben die Ubuntu Systeme ja bereits alle Schlüssel vorinstalliert, und zusätzlich gibt es noch den Checksum Test: Wenn die Prüfsumme des Pakets nicht mit der aus der Paketliste zusammenpasst weil es zB verändert wurde, wird das Paket ignoriert und man bekommt eine Fehlermeldung.

unbekannt1984

15 19. April 2010 16:09

@12: Wurde schon oben bemerkt, die Pakete sind mit GPG (GNU Privacy Guard) signiert, um vor Manipulation geschützt zu werden. Wenn ein Paket von jmd. Anderem als den offiziellen Ubuntu-Entwicklernsigniert wird, nutzt der natürlich einen anderen Schlüssel. Solange wie sich dieser Schlüssel nicht in dein APT eingetragen hat wird eine Meldung nach dem Motto: "Ungültige/Unbekannte Signatur" erscheinen.

@8: Bei mir hat APT-PROXY auch nicht funktioniert, probier mal apt-cacher/apt-cacher-ng (Wiki-Artikel von mir erstellt)!

@9,@10,@11: DHT ist so wie ich es verstanden habe der "Tracker" (Clientseitig), also das Programm was feststellt welche Dateien verfügbar sind, debtorrent benutzt wohl einen richtigen Tracker auf einem Server. Wenn dieser Tracker auf einem offiziellem Server läuft (so wie open-suse/Novell) sollte keine Gefahr bestehen.

Wenn DHT nur wenige Nutzer kennt, die Alle ein manipuliertes Paket besitzen kann das Prinzip von CRC-Checksummen nicht greifen, also wird es nicht als defekt/manipuliert erkannt.

Saddy

16 19. April 2010 16:14

Klingt sinnvoll. Schade, dass es hinter einem Proxy nicht funktioniert.

Ubuntuxer

17 19. April 2010 16:21

Ab welcher Upload-Kapazität macht es Sinn das Programm zu installieren und sich am Verteilen zu beteiligen?

ska.ndal

18 19. April 2010 16:31

kann ich das nur nutzen, wenn ich auch die pakete verteilen will? ich hab nicht genug plattenplatz um auch zu verteilen, würde aber zumindest zum loaden das nutzen..

esnervt

19 19. April 2010 16:51

manipulation von apt-p2p ist genauso möglich/unmöglich wie des normalen apt-get systems mit normalen servern

bt90

20 19. April 2010 16:55

Wieso ist es nicht Standard?

Zuerst prüft es,ob die Kommunikation mit dem P2P-Netz funktioniert und dann startet es den Update Vorgang und stellt dabei auch Bandbreite in Form von Datenupload bereit.Sollte die Kommunikation nicht funktionieren(falsche Router Konfiguration etc),dann greif es auf das normale atp zurück.

Man könnte dann noch ein zusätzliches Menü einbauen,in dem man wählen kann,ob man nicht seeden will (in dem Fall natürlich Standard) oder wenn ja,dann wie viel.

kletterbuxe

21 19. April 2010 17:42

@12: wer sollte sich "deine" neue Version des manipulierten Paketes laden wollen? Wenn ich bei mir "apt-get install foo" aufrufe, dann schaut doch apt-get nicht im ganzen internet rum ob es eine neuere Version von foo gibt, sondern in den Paketlisten. Wenn du mit deiner neueren Paketversion also einen Virus einschleusen willst musst du auch noch die Paketlisten manipulieren... Ich sag nicht, dass das unmöglich ist, aber das hätte dann nix mit apt-p2p zu tun.

Kuron

22 19. April 2010 17:45

genial =)

LoserKidJones

23 19. April 2010 20:28

ich find es ist ein egute Sache und werde mich beteiligen.. gibt es eine Möglichkeit apt-p2p auf mehreren Rechnern im lokalen Netzwerk zu betreiben? Hab hier nen karmic Server, hardy Notebook und nen Ludic Desktop.. bei meinem ersten kleinen Versuch funktionierte es nicht sobald man einen anderen Port wählt (wurde auch in der sources.list geändert!)

Quatschkopp

24 19. April 2010 21:26

Die Idee ist toll und die Installation scheint einfacher geworden sein bzw. die Wiki-Anleitung ist besser geworden.

Laut Wiki soll man die security -sachen nicht damit runterladen. Die Warnung ist doch quatsch, wenn die Sache doch sicher sein soll???

Surst

Lokalisierungsteam

25 19. April 2010 22:30

@24: Soweit ich weiß ändert Synaptic den Link für die Security-Server auch nicht, wenn man einen Spiegelserver auswählt – korrigiert mich falls doch. Deshalb hatte ich den entsprechenden Hinweis eingefügt.

barcc

Avatar von barcc
26 19. April 2010 23:41

@25: Das liegt daran, dass die Sicherheitsupdates möglichst aktuell sein sollen, und die Spiegelserver hinken halt immer etwa hinterher.

1984

Avatar von 1984
27 19. April 2010 23:51

Toll, toll, toll ☺

Werde ich gleich mal mitmachen.

the_d

Avatar von the_d
28 20. April 2010 01:01

Gebt nochmal ein Update raus, sobald das Programm Fehlerfrei ist. Dann bin ich sofort dabei!

-Chaosgenie-

Avatar von -Chaosgenie-
29 20. April 2010 01:02

Läd man da dann immer nur von einem Client runter? Da müsste man dann aber nen ganz schönen Upstream haben, um den Downloader nicht unnötig zu quälen. Oder ist es wie beim Torrent, dass man mehrere Quellen gleichzeitig ansaugt?

Wenn Letzteres frag ich mich schon, wie man da was manipulieren und das Paket dann beim Abnehmer überhaupt noch funktionieren soll, es sei denn, man ist der einzige Uploader. Aber in dem Fall wäre es ja noch leichter, die Installations-CD zu manipulieren, wenn die Pakete auf Echtheit verifiziert werden.

Oder etwa nicht?

Bordi

Avatar von Bordi
30 20. April 2010 05:48

Ich frage mich wiso apt-p2p nicht ein teil der Standard Installation ist.

Priester

31 20. April 2010 10:29

@30: Möglicherweise weil es noch nicht richtig läuft ❓

Amiki

Avatar von Amiki
32 20. April 2010 13:58

@30: ALso ich fand das ganze nicht praxistauglich, da extrem lahm. Auf den offiziellen Servern brauch ich nicht mal 10 % der Zeit für mein Update. Schade eigendlich.

JanMalte

Avatar von JanMalte
33 20. April 2010 22:59

@32: Wenn nur zwei drei Leute es einsetzten ist es natürlich langsam. Je mehr es einfach einsetzten, oft installiert man Programme bei denen es nicht darauf ankommt ob es jetzt zwei oder 10 Minuten dauert. Und bei Updates ist ja selten absolute Geschwindigkeit notwendig.

Wie bereits geschrieben, läuft das System umso besser, je mehr Leute es verwenden. Darum der Aufruf an experimentierfreudige Benutzer, apt-p2p eine Chance zu geben, die Server zu entlasten und den Ubuntu-Gedanken ein Stück weit mehr zu leben.

Katz

Avatar von Katz
34 20. April 2010 23:06

Wie kann man das ganze denn verwalten?

Gibts da ne grafische Oberfläche für oder ne manpage?

rfahrintholz

35 21. April 2010 06:27

@34: Grafische Oberfläche zur zum einstellen der Upload Geschwindigkeit, oder mit entsprechenden Zeiten in denen das Programm laufen soll wäre nicht schlecht. Ansonsten finde ich den Ansatz echt super und ist auch schon bei mir am laufen.

Dustin86

36 21. April 2010 10:53

Ich habe in meinen Netzwerk (Heimnetz und Freifunk) einen transparenten Squid vorgeschaltet der alle anfragen von mir bekannte Ubuntuquellen an apt-cacher-ng weiterleitet. Gibt es eine Möglichkeit da apt-p2p einzubauen ohne an den Rechnern selber was zu ändern?

StefanNagy

Avatar von StefanNagy
37 24. November 2010 15:30

Ich habe gestern auf Ubuntu Brainstorm eine Idee zur Förderung der Nutzung von apt-p2p gepostet. Würde mich freuen wenn Ihr das Anliegen unterstützt!