Heim  >  Artikel  >  System-Tutorial  >  Linux-Slang erklärt: Was sind Upstream und Downstream?

Linux-Slang erklärt: Was sind Upstream und Downstream?

WBOY
WBOYnach vorne
2024-02-11 11:57:20945Durchsuche

Man kann sagen, dass die Begriffe „upstream“ und „downstream“ recht abstrakt sind und von normalen Menschen selten verwendet werden. Wenn Sie nur ein normaler Benutzer von Linux sind und nicht mit dem Schreiben und Warten von Software befasst sind, haben diese Begriffe möglicherweise keine praktische Bedeutung für Sie. Allerdings sind diese Begriffe bei der Kommunikation zwischen verschiedenen Communities in der Linux-Welt sehr nützlich.

Linux 黑话解释:什么是上游和下游?

Die Begriffe „Upstream“ und „Downstream“ werden häufig in Nicht-Computer-Bereichen wie Netzwerken, Programmierung, Kernel und sogar Lieferkette verwendet. Bei der Diskussion von Upstream und Downstream sind Hintergrundinformationen wichtig.

Einfach ausgedrückt beschreiben Upstream und Downstream die Richtung des Informationsflusses.

Da wir dies alle lesen, während wir mit dem Internet verbunden sind, schauen wir uns ein Upstream-/Downstream-Beispiel an, das für einen Internet Service Provider (ISP) gilt. Dabei konzentriert sich der ISP auf den Datenverkehr. Beim Upstream-Verkehr handelt es sich um Daten, die von Benutzern verschiedener ISPs stammen. Wenn Sie beispielsweise eine Website haben, die Abonnement-Newsletter anbietet, handelt es sich bei den von mir gesendeten Abonnementinformationen um die Upstream-Daten.

Downstream-Verkehr bezieht sich auf Daten, die von einem Benutzer an einen anderen Benutzer auf einem anderen ISP gesendet werden. Er wird als Downstream-Verkehr betrachtet. Nehmen wir anhand des gleichen Abonnementbeispiels an, dass mein Abonnementantrag genehmigt wurde und ich in einer E-Mail eine „Willkommensnachricht“ und in einer anderen den neuesten Newsletter erhalte. In diesem Fall fließen die Daten nach unten, weil sie von Ihnen (naja, wahrscheinlich als automatisierte Software, die in Ihrem Namen handelt) an mich, einen Benutzer von einem anderen ISP, gesendet werden.

Zusammenfassung: Was ich brauche oder will (Ihr Newsletter), ist vorgelagert. Was Sie mir zur Verfügung stellen (die Willkommensnachricht und die eigentliche Kommunikation), ist nachgelagert.

Ob die Daten Upstream oder Downstream sind, spielt für uns Benutzer möglicherweise keine Rolle, für Serveradministratoren, die die Bandbreitennutzung überwachen, sowie für Distributoren (Hersteller von Distributionen) und Programmierer ist es jedoch von Bedeutung.

In der Linux-Welt gibt es zwei Hauptkontexte: Upstream und Downstream. Beim einen geht es um den Kernel und beim anderen um die Anwendung. Es gibt noch andere, aber ich hoffe, dass ich meine Gedanken durch diese beiden ausdrücken kann.

Upstream und Downstream im Kontext des Linux-Kernels

Linux ist der Kernel. Linux-Distributionen beginnen beim Erstellen einer Distribution mit unverändertem Kernel-Quellcode. Fügen Sie dann die erforderlichen Patches hinzu und konfigurieren Sie den Kernel. Die Konfiguration des Kernels basiert auf den Funktionen und Optionen, die die Distribution bereitstellen möchte. Nach der Entscheidung wurde der Kern entsprechend erstellt.

Der ursprüngliche Kernel stammt von den Upstream-Anbietern der Distribution. Wenn die Distribution den Quellcode erhält, fließt dieser weiter. Sobald eine Distribution den Kernel-Code erhält, verbleibt dieser beim Herausgeber, während er geändert wird. Es bleibt für unsere Benutzer im Upstream, bis es zur Veröffentlichung bereit ist.

Die von der Distribution erstellte Kernel-Version fügt Patches hinzu und aktiviert bestimmte Funktionen und Optionen. Diese Konfiguration wird vom Herausgeber bestimmt. Aus diesem Grund gibt es mehrere Linux-Varianten, zum Beispiel Debian‘ www.debian.org vs. Red Hat‘ www.redhat.com. Herausgeber entscheiden, welche Optionen ihrer Benutzerbasis zur Verfügung gestellt werden, und kompilieren den Kernel entsprechend.

Sobald diese Arbeit abgeschlossen ist, wird sie zur Veröffentlichung in einem Repository abgelegt und wir können eine Kopie erhalten. Diese Kopie fließt flussabwärts auf uns zu.

Ähnlich verhält es sich, wenn ein Herausgeber einen Fehler im Kernel findet, ihn behebt und dann den Patch an die Kernel-Entwickler sendet, damit diese den Kernel für alle Downstream-Nutzer patchen können. Dies wird als Beitrag zum Upstream bezeichnet, da der Datenverkehr hier nach oben in Richtung der ursprünglichen Quelle fließt.

Upstream und Downstream im Kontext der Anwendung

Technisch gesehen ist Linux der Kernel und alles andere ist Zusatzsoftware. Verlage integrieren in ihre Projekte auch zusätzliche Software. In diesem Fall gibt es mehrere Upstreams. Eine Distribution kann beliebig viele Anwendungen wie X, KDE, Gnome usw. enthalten.

Stellen wir uns vor, Sie verwenden den Nano-Editor www.nano-editor.org und stellen fest, dass er nicht richtig funktioniert, also senden Sie einen Fehlerbericht an die Distribution. Die Programmierer des Herausgebers werden es sich ansehen, und wenn sie feststellen, dass sie einen Fehler in Nano eingefügt haben, werden sie ihn beheben und eine neue Version in ihrem Repository veröffentlichen. Wenn sie feststellen, dass sie den Fehler nicht verursacht haben, übermittelt der Herausgeber einen Fehlerbericht an die vorgelagerten Nano-Programmierer.

Wenn es um Dinge wie Fehlerberichte, Funktionsanfragen usw. geht, ist es am besten, sie vorab an den Herausgeber zu senden, da dieser den Kernel und die Zusatzanwendungen für die von Ihnen verwendete Distribution verwaltet. Ich verwende beispielsweise auf mehreren Rechnern eine Distribution namens Q4OS – q4os.org. Wenn ich einen Fehler im Programm finde, werde ich ihn den Leuten bei Q4OS melden. Wenn Sie linuxmint.com von Mint verwenden, melden Sie dies dem Mint-Projekt.

Wenn Sie beispielsweise in einem regulären Linux-Forum eine Frage stellen und erwähnen, dass Sie Mint verwenden, erhalten Sie auf jeden Fall diese Antwort. „Dieses Problem lässt sich am besten in den Mint-Foren lösen.“ Anhand des vorherigen Nano-Bug-Beispiels ist es möglich, dass die Programmierer von Mint Nano modifiziert haben, damit es in ihrer Distribution besser läuft. Wenn sie einen Fehler machen, möchten sie es wissen und sind, nachdem sie ihn gemacht haben, diejenigen, die ihn beheben.

Sobald das Problem behoben ist, wird das aktualisierte Programm in einem Repository abgelegt, das Sie verwenden können. Wenn Sie aktualisiert werden, wird es Ihnen wie folgt zufließen:

◈ Wenn der Herausgeber einen Fix vornimmt, ist die neue Version im Release-Repository verfügbar.

◈ Wenn der Programmierer der App eine Korrektur vornimmt, wird diese an den Herausgeber gesendet, der den neuen Code testet. Sobald festgestellt wird, dass es ordnungsgemäß funktioniert, wird es in ein Lager gelagert und weitergegeben.

Automatisch flussabwärts fließen

Es gab eine Zeit, in der Benutzer Updates selbst erhalten mussten. Benutzer erhalten einen aktualisierten Quellcode und kompilieren eine neue ausführbare Datei. Im Laufe der Zeit gehörten Programme wie apt 这样的工具被创造出来,允许用户从软件库中提取更新的二进制文件(可执行文件)。apt zu Debian, aber andere Distributionen hatten ihre eigenen ähnlichen Programme für diesen Zweck.

Gefällt mir apt 这样的程序负责处理上游/下游的工作。如果你用升级选项运行 apt, so:

sudo apt upgrade

Es durchsucht das (Upstream-)Release-Repository, findet alle benötigten Update-Pakete, zieht sie auf Ihren Computer (Downstream) und installiert sie.

Einige Distributionen gehen noch weiter. Distributionsprogrammierer und -betreuer überprüfen ständig ihre Produkte. Oftmals nehmen Anwendungsprogrammierer Verbesserungen an ihren Programmen vor. Systembibliotheken werden regelmäßig aktualisiert, Sicherheitslücken geschlossen und so weiter. Diese Updates werden dem Herausgeber zur Verfügung gestellt, der dann die neue Version im Release-Repository verfügbar macht.

Anstatt es jeden Tag ausführen zu lassen apt, erinnern einige Distributionen Sie daran, dass Updates verfügbar sind, und fragen Sie, ob Sie diese möchten. Wenn Sie es wünschen, akzeptieren Sie einfach und das Update wird an Ihren Computer gesendet und installiert.

Zusammenfassung

Upstream und Downstream sind eigentlich nur die Richtungen des Datenflusses. Wie diese Daten vor- oder nachgelagert fließen, hängt davon ab, wer sie letztendlich verarbeiten muss. Grundsätzlich sind Programmierer Upstream und Benutzer Downstream.

Auch als Benutzer müssen wir uns nicht wirklich um diese Begriffe kümmern, aber diese Konzepte helfen bei der Entwicklung und Wartung von Software. Doppelarbeit wird vermieden, indem die Arbeit an die entsprechende Gruppe weitergeleitet wird. Dadurch ist auch eine normgerechte Wartung gewährleistet. Beispielsweise muss Chrome möglicherweise einige geringfügige Änderungen vornehmen, um auf einer bestimmten Distribution ausgeführt zu werden. Im Kern handelt es sich jedoch um Chrome, und es werden keine größeren Änderungen an seinem Aussehen oder Verhalten vorgenommen.

Wenn Sie in einem Programm Ihrer Distribution einen Fehler finden, melden Sie ihn einfach dem Betreuer der Distribution, normalerweise über dessen Website. Sie werden es an den Upstream senden, aber es spielt keine Rolle, ob Sie sich daran erinnern, dass Sie einen Bericht an den Upstream senden.

Das obige ist der detaillierte Inhalt vonLinux-Slang erklärt: Was sind Upstream und Downstream?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen