>  기사  >  백엔드 개발  >  패키지가 중앙에 연결되지 않고 로컬에 설치되는 이유는 무엇입니까?

패키지가 중앙에 연결되지 않고 로컬에 설치되는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-24 08:11:30440검색

Why Are Packages Installed Locally Instead of Linked Centrally?

패키지가 중앙에 연결되지 않고 로컬에 설치되는 이유는 무엇입니까?

Conda 및 기타 패키지 관리자는 일반적으로 격리된 환경에 패키지를 설치합니다. conda가 다운로드한 패키지를 캐시한다는 점을 고려하면 사용자는 왜 패키지가 단순히 중앙 위치에 연결되지 않는지 궁금해할 수 있습니다.

Conda의 하드링크 메커니즘

사실 conda는 이미 이 메커니즘을 사용하고 있습니다. 전략. Conda 패키지는 하드링크된 디렉터리에 설치됩니다. 즉, 여러 디렉터리에 고유한 패키지 복사본이 포함된 것처럼 보이지만 실제로는 동일한 기본 데이터를 공유합니다.

공간 절약

A 일반적인 오해는 각 환경이 상당한 양의 공간을 소비한다는 것입니다. 그러나 하드링크 메커니즘으로 인해 실제 디스크 사용량은 보이는 것보다 훨씬 낮습니다. 시연을 위해 du 명령을 사용하여 수정되지 않은(환경별) 공간 사용량과 수정된(하드링크된) 공간 사용량을 검사할 수 있습니다.

# Uncorrected
$ for d in envs/*; do du -sh $d; done

# Corrected
$ du -sh envs/*

출력에서는 공간의 상당 부분이 절약되고 있음을 보여줍니다.

공유 패키지

대부분의 하드링크는 공유 패키지가 저장된 pkgs 디렉토리를 가리킵니다. 이 공유 위치는 중복을 줄이고 개별 환경의 크기를 최소화합니다. 분석에 pkgs 디렉토리를 포함하면 환경 자체가 상대적으로 작다는 것을 알 수 있습니다.

$ du -sh pkgs envs/*

결론

Conda의 하드링크 메커니즘은 패키지와 환경. 분리된 설치 방식은 언뜻 보기에는 비효율적으로 보일 수 있지만 그 이면에는 상당한 공간 절약 이점이 있습니다.

위 내용은 패키지가 중앙에 연결되지 않고 로컬에 설치되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.