>  기사  >  시스템 튜토리얼  >  Linux 속어 설명: 업스트림과 다운스트림이 무엇인가요?

Linux 속어 설명: 업스트림과 다운스트림이 무엇인가요?

WBOY
WBOY앞으로
2024-02-11 11:57:20945검색

'업스트림'과 '다운스트림'이라는 용어는 상당히 추상적이라고 할 수 있으며, 일반 사람들은 거의 사용하지 않을 수 있습니다. 귀하가 Linux를 사용하는 일반 사용자이고 소프트웨어 작성 및 유지 관리에 관여하지 않는 경우, 이 용어는 귀하에게 실질적인 의미가 없을 수 있습니다. 그러나 이러한 용어는 Linux 세계의 다양한 커뮤니티 간에 통신할 때 매우 유용합니다.

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

"업스트림" 및 "다운스트림"이라는 용어는 네트워킹, 프로그래밍, 커널, 심지어 공급망과 같은 컴퓨터 이외의 분야에서도 널리 사용됩니다. 업스트림과 다운스트림을 논의할 때는 배경 정보가 중요합니다.

간단히 말하면 업스트림과 다운스트림은 정보 흐름의 방향을 나타냅니다.

우리는 모두 인터넷에 연결된 상태에서 이 글을 읽고 있으므로 인터넷 서비스 제공업체(ISP)에 적용되는 업스트림/다운스트림 예를 살펴보겠습니다. 여기서 ISP는 트래픽에 중점을 둡니다. 업스트림 트래픽은 다양한 ISP의 사용자로부터 들어오는 데이터를 나타냅니다. 예를 들어 구독 뉴스레터를 제공하는 웹사이트가 있는 경우 내가 보내는 구독 정보는 업스트림 데이터입니다.

다운스트림 트래픽은 한 사용자에서 다른 ISP의 다른 사용자로 전송되는 데이터를 말하며 다운스트림 트래픽으로 간주됩니다. 동일한 구독 예를 사용하여 내 구독 요청이 승인되었고 한 이메일에서는 "환영" 메모를 받고 다른 이메일에서는 최신 뉴스레터를 받았다고 가정해 보겠습니다. 이 경우 데이터는 귀하가 다른 ISP의 사용자인 나에게(아마도 귀하를 대신하여 작동하는 자동화된 소프트웨어로) 전송되기 때문에 다운스트림으로 흐릅니다.

요약: 내가 필요로 하거나 원하는 것(귀하의 뉴스레터)은 업스트림입니다. 당신이 나에게 제공하는 것(환영 메시지와 실제 커뮤니케이션)은 다운스트림입니다.

데이터가 업스트림인지 다운스트림인지는 우리 사용자에게는 중요하지 않지만 대역폭 사용량을 모니터링하는 서버 관리자는 물론 배포자(배포판 생산자) 및 프로그래머에게도 중요합니다.

Linux 세계에는 업스트림과 다운스트림이라는 두 가지 주요 컨텍스트가 있습니다. 하나는 커널에 관한 것이고 다른 하나는 애플리케이션에 관한 것입니다. 다른 것들도 있지만 이 두 가지를 통해 제 생각을 표현할 수 있었으면 좋겠습니다.

Linux 커널 맥락의 업스트림 및 다운스트림

Linux는 커널입니다. Linux 배포판은 배포판을 만들 때 수정되지 않은 커널 소스 코드로 시작됩니다. 그런 다음 필요한 패치를 추가하고 커널을 구성합니다. 커널 구성은 배포판에서 제공하려는 기능과 옵션을 기반으로 합니다. 일단 결정되면 그에 따라 코어가 생성됩니다.

원래 커널은 배포판의 업스트림에서 나옵니다. 배포판이 소스 코드를 얻으면 다운스트림으로 흐릅니다. 배포판이 커널 코드를 얻으면 수정되는 동안 게시자와 함께 유지됩니다. 출시될 준비가 될 때까지 사용자에게 업스트림으로 남아 있습니다.

배포판에서 생성된 커널 버전은 패치를 추가하고 특정 기능과 옵션을 활성화합니다. 이 구성은 게시자가 결정합니다. 이것이 바로 Debian의 www.debian.org와 Red Hat의 www.redhat.com과 같이 여러 가지 Linux 버전이 있는 이유입니다. 게시자는 사용자 기반에 어떤 옵션을 사용할 수 있는지 결정하고 이에 따라 커널을 컴파일합니다.

이 작업이 완료되면 출시 준비가 된 저장소에 배치되며 사본을 얻을 수 있습니다. 이 사본은 우리를 향해 하류로 흐릅니다.

마찬가지로 게시자가 커널에서 버그를 발견하면 이를 수정한 다음 커널 개발자에게 패치를 보내어 다운스트림의 모든 사람을 위해 커널을 패치할 수 있도록 합니다. 여기의 트래픽은 원래 소스를 향해 위쪽으로 흐르기 때문에 이를 업스트림에 대한 기여라고 합니다.

애플리케이션의 맥락에서 업스트림 및 다운스트림

다시 말하지만, 기술적으로 말하면 Linux는 커널이고 다른 모든 것은 추가 기능 소프트웨어입니다. 게시자는 프로젝트에 추가 소프트웨어도 포함합니다. 이 경우 여러 업스트림이 있습니다. 배포판에는 X, KDE, Gnome 등과 같은 여러 응용 프로그램이 포함될 수 있습니다.

나노 편집기 www.nano-editor.org를 사용하고 있는데 제대로 작동하지 않는 것을 발견하여 배포판에 버그 보고서를 제출했다고 가정해 보겠습니다. 게시자의 프로그래머는 이를 살펴보고 nano에 버그가 삽입된 것을 발견하면 이를 수정하고 저장소에 새 버전을 릴리스합니다. 자신이 버그를 만들지 않았다는 사실을 발견하면 게시자는 업스트림 나노 프로그래머에게 버그 보고서를 제출합니다.

버그 보고서, 기능 요청 등과 같은 사항은 게시자에게 업스트림으로 보내는 것이 가장 좋습니다. 게시자는 사용 중인 배포판에 대한 커널 및 추가 기능 응용 프로그램을 유지관리하기 때문입니다. 예를 들어, 여러 컴퓨터에서 Q4OS - q4os.org라는 배포판을 사용합니다. 프로그램에서 버그를 발견하면 Q4OS 사람들에게 이를 보고하겠습니다. Mint의 linuxmint.com을 사용하게 된다면 Mint 프로젝트에 보고해 주세요.

예를 들어 일반 Linux 포럼에 질문을 올리고 Mint를 사용한다고 언급하면 ​​반드시 이런 답변을 받게 됩니다. "이 문제는 Mint 포럼에서 가장 잘 처리됩니다." 이전의 나노 버그 예를 사용하면 Mint의 프로그래머가 배포판에서 더 잘 실행되도록 nano를 수정했을 가능성이 있습니다. 만약 실수를 한다면, 그들은 그것에 대해 알고 싶어할 것이고, 실수를 저지른 후에는 그것을 고치는 사람이 될 것입니다.

수정되면 업데이트된 프로그램이 사용할 수 있는 저장소에 저장됩니다. 업데이트되면 다음과 같이 전달됩니다.

◈ 게시자가 수정하면 릴리스 저장소에서 새 버전을 사용할 수 있습니다.

◈ 앱 프로그래머가 수정하면 새 코드를 테스트하는 게시자에게 전송됩니다. 제대로 작동하는 것으로 확인되면 창고에 배치되고 하류로 흐릅니다.

하류로 자동 흐름

사용자가 직접 업데이트를 받아야 했던 때가 있었습니다. 사용자는 업데이트된 소스 코드를 받고 새로운 실행 파일을 컴파일합니다. 시간이 지나면서 apt 这样的工具被创造出来,允许用户从软件库中提取更新的二进制文件(可执行文件)。apt와 같은 프로그램은 데비안의 프로그램이었지만 다른 배포판에는 이 목적을 위한 유사한 프로그램이 있었습니다.

좋아요apt 这样的程序负责处理上游/下游的工作。如果你用升级选项运行 apt, 이렇게:

으아아아

(업스트림) 릴리스 저장소를 살펴보고 필요한 업데이트 패키지를 찾은 다음 이를 컴퓨터(다운스트림)로 가져와 설치합니다.

일부 배포판은 더 나아졌습니다. Distro 프로그래머와 유지관리자는 항상 제품을 확인하고 있습니다. 많은 경우, 애플리케이션 프로그래머는 프로그램을 개선합니다. 시스템 라이브러리는 자주 업데이트되고 보안 구멍이 막히는 등의 문제가 발생합니다. 이러한 업데이트는 게시자에게 제공되며 게시자는 릴리스 저장소에서 새 버전을 사용할 수 있게 만듭니다.

매일 실행하도록 하는 대신 apt 일부 배포판에서는 업데이트가 있음을 알리고 원하는지 묻는 메시지를 표시합니다. 원하는 경우 수락하면 업데이트가 컴퓨터로 전송되어 설치됩니다.

요약

업스트림과 다운스트림은 실제로 데이터 흐름의 방향일 뿐입니다. 이 데이터가 업스트림 또는 다운스트림으로 흐르는 방식은 궁극적으로 데이터를 처리해야 하는 사람에 따라 달라집니다. 기본적으로 프로그래머는 업스트림이고 사용자는 다운스트림입니다.

다시 말하지만, 사용자로서 우리는 이러한 용어에 별로 신경 쓸 필요가 없지만 이러한 개념은 소프트웨어 개발 및 유지 관리에 도움이 됩니다. 적절한 그룹에 작업을 지시하면 중복된 노력을 피할 수 있습니다. 이는 또한 표준 유지 관리를 보장합니다. 예를 들어 Chrome을 특정 배포판에서 실행하려면 약간의 변경이 필요할 수 있지만 핵심은 Chrome이므로 모양이나 동작에 큰 변화가 없습니다.

배포판의 프로그램에서 버그를 발견하면 일반적으로 웹사이트를 통해 배포판 관리자에게 보고하세요. 이를 업스트림으로 보내려고 하지만 보고서를 업스트림으로 보낸다는 사실을 기억하는지 여부는 중요하지 않습니다.

위 내용은 Linux 속어 설명: 업스트림과 다운스트림이 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제