중복 제거를 수행하는 Windows 용 압축 또는 아카이버 프로그램이 있습니까? [닫은]

보관중인 파일에 대해 중복 제거 (중복 제거)를 수행 할 수있는 아카이버 프로그램을 찾고 있습니다. 아카이브 압축을 풀면 소프트웨어는 압축 과정에서 제거 된 파일을 모두 다시 넣습니다.

지금까지 나는 발견했다 :

다른 사람을 아는 사람이 있습니까?

이것은 아마도 7-zip에 대한 훌륭한 추가 일 것입니다.



답변

현대의 거의 모든 아카이버가 정확히이 작업을 수행하지만, 유일한 차이점은 압축 알고리즘에 공급되기 전에 모든 파일이 단일 스트림으로 연결되어 있기 때문에이 파일을 “솔리드”아카이브라고합니다. 이는 각 파일을 하나씩 압축하고 각 압축 파일을 아카이브에 추가하는 표준 zip 압축과 다릅니다.

본질적으로 7-zip은 중복 제거를 효과적으로 달성합니다. 예를 들어 7-Zip은 파일을 검색하고 유사한 파일 형식과 파일 이름으로 정렬하므로 동일한 형식과 데이터의 두 파일이 압축기 알고리즘으로 이동하는 스트림에 나란히 배치됩니다. 그러면 압축기는 최근에 본 많은 데이터를 볼 수 있으며이 두 파일은 파일을 하나씩 압축하는 것과 비교하여 압축 효율이 크게 향상됩니다.

tar는 단순히 모든 파일을 단일 스트림으로 병합하기 때문에 (. 파일을 정렬하고 그룹화 한 후 gzip으로 압축합니다. 이것이 누락 된 것은 7-zip이 정렬하는 것입니다. 효율성이 약간 떨어질 수 있지만 압축 방식으로 압축 된 많은 개별 파일을 함께 처리 하는 것보다 여전히 낫습니다 .


답변

압축 프로세스와 함께 중복 제거를 사용할 필요는 없습니다. 대부분의 압축 알고리즘은 가장 일반적이거나 재사용되는 데이터 비트를 찾는 ‘사전’을 만듭니다. 거기에서 전체 “단어”를 다시 쓰는 대신 사전 항목을 참조합니다. 이러한 방식으로 대부분의 압축 프로세스는 이미 모든 파일에서 중복 또는 중복 데이터를 잘라냅니다.

예를 들어 1MB 파일을 가져와 매번 다른 이름으로 100 번 복사하면 (총 100MB의 디스크 공간) 7zip 또는 zip 파일로 압축하면 총 1MB의 zip 파일이 생성됩니다. 모든 데이터가 하나의 사전 항목에 입력되고 100 번 참조되기 때문에 공간이 거의 필요하지 않기 때문입니다.

이것은 일어나는 일에 대한 매우 간단한 설명이지만 요점은 여전히 ​​잘 전달됩니다.


답변

7-Zip, zip, gzip 및 기타 모든 아카이버는 동일한 파일 내에서 몇 메가 바이트 이상과 같이 서로 멀리 떨어져 있거나 다른 파일 내의 다른 위치에있는 동일한 영역을 감지하지 못합니다.

따라서 일반 보관소는 일부 상황에서 발굴 및 다른 것만 큼 성능이 좋지 않습니다. 일부 가상 머신이나 다른 것들을 압축하면 이것을 볼 수 있습니다.


답변