데비안과 페도라는 종속성 문제를 해결하려고합니다

Linux 배포판은 종속성 증가 문제에 직면 해 있습니다. 프로젝트의 Python, Perl 및 Ruby 코드에 대한 종속성 수는 유지됩니다. 합리적인 한도 내에서 JavaScript 프로젝트는 매우 작은 라이브러리로 분할하여 종종 간단한 기능을 수행합니다.

NPM 저장소에는 이미 백만 개가 넘는 패키지가 있습니다. 및 일반적인 응용 프로그램 수백 개의 종속성에 연결, 차례로 자체 종속성이 있으므로 Linux 배포판에서 JavaScript 응용 프로그램을 사용하여 기존 패키지를 유지 관리하고 배포하기가 어렵습니다.

JavaScript 라이브러리 종속성이 밀접하게 얽혀 있기 때문에 배포에서 이러한 라이브러리로 모든 패키지를 업데이트합니다. 다른 패키지를 손상시킬 수 있습니다.

버전 바인딩은 문제를 악화시킵니다. 한 라이브러리는 안정적인 실행을 위해 한 버전의 종속성이 필요할 수 있고 다른 라이브러리에는 다른 버전이 필요할 수 있습니다.

많은 프로젝트가 작동하려면 최신 버전의 라이브러리가 필요합니다. 배포의 안정성 요구 사항을 항상 충족하지는 않습니다 (최신 버전의 프레임 워크를 사용하는 Node.js 생태계에서 지속적인 개발이 실행되고 배포에는 몇 년 동안 지원이 필요함).

배포판에서만 패키지 버전 수정 시도 오래된 버전의 증가로 이어집니다 수년간 업데이트되지 않은 저장소에 있습니다. 한 패키지에 대한 유지 관리가 중단되면 다른 많은 패키지에 부정적인 영향을 미치고 더 많은 문제가 발생합니다.

또한, l상호 의존성 많은 도서관이 Node.js를 시스템에서 제거 할 수 없게 됨그러면 다른 Node.js 프로그램을 제거 할 수 없습니다.

이러한 상황을 해결하기 위해 Fedora 프로젝트는 최근 Node.js 기반 프로젝트에서 사용되는 라이브러리를 사용하여 별도의 패키지의 기본 형성을 중지하는 계획을 승인했습니다.

그는 Fedora 34부터 Node.js 용 기본 패키지 만 인터프리터, 헤더, 기본 라이브러리, 바이너리 및 기본 패키지 관리 도구 (NPM, yarn)와 함께 제공하기로 결정했습니다.

Node.js를 사용하는 Fedora 저장소 응용 프로그램에서 별도의 패키지에서 사용되는 라이브러리를 분할 및 분리하지 않고 기존의 모든 종속성을 패키지에 포함 할 수 있습니다.

라이브러리를 임베딩하면 작은 패키지 혼란을 제거하고 패키지 유지 관리를 단순화합니다 (이전에는 유지 관리자가 프로그램이있는 기본 패키지보다 라이브러리가있는 수백 개의 패키지를 검토하고 테스트하는 데 더 많은 시간을 보냈습니다). 충돌로부터 인프라를 절약 할 수 있습니다. 라이브러리 버전에 연결하여 문제를 해결합니다 (관리자는 테스트 및 프로덕션 테스트 버전을 패키지에 포함).

통합의 단점은 수정을 가져 오는 과정의 복잡성입니다. 취약한 라이브러리를 포함하는 모든 패키지의 관리자가 협력하여 작업해야하는 라이브러리의 취약성. 패키지가 취약한 내장 라이브러리를 업데이트하는 것을 잊고 패키지가 눈에 띄지 않게 될 위험이 있습니다.

개발자 데비안은 유사한 패키지 종속성 통합 모델로의 전환에 대해서도 논의하고 있습니다. Node.js 외에도 작은 종속성으로 나누는 경향이있는 PHP 및 Go 언어로 된 Kubernetes 플랫폼 및 프로젝트 용 패키지 생성에 대해 설명합니다. 아직 결정은 내려지지 않았지만 시간이 지남에 따라 문제가 악화되고 조만간 프로젝트가 어떤 조치를 취해야 할 것으로 기대됩니다.

gvm (Greenbone Vulnerability Management) 보안 스캐너 용 gsa (Greenbone Security Assistant) 웹 인터페이스는 패키지 관리자가 가지고있는 문제의 예로 인용됩니다.

데비안에서 제공하는 gsa 버전은 최신 버전의 gvm과 호환되지 않는 것으로 판명되었지만 중요한 변경 사항이 포함되어 있고 npm을 사용하여 필요한 Node.js 라이브러리를 다운로드하기 때문에 gsa를 현재 버전으로 업데이트 할 수 없었습니다.

요청 된 라이브러리가 너무 많고 데비안 규칙이 빌드 프로세스 중에 외부 구성 요소를로드하는 것을 금지하기 때문에 누군가 유지 관리하려면 데비안에서 새 패키지를 만들어야합니다.

출처 : https://lwn.net/


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   큐티크

    ECMAscript의 프레임 워크 및 라이브러리 조각화는 손에서 벗어났습니다.
    좋은 기사.