자식 같은 파일 시스템이 있습니까? 기본적으로 이런 방식으로 작동하면 dll

Git은 파일의 계산 된 해시를 기반으로 컨텐츠를 고유 한 저장소에 고유하게 저장합니다. 내 디렉토리에 같은 파일의 사본이 두 개 있으면 git은 실제로 한 번만 저장합니다.

이 같은 개념이 운영 체제 수준에서 일종의 파일 시스템으로 구현되었는지 궁금합니다.

파일 시스템이 기본적으로 이런 방식으로 작동하면 dll 지옥 문제에 도움이 될 것 입니다. 기본적으로 사용자를 대신하여 자동으로 심볼릭 링크됩니다. 모든 응용 프로그램은 모든 종속 항목이 있고 추가 저장 비용이없는 디렉토리에 jar와 같이 패키지화 될 수 있습니다.

루비 애호가는 라이브러리를 루비 젬으로 게시하여 공유합니다. 그럼에도 불구하고, 보석을 공유하려는 이러한 노력으로 인해 악몽 을 피하기 위해 모든 종속성을 로컬 폴더에 복사 하는 벤더 모든 개념으로 이어질 수 있습니다.



답변

찾고있는 것을 “중복 제거”라고합니다. 일반적으로 전문 스토리지 제품 공급 업체에서 구현하지만 ZFS 파일 시스템 에서도이를 구현합니다. 대부분의 유닉스 파생 운영 체제 는 ZFS를 사용할 수 있으므로 우선 살펴볼 것을 권장합니다.


답변

Network Appliance, Inc.는 수년 동안 이와 같은 스토리지 기능을 보유하고 있으며 실제로 ZFS 파일 시스템에 대해 Sun Microsystems에 불만을 제기했으며 Aaron Miller가 자신의 대답에 언급 한 내용을 처리합니다. 가치있는 것에 대해, 불만은 약 3 년 후에 오라클에 해결되었습니다.

나는 2000 년부터 이것을 회사 솔루션으로 사용했으며 잘 작동합니다. 파일이 변경되면 첫 번째 ‘복사’후 저장 비용이 발생합니다. 그렇지 않으면 많은 ‘복사본’을 사용하면 네임 스페이스가 약간 증가합니다.

나는 이것이 “운영 체제 수준”에 대한 질문에 대답하는 것이 아니라 “파일 시스템 수준”에 대한 대답이라고 생각합니다.


답변

새로운 Apple File System (APFS, 이미 다른 AFS가 있었기 때문에 명명 된)은이 “자동 하드 링크”/ “중복 제거”마술을 수행합니다. macOS 10.13은 iOS 11과 마찬가지로 기본적으로 (대부분의 Mac에서) 지원합니다.

즉, “git like”로 만들기에는 충분하지 않다고 생각합니다. “git like”인 경우 주어진 시점에 디렉토리 구조 상태에 대한 암호화 체크섬을 갖기 때문에 아무도 내 컴퓨터를 해킹하거나 시스템 디렉토리를 수정하지 않았 음을 확신 할 수 있습니다. 사실, git repos를 사용하여 Apache 구성 파일, LaunchDaemons, LaunchAgents 및 기타 몇 가지와 같은 Mac의 특정 중요 시스템 디렉토리를 추적합니다. 소프트웨어를 설치하거나 서버를 잠시 실행하면 어떤 것이 있는지 알 수 있습니다 망 쳤어.

또한 APFS는 파일 시스템에서 클라우드로 물건을 한동안 사용하지 않았을 때 오프로드하는 기능도 훌륭하게 지원하지만 여전히 존재하는 것처럼 보이고 주문형 클라우드에서 다시 채워질 것입니다.

항상 Hackintosh를 빌드하고 그 주위를 uck 수 있습니다. BSD는 재미있다.