아카이브 생성 중에 동일한 콘텐츠를 tar 동적으로 하드링크하도록 하려면 어떻게 해야 합니까?

아카이브 생성 중에 동일한 콘텐츠를 tar 동적으로 하드링크하도록 하려면 어떻게 해야 합니까?

아카이브 생성 중에 중복 콘텐츠 tar(예: Linux에서 일반적으로 사용되는 다른 프로그램 )를 어떻게 동적으로 하드링크할 수 있습니까 ?pax

즉, 미리 하드링크하는 것을 피하고 대신 tar처리하고 싶습니다.

그게 가능합니까? 어떻게?

답변1

현재 GNU tar로는 이 작업을 수행할 수 없지만 다음과 같은 기능이 있습니다.

하드 링크와 중복 제거는 동일한 의미를 갖지 않으며, 아카이브 추출 프로세스가 중복(따라서 독립적인) 파일을 올바르게 다시 생성할 수 있도록 "중복 데이터"를 나타내려면 다른 tar 노드 유형이 필요합니다. 이렇게 하면 동일한 파일이 생성됩니다. 대부분의 표준 도구(GNU tar, pax 등)는 tar 아카이브와 호환되지 않습니다. 이는 대담한 조치입니다.

잠시만 기다려 주세요. 하드 링크 파일 동화로 속임수를 쓸 수 있다면 아카이브를 추출할 때 문제가 발생하게 됩니다. *정말 Git 리포지토리와 같은 하드 링크 파일인가요? 그렇다면 실제로 하드 링크 파일로 다시 생성해야 합니까? 그렇지 않으면 복원된 Git 저장소가 작동하지 않습니까? * 또는 실제로 동일한 파일인 경우, 복원된 아카이브가 하드 링크로 복원되면 심각한 데이터 유출이 발생할 수 있습니다(아카이브하는 동안 동일한 /etc/passwd 파일을 동화하고 단일 파일에 대한 여러 하드 링크를 갖도록 복원한다고 상상해 보십시오). : 한 가상 머신의 수정 사항은 다른 가상 머신에서도 볼 수 있습니다!)

관련 정보