반디집에게 필요한 개선점 하나

반디집은 국내외에서 많이 쓰이는 압축 프로그램 중 하나이다. 국내외의 거의 모든 벤치마크 실험에서 1 위를 할 정도로 뛰어난 성능을 자랑한다. 각 실험 종류에 따라서 1 위를 못하는 경우도 있지만, 종합적으로 가장 무난한 편이다. 또한 국내에서만 통용되는 변태압축파일인 알집의 alz와 egg 파일도 간단하게 처리할 수 있다는 장점이 있다. 이 변태압축파일은 일반적으로 알려진 외국의 압축포멧을 헤더만 변형시켜 다른 압축프로그램이 인식하지 못하게 만든 것이다. 실질적으로 전혀 효용이 없는 것이다. 이런 변태적인 행위를 한 것은 이스트소프트가 점유율이 압도적으로 높았던 국내 사용자를 가두리양식장에 가두려고 했기 때문에 생겼던 것으로 보인다. (그러면 뭐하나, 압축과 해제 알고리즘에 버그가 있는데…. 그걸 20 년이 지나도록 잡지 못하고 있는데…. 이걸 못 잡는 이유는, 앞에서 말했듯이 압축포멧을 이스트소프트가 직접 만든 게 아니여서 제작사도 압축알고리즘을 정확히 모르기 때문인 것으로 보인다. (이건 그냥 내 뇌피셜…..ㅋㅋㅋ)

download.jpg
왜 번개집이 아니라 반디집일까?

아무튼 성능이 굉장히 좋은 소프트웨어인 반디집도 중요한 한 가지 문제가 있다.

운영체제는 파일 주소의 최대길이를 갖고 있다. 운영체제에 따라 다르지만, 윈도우10의 경우 256 글자로 알려져 있다. 그런데 이게 응용프로그램에서 문제를 종종 일으킨다. 응용프로그램이 파일을 만들 때, 파일을 만드는 폴더의 주소 길이와 새로 만들어지는 파일이름의 길이의 합이 운영체제에서 지원하는 파일 주소의 최대길이보다 길면 어떻게 될 것인가? 이렇게 생긴 파일들은 이동, 삭제, 복사 등을 할 수 없을 뿐만 아니라 응용프로그램에서 접근할 수도 없다. (윈도우10의 탐색기에서는 파일 이름을 너무 길게 만들면, 넘치는 만큼의 문자열이 임의로 삭제된다.)

압축프로그램이 압축을 풀 때를 생각해보자. 압축을 푸는 폴더의 주소 길이와 풀리는 파일의 이름 길이의 합이 운영체제가 지원하는 파일 주소의 최대값보다 길어도 압축은 잘 풀린다. 이제 짐작할 수 있겠지만, 일단 풀린 파일은 활용하기 힘들어지는 게 문제다. 운영체제가 이런 파일이 생성되는 것을 미리 알아채고 막는다면 압축프로그램과 운영체제 사이에서 데이터가 유실될 수 있다. 따라서 운영체제가 이런 파일이 생기는 것을 막는 건 문제가 있다. 그렇다면 압축프로그램이 미리 이런 문제가 생길 수 있는지 확인하면서 압축을 풀어야 한다. 이게 반디집이 개선해야 할 점이다.

나는 이 문제를 다운로드 전용프로그램 1 번, 압축시대 1 번, 그리고 몇 일 전에 반디집에게 1 번 이렇게 모두 3 번 겪었는데, 해결을 하지 못하고 결국 hdd를 포멧하였다.