'디스크이미지'에 해당되는 글 3건

  1. 2009.05.21 ISO/UDF 이미지 파일 보기 및 풀기 2 (6)
  2. 2009.05.19 ISO/UDF 이미지 파일 보기 및 풀기 1
  3. 2009.04.06 중복 파일 제거하여 용량을 줄이자

ISO/UDF 이미지 파일 보기 및 풀기 2

팁텍

ISO/UDF 이미지 파일 보기 및 풀기 1에서 설명했듯이 윈도XP에서 UDF 파일 시스템의 DVD를 지원한다는 말과 ISO/UDF 파일 이미지를 지원한다는 말은 전혀 다르다. 이것을 혼동하지 말아야 한다.

앞에서 DVD에 저장하여 디스크 내용을 확인했고, 그 다음으로 가상 디스크 프로그램을 이용하여 내용을 확인했다.
이번에는 압축 프로그램을 이용하여 압축을 풀듯이 UDF 이미지 파일을 풀어내 보도록 하자.

팁의 발견

사실 압축과 패키지(묶음)는 서로 관련이 있지만, 서로 같은 뜻은 아니다. 토탈커맨더처럼 아예 압축과 패키징을 한데 묶어서 다루기도 하지만, 대부분의 압축 관리 프로그램은 압축과 그 압축에 대한 패키징만을 다룬다. 다시 말해 대부분의 압축 프로그램이라 불리는 압축 관리 프로그램은 자신이 지원하는 압축 형식에 대한 패키징만 지워하며, 패키징 자체에 대해서는 전혀 신경 쓰지 않는다고 해도 과언이 아니다.

그런 이유로 .ISO 파일은 오랫동안 압축 관리 프로그램에서 다루지 않았으나, 요사이 그러한 디스크 이밎 형식을 지원하는 프로그램이 늘기 시작했다.

참고 : 압축 프로그램은 파일을 압축하거나 압축된 파일을 해제하는 프로그램이며, 압축 관리 프로그램은 압축 파일 내부의 파일을 교체하거나 내용만 따로 본다거나 하는 관리 기능까지 지원하는 프로그램이다. 종래에는 대부분 압축 프로그램이었으나, 요사이는 압축 관리 프로그램이 대세이다. 이 글에서는 압축 관리 프로그램이나 압축 해제 프로그램까지 모두 압축 프로그램이라 부르겠다.

여기에서도 그처럼 디스크 이미지 파일을 지원하는 압축 관리 프로그램 및 압축 해제 프로그램을 소개하고자 한다.

  • zpsetup.exe : Zip+ v7.89 (개인/단체 무료)[각주:1]
  • bz3setup.exe : 빵집 v3 빌드1326 (개인/단체 무료)
  • ALZip742.exe : 알집 v7.42 (개인 무료/단체 유료)[각주:2]
  • 7z465.exe : 7-Zip v4.65 (LGPL, 개인/단체 무료/소스 수정 시 공개 의무)
  • winzip121.exe : WinZip v12.1 (유료/시험 사용 기간 있는 셰어웨어)
  • wrar380k.exe : WinRAR v3.80 (한국어 버전) (유료/시험 사용 기간 있는 셰어웨어)
  • uniextract16.exe : Universal Extractor v1.6 (GPL, 개인/단체 무료/소스 수정 시 공개 의무). 단 이 프로그램은 압축 해제만 지원한다.

그밖에 알파/베타 테스트 버전도 시험하였다.

  • 7z903.exe : 7-Zip v9.03 Alpha
  • wrar39b1.exe : WinRAR 3.6 beta

또한 이 문서에 나온 결과 내용은 어디까지나 주관적인 판단에 따랐습니다. 다른 사람이 실험하면 다른 판단을 내릴 수 있습니다.

참고로 테스트 환경은 윈도XP Sp2, 램 512메가, 하드는 5기가 이상 여유 있는 환경에서 하였다. 속도 측정 등은 하지 않고, 해당 기능이 동작하는지만 살폈다. 마지막에 압축이 제대로 풀리기만 하면 3점, 중간에 오류가 나면 1점 감점, 아예 열지 못하면 1점을 주었다. 홈페이지 등의 설명에서 UDF를 지원한다고 했는데, 실제로 동작하지 않으면 0점 처리하였다.

압축 프로그램의 사용

압축 프로그램에서 열어서 풀기압축 프로그램으로 풀기를 시험하였다.

압축 프로그램에서 열어서 풀기

압축 프로그램에서 열기 방법은 먼저 압축 프로그램을 실행한 뒤에 메뉴나 아이콘을 클릭하여 .ISO 파일을 읽어 온다. 이때 사용하는 이미지는 윈도7 RC 7100(32비트)의 이미지이며, 파일명은 7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso에서 dvd.iso로 고쳤다.

압축 프로그램을 실행한 뒤에 파일을 열 때, 1번 방법은 파일 메뉴에서 열기를 선택하면 되고, 2번 방법은 툴바에서 열기 아이콘을 클릭하면 된다. 다른 프로그램도 그다지 다르지 않으므로 적절히 대처하면 됩니다.

Zip+ 플러스 실행 화면

Zip+ 플러스 실행 화면

위의 그림에서 툴바 메뉴 가운데 새 압축, 열기, 설정, 이렇게 세 개만 활성화 되어 있다. 나머지는 사용할 수 있을 때 활성화 된다.

위에서 열기 아이콘을 클릭하면 열기 대화상자가 나타난다. 또는 파일 메뉴에서 열기 메뉴를 선택해도 열기 대화상자가 나타난다.

위와 같은 열기 대화상자에서 파일을 선택한 뒤 열기를 클릭하여 불러 오면 된다.

.iso 파일을 불러온 화면

.iso 파일을 불러온 화면

대부분의 압축 프로그램에서는 압축 파일을 불러오면 왼쪽은 압축 파일 내부의 폴더 구조를 보여주고 오른쪽은 파일 목록을 보여주는 탐색기 구조를 본뜬 외양을 갖추고 있다.

여기에서 풀기 아이콘을 클릭하면 압축 풀기 대화상자가 나타난다.

압축 풀기 대화상자

압축 풀기 대화상자

압축 풀기 대화상자에서 알맞은 선택사항을 고르거나, 압축 풀기 폴더를 바꾸는 작업을 한 뒤에 확인을 클릭한다. 프로그램에 따라서는 압축 풀기(Extract)로 나타나기도 한다.

압축 풀기 작업 중 화면

압축 풀기 작업 중 화면

압축 풀린 폴더 화면

압축 풀린 폴더 화면

압축이 풀린 폴더의 등록 정보

압축이 풀린 폴더의 등록 정보

압축 프로그램에서 열기 기능에 대한 지원 결과

압축 프로그램에서 열기 기능에 대해서는 다음과 같은 결과가 나왔다.

  • Zip+ v7.89 : 잘 지원한다. 3/3
  • 빵집 v3 빌드1326 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 1/3
  • 알집 v7.42 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 7-Zip v4.65 : 잘 지원한다. 3/3
  • WinZip v12.1 : 목록 보기는 잘 지원한다. 그러나 압축 풀기에서 오류가 발생하였다. 2/3
  • WinRAR v3.80 : 잘 지원한다. 3/3
  • Universal Extractor v1.6 : 파일 목록 보기 기능이 없다. 0/3

그밖에 알파/베타 테스트 버전도 시험하였다.

  • 7-Zip v9.03 Alpha : 잘 지원한다. 3/3
  • WinRAR 3.6 beta : 잘 지원한다. 3/3

압축 프로그램으로 풀기

압축 프로그램으로 풀기는 달리 표현하면 컨텍스트 메뉴 이용하기이다.

마우스 오른쪽 클릭을 한 화면

마우스 오른쪽 클릭을 한 화면

7-Zip을 설치한 뒤 7-Zip에서 지원하는 파일은 아이콘이 바뀐다. 그 파일에 마우스 커서를 가져간 뒤 오른쪽단추를 누르면(오른쪽 클릭), 메뉴가 나타나는데, 이것을 컨텍스트 메뉴라고 부른다. 위의 화면에서 컨텍스트 메뉴만 따로 떼면 다음과 같다.

7-Zip의 계단 형식 컨텍스트 메뉴

7-Zip의 계단 형식 컨텍스트 메뉴

Zip+의 기본 컨텍스트 메뉴

Zip+의 기본 컨텍스트 메뉴

이러한 컨텍스트 메뉴는 위와 같이 계단 형식과 기본 형식의 두 가지로 나뉜다. 최근에는 계단 형식도 자주 쓰인다.

아무튼 7-Zip의 계단 형식 컨텍스트 메뉴에서 압축 풀기...를 선택하여 .ISO 파일을 풀면 된다.

압축 풀기 대화 상자

압축 풀기 대화 상자

7-Zip의 압축 풀기 대화상자는 Zip+의 그것과 거의 같다. 이렇듯이 다른 프로그램도 비슷비슷하므로, 한 프로그램만 제대로 알면 다른 프로그램도 대부분 사용할 수 있다.

위의 그림에서 확인을 클릭하면 파일을 풀어 준다.

압축 풀기 작업 중 화면

압축 풀기 작업 중 화면

압축 프로그램으로 풀기 기능에 대한 지원 결과

압축 프로그램으로 풀기 기능에 대해서는 다음과 같은 결과가 나왔다.

  • Zip+ v7.89 : 컨텍스트 메뉴로는 파일을 열지 못했다. 0/3
  • 빵집 v3 빌드1326 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 알집 v7.42 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 7-Zip v4.65 : 잘 지원한다. 3/3
  • WinZip v12.1 : 압축 풀기에서 오류가 발생하였다. 2/3
  • WinRAR v3.80 : 잘 지원한다. 3/3
  • Universal Extractor v1.6 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3

그밖에 알파/베타 테스트 버전도 시험하였다.

  • WinRAR 3.6 beta : 잘 지원한다. 3/3
  • 7-Zip v9.03 Alpha : 잘 지원한다. 3/3

참고

  • 처음에는 밤톨이도 대상에 포함시켰으나, ISO 형식을 지원하지 않는다고 하여 제외시켰다.
  • 또한 Universal Extractor가 ISO/UDF의 압축을 풀지 못한 것은 뜻밖이었다. 왜냐하면 Universal Extractor는 7-Zip의 명령줄 버전을 사용하고 있기 때문에 그것을 이용하여 ISO/UDF의 압축을 풀 것으로 예상하고 이번 시험에 포함시켰기 때문이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. Zip+의 프리웨어 라이선스에 대한 자세한 사항은 홈페이지의 공지사항을 참조하기 바랍니다. [본문으로]
  2. 구멍가게에서 등에서 쓰는 컴퓨터나 기타 영업용 컴퓨터, 회사의 컴퓨터, 단체의 업무에 쓰이는 컴퓨터 등에 설치할 때, PC방의 컴퓨터에 설치할 때에는 유료 버전을 써야 한다. 특히 PC방에 설치하면 PC방 사장을 범죄자로 만들게 되니까 주의하기 바란다. 설치하더라도 아르바이트 직원이나 사장에게 라이선스를 가지고 있는지 묻고 나서 설치하기 바란다(이렇게 써놓아도 PC방 컴퓨터에 그냥 설치하는 변견이 있다). [본문으로]
Trackback 0 Comment 6

ISO/UDF 이미지 파일 보기 및 풀기 1

팁텍

내 컴퓨터에는 DVD±RW 기계가 달려 있고, 윈도XP를 쓰고 있다. 그리고 UDF 포맷을 지원한다고 하여, ISO/UDF 이미지 파일도 지원한다고 착각했던 적이 있다. 하지만 ISO/UDF 이미지 파일은 응용프로그램에서 지원하는 것이지 운영체제에서 지원하는 것이 아니라는 것을 알고 허탈해 하기도 했다.

아무튼 ISO/UDF 이미지 파일을 보면 달랑 README.TXT 파일 하나뿐이다. 거기다 내용도 썰렁하기 그지 없다.

7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso 이미지 파일 안의 README.TXT의 내용

7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso 이미지 파일 안의 README.TXT의 내용

이 디스크는 "UDF" 파일 시스템을 포함하고 있으며, ISO-13346 "UDF" 파일 시스템 규격을 지원하는 운영체제를 요구합니다.

위와 같은 의미를 가지고 있다.

이러한 ISO/UDF(이하 UDF) 이미지의 경우 일반적으로 ISO 이름도 포함하지만, 이 경우에는 ISO 이름 없이 UDF 이름만 포함하기 때문에 생겨난 결과이다.

 

팁의 발견

아무튼 내가 즐겨 사용하는 토탈커맨더에서는 위에서 설명한 바와 같이 README.TXT 파일 하나만 나타나므로 불편하기 그지 없었다. 애써 만든 7-zip을 이용한 멀티아크 애드온 설정은 다른 ISO 플러그인과 충돌하여 쓸 수 없는 상태였다. 결국 목 마른 사람이 우물 판다고, UDF 이미지 파일을 볼 수 있거나 풀어주는 유틸리티를 찾아보게 되었다.

프로그램 설치와 다른 쓰임은 각자 알아보기로 하고, 여기에서는 UDF 이미지 파일을 푸는 과정만 설명하겠다.[각주:1]

CD/DVD 제작 프로그램 사용

가장 간단하고 정통적인 방법은 ISO/UDF 이미지를 디스크로 만드는 것이다. 흔히 "CD굽기"(또는 DVD 굽기)라고 표현하는 방법이다.

가장 널리 쓰이는 프로그램에는 이미지 파일을 CD/DVD로 구워 주는 이미지번(ImgBurn) 프로그램, 여러 기능을 가진 네로 버닝 롬(Nero Burning Rom), 국산 프로그램인 이응 등이 있다.

이렇게 구한 프로그램으로 이미지를 디스크로 구운 뒤에 DVD 드라이브에 디스크를 넣어 탐색기로 살펴 보면 된다. 이 방법의 장점은 복사본을 하나 만들 수 있다는 점이고, 단점은 반드시 복사본을 만들 디스크(미디어)가 한 장 이상 필요하다는 점이다. 물론 나처럼 DVD±RW이나 DVD±RAM을 쓴다면 한 장으로 재활용할 수 있다.

다만 이 방법은 엄밀히 말해 이미지 파일을 본다는 것과는 거리가 있다. 그러나 이미지 파일의 내용을 본다는 것을 넓게 확장하여 해석하면 이런 방법도 쓸 수 있다는 뜻이다.

왼쪽 패널은 IOS/UDF 이미지를 ISO 플로그인을 통해 본 내용이고, 오른쪽 패널은 DVD 미디어를 광디스크드라이브에 넣어 내용을 확인한 화면이다. 그 아래에 작업 표시줄에는 DVD 미디어를 넣었을 때 자동실행된 프로그램이 나타나 있다.

ImgBurn

이미지번(ImgBurn) 프로그램은 이미지 파일을 CD/DVD로 구워 주는 프로그램이다. 물론 폴더나 파일을 구워 주는 기능도 있지만, 이미지 파일을 굽는 데 자주 쓰인다. 이름부터 이미지번(ImgBurn)이지 않은가?

홈페이지에서 프로그램 파일언어 파일을 받아서 설치하면 된다. 2009년 5월 19일 현재 최신 버전은 2.4.4.0 이다.

설치한 뒤 한글 언어팩을 적용하여 처음 실행한 화면

설치한 뒤 한글 언어팩을 적용하여 처음 실행한 화면

왼쪽 그림에서 이미지 파일을 디스크에 쓰기를 선택한다.

이미지 파일 굽기 설정 화면 1.

위 그림의 오른쪽에 상황 표시는 디스크가 없음을 나타낸다.

 이미지 파일 굽기 설정 화면 2. 공디스크를 DVD 드라이브에 넣은 화면. Size: 4,700,372,992 bytes 라는 부분에서 DVD 미디어임을 알 수 있다. 저장 가능한 DVD 미디어(DVD±ROM, DVD±RW 등)은 컴퓨터 가게나 편의점 등에서 살 수 있다.
이 화면에서 탐색기 모양의 아이콘(1-ImgBurn-A.png)을 클릭하면 이미지 파일 열기 대화상자가 나타난다.

 왼쪽과 같은 이미지 파일 열기 대화상자에서 DVD 미디어에 저장할 이미지 파일을 찾아낸 뒤 열기를 클릭한다.

 이미지 파일 굽기 설정 화면 3. 소스 항목 부분이 바뀌어 있다.

  • 하드디스크 드라이브 아이콘(1-ImgBurn-M.png) 옆에 나타나는 것은 방금 선택한 이미지 파일의 이름인데, 끝부분이 생략되어 있다(7100.0.090421-1700_x86fre_client_en... 부분).
  • 라벨은 만들어질 디스크의 볼륨 레이블(Volume Label), Imp ID는 이미지 파일을 만든 프로그램에서 지정한 ID인데, 여기에 나타난 ID는 선택한 이미지가 윈도7 RC 7100 이미지로서 MS의 CDIMAGE(또는 OSCDIMG)로 만든 UDF 이미지 파일이라는 의미를 가진다.
  • 파일 시스템은 디스크 이미지에 적용된 파일 시스템을 가리키며, 현재 이미지는 부팅 가능하며, UDF 파일 시스템을 지원함을 알 수 있다.
  • 섹터, 크기, 시간에 대한 정보도 알 수 있다. 또한 물음표가 있는 아이콘(1-ImgBurn-D.png)을 클릭하면 좀 더 자세한 정보를 볼 수 있다.

1-ImgBurn-N.png 위 화면에서 맨 아래의 쓰기 아이콘을 클릭하면 이미지를 디스크에 저장해 준다(왼쪽 그림 참조).

 이미지 파일 굽기 화면. 왼쪽 그림과 같은 상황이 나타난다.

 이때 왼쪽 그림 부분을 클릭하여 디스크를 다 만든 뒤의 작업을 지정하고 해제할 수도 있다.

또한 전원 아이콘(1-ImgBurn-O.png)을 클릭하면 작업이 취소되므로, 꼭 필요한 경우가 아니라면 클릭하지 않기를 바란다. 괜히 공디스크 한 장 버리게 된다.

위 과정이 끝나면 확인 작업을 거치게 된다. 그때 광디스크 드라이브가 한 번 배출되었다가 다시 들어가기도 한다. 확인 작업을 마치면 이미지 파일 굽기 화면은 자동으로 닫히고, 이미지 파일 굽기 설정 화면으로 돌아가게 된다.

네로 버닝 롬/네로 스마트스타트

네로 버닝 롬(Nero Burning ROM)은 가장 널리 쓰이는 CD/DVD 제작 프로그램 가운데 하나이다. 자신의 CD/DVD 드라이브가 최신 제품이고, 자신의 윈도가 최신 버전일 때에만 최신 제품을 쓰기 바란다. 나는 아직까지도 6.6 버전을 쓰고 있으며, 여기에서 설명하는 프로그램은 네로 버닝 롬의 엔터프라이즈 에디션(Nero Enterprise Edition)이 아니라 네로 스타트스마트(Nero StartSmart)이다. 이것은 초보자 또는 간단한 설정을 좋아하는 사람을 위해 만들어진 런처 형식의 CD/DVD 저작 도구이다.

네로 스타트스마트의 첫 실행 화면

네로 스타트스마트의 첫 실행 화면

 첫 실행 화면에서 복사 및 백업 아이콘을 클릭한 뒤 디스크로 이미지 레코딩을 클릭한다.

 네로 익스프레스 화면 1. 위에서 디스크 이미지로 레코딩을 선택했을 경우 왼쪽과 같은 열기 창이 뜨게 된다. 여기에서 DVD로 구울 이미지를 선택하여 열기를 클릭하면 된다. 이때 네로 익스프레스(Nero Express)는 네로 엔터프라이즈 에디션의 간략 버전이다.

 네로 익스프레스 화면 2. 다음 단추(2-Nero-F.png)를 클릭한다.

화면 하단에 보이는 단추는 차례대로 도움말(2-Nero-B.png), 네로 엔터프라이즈 에디션 단추(2-Nero-C.png), 기타 환경설정 단추(2-Nero-D.png), 뒤로 단추(2-Nero-E.png) 등이 있다.

 네로 익스프레스 화면 3. 디스크에 기록한다. 이때 정지 단추(2-Nero-G.png)를 누르면 작업이 취소된다. 역시 꼭 필요한 경우가 아니라면 클릭하지 않도록 한다.

 디스크에 기록하는 작업이 끝났을 때는 이와 같이 알려준다.

 네로 익스프레스 화면 4. 다음 단추를 클릭한다.

 네로 익스프레스 화면 5. 끝내기 단추(2-Nero-H.png)를 클릭하면, 네로 익스프레스가 종료되어, 네로 스타트스마트 화면으로 돌아간다.

이응

이응은 CD/DVD 굽기와 가상 드라이브를 결합한 제품으로 알콜 120%와 비슷하다. 여기에서 실행화면만 소개하고, 사용법은 알려주지 않는다. 이응에서 이미지 굽는 법은 이응의 홈페이지를 참고하면 된다.

이응의 등록 화면

이응의 등록 화면

이응을 실행하면 개인 버전인지 데모 버전인지를 선택하게 된다. 위의 화면은 개인 버전 사용을 선택하였을 경우에 나타나는 화면이다. 개인 버전은 약간의 기능 제한이 있다.

이응의 실행 화면

이응의 실행 화면

사용법은 홈페이지를 참고하기 바랍니다.

가상 CD/DVD 프로그램 사용

가상 디스크 프로그램을 사용하여 UDF 이미지의 내용을 확인할 수도 있다. 앞서 소개한 이응(v3.x), 시디스페이스(v6), 데몬 툴스(DAEMON Tools) 등을 사용할 수 있다.

이응의 최신버전에서는 UDF 이미지를 잘 읽어 들일 수 있으니 홈페이지의 사용방법을 참고하기 바랍니다. 시디스페이스는 버전6을 구할 수 없어서[각주:2] 시험하지 않았다.

결국 여기에서 사용한 프로그램은 데몬 툴스 v4.30.4이다.

DAEMON Tools를 처음 실행한 화면

DAEMON Tools를 처음 실행한 화면

패널만 따로 보면 다음과 같다.

맨 오른쪽에 있는 아이콘(4-Daemon-A.png)을 클릭하면 패널이 사라진다. 하지만 패널이 보이면 여러 모로 편하다. 오른쪽 아래에 있는 트레이에서 데몬 툴스 아이콘(4-Daemon-B.png)을 마우스 오른쪽 클릭하여 언제라도 다시 나타나게 할 수 있다.

 위에서 장치 0: [ G: ]  미디어 없음 부분을 두번클릭하면 이미지 파일 선택 대화상자가 나타난다. 이미지를 선택하고 열기를 클릭한다.

패널이 아래와 같이 바뀐다. 이제 G 드라이브에 들어가 내용을 확인하면 된다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 하지만 압축 푸는 과정과 ISO/UDF 파일을 푸는 과정이 동일하므로 사실상 압축 해제 방법의 설명이라고 해도 되겠다. [본문으로]
  2. 내가 가진 버전은 시디스페이스 버전5 라서 ISO/UDF 이미지를 제대로 인식하지 못했다. [본문으로]
Trackback 0 Comment 0

중복 파일 제거하여 용량을 줄이자

팁텍

처음 올리는 팁이다. 그런데 처음부터 황당한 팁이다. 또한 전혀 효과가 없을 수도 있다. 왜? 압축이지만 압축이 아니기 때문이다. 다만 이 팁을 잘 쓰면 확실히 용량을 줄일 수 있다.

  • 참고 : 이 글에서 다루는 비주얼 스튜디오 익스프레스(Visual Studio Express)의 최신 버전은 Visual Studio 2008 Express 이며, 마이크로소프트 MSDN 홈페이지에서 무료로 구할 수 있다. 이 비주얼 스튜디오 익스프레스는 비주얼 스튜디오의 축약 버전이라서 기능에 제한이 있고, 상업용 프로그램 제작에도 제약을 가지고 있다. 하지만 당장 쓸 만한 프로그래밍 툴 및 프로그래밍 통합 환경(IDE)을 구할 수 없다면, 이것도 좋은 대안이 될 수 있다.

팁의 발견

오랜만에 비주얼 스튜디오 2005 익스프레스(Visual Studio 2005 Express)를 설치하려고 하드디스크에 잠들어 있던 iso 파일을 뒤졌다. 그런데 막상 이미지를 살펴보니 너무 중복 파일이 많았다. 일단 하위 폴더인 WCU를 옮겨 보니~ 아뿔싸! 먼저 설치하지 않는 한 옮기게 되면 설치 도중 오류가 발생한다. ㅡㅡ; 쳇!

이 경우 이미지 안에 있는 WCU 폴더에서 먼저 설치한 뒤에 본 프로그램을 설치하면 되지만, 폴더를 옮긴 뒤에 항상 기억할 수 있다는 보장이 없었다.

또한 비슷비슷한 이미지가 모두 다섯 개였다. VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso. 참고로 비주얼 스튜디오 익스프레스는 무료이며. ^^a 이미지 파일 내부 경로의 구조는 위와 같다(이때 VB 폴더는 없지만, 압축을 풀었을 때는 저와 같이 된다.). 이때 WCU 폴더가 다른 이미지 파일에도 거의 똑같이 존재한다.

이때 생각난 것이 바로 마이크로소프트에서 배포하는 oscdimg 프로그램이다. 이 프로그램은 마이크로소프트에서 CD 이미지를 만들 수 있게 제공하는 프로그램이다. 최신 버전은 2.54로 알려져 있다. 주로 쓰이는 버전은 oscdimg의 바로 앞 버전인 CDIMAGE v2.47이다. CDIMAGE v2.47 다음 버전이 oscdimg인데, 기능이 많이 줄어들었다. 그러다가 2.54 버전에서는 CDIMAGE에서 지원하던 기능을 모두 지원하도록 바뀌었다.

설명서는 마이크로소프트 테크넷에서 구할 수 있으며,( http://technet.microsoft.com/ko-kr/library/cc749036.aspx ) oscdimg v2.54용이다.

프로그램 설명

oscdimg의 기본 사용법은 다음과 같다.

OSCDIMG [선택사항] 작업대상(원본) 만들파일

실제로 적용하면 다음과 같다.

OSCDIMG -L볼륨명 -H -M -X -O -N "작업대상(원본)" "만들파일.ISO"

사용자가 지정해야 하는 부분은 굵은 글씨로 하겠다.

처음부터 차례대로 설명하자면 다음과 같다. 선택사항 -L과 -X를 제외한 나머지는 반드시 지정해야 한다. -X는 반드시는 아니지만 대부분의 압축파일이 지원하고 있으므로 지정하는 편이 낫다.

  • -L : 볼륨 레이블을 지정합니다. l과 labelname 사이에 공백을 넣지 않습니다. 예: -lMYLABEL

  • -H : 숨김 속성을 가진 디렉터리와 파일을 포함합니다.

  • -M : 이미지의 최대 크기 제한을 무시합니다. 곧 이미지의 크기가 681,984,000바이트보다 크더라도 무시하고 진행합니다.

  • -X : 이미지의 AutoCRC 값을 계산하고 인코딩합니다.

  • -O : MD5 해시 알고리즘으로 파일을 비교해 중복 파일을 한 번만 인코딩하여 저장소를 최적화합니다.

  • -N : (도스의 8.3 이름보다) 긴 파일 이름을 사용합니다.

매개변수 가운데 원본폴더와 만들파일 이름은 만약에 대비하여 위와 같이 따옴표로 묶는 편이 낫다.

적용

이 팁을 생각하게 된 원인은 의외로 단순했다. 이 기술은 수많은 WOW CD에 담긴 파일을 처리하는 방법이다. 그것을 자주 보았지만, 전혀 느끼지 못했다.

그러다가 Visual.Studio.2005.Express.Edition.en.iso (651,726,848 바이트)라는 파일을 보게 되었다. 분명 한국어판에는 저런 CD를 지원하지 않는데, 영어판에는 지원이 되고 있었고, 어떤 이유에서인지 인터넷에 풀려 있었다. 물론 저기에 담긴 파일은 모두 무료 버전으로 비주얼 스튜디오 2005보다 기능의 제약이 많다. 내가 앞서 예를 든 .ISO 파일은 대부분 한글판으로 저렇게 전체를 묶은 CD 이미지를 구할 수 없었다.

아무튼 저런 CD가 나에게 있었으면 좋겠다고 생각하고, 압축을 풀었는데 용량이 2,369,667,072 바이트로 처음보다 3.5배로 늘어나 버렸다. 그것을 본 그때 "이 방법"도 저장 용량을 줄이는 좋은 방법이라는 생각이 머릿속을 스치고 지나갔다.

이 방법은 중복 파일이 많으면 많을수록 효과가 좋다. oscdimg 프로그램은 압축을 해 주는 프로그램이 아니라, 단순히 파일을 묶어서 CD 마스터링 이미지를 만들어주는 프로그램일 뿐이기 때문이다.

  • 참고 : 이때 이런 유틸을 패키징 유틸리티라고 부르는데, 도스와 윈도에서는 대부분의 압축 프로그램이 패키징 기능을 제공하고 있다. 그러나 유닉스 계열에서는 압축 프로그램과 패키징 프로그램이 따로 나뉜 경우가 많다. 대표적인 경우가 바로 tar, deb, rpm 등이다. 특히 tar는 압축 없이 파일을 그냥 묶어만 주는 특이한 프로그램으로, 초기 유닉스에서부터 현존하는 여러 유닉스와 리눅스 등에서도 널리 쓰이는 유틸리티이기도 하다. 유닉스에서는 강력한 파이프라인 기능을 바탕으로 패키징 기능과 압축 기능을 나누어서 사용할 수 있다. 그러나 도스에서는 파이프라인이 64킬로바이트 한계를 지녔기 때문에 파이프라인을 이용하여 크기가 큰 파일이나 파일 수가 많은 디렉터리를 다룰 수 없었다. 결국 압축 파일이 패키징 기능도 갖추어야만 했다. 이런 이유로 이 글에서는 패키징 기능도 압축이라고 설명하겠다.

압축 풀기

우선 Visual.Studio.2005.Express.Edition.en.iso 파일과 VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso 파일들을 자신이 만든 임시 폴더에 압축을 풀어 놓자. 편의상 Visual.Studio.2005.Express.Edition.en.iso 파일의 압축을 풀어 VSEN 폴더에 집어넣고, VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso 한글판 비주얼 스튜디오 익스프레스 파일들은 각각 파일 이름대로 VB, VC, VCS, VJS, VWD라고 폴더를 만들었다.

참고로 압축을 풀기 전의 용량은 다음과 같다.

  • VB.iso : 555,814,912 바이트
    VC.iso : 587,999,232 바이트
    VCS.iso : 552,095,744 바이트
    VJS.iso : 459,505,664 바이트
    VWD.iso : 562,378,752 바이트
  • 소계 : 2,717,794,304 바이트
  • Visual.Studio.2005.Express.Edition.en.iso : 651,726,848 바이트 (2,369,667,072 바이트 내장)

그렇게 압축을 풀었더니 다음과 같은 폴더 구성을 지니게 되었다.

 

위의 두 그림은 VSKO의 하위 폴더의 수가 2개 모자라서 아래로 내려오게 수정한 것을 제외하면 동일하다. 아, 대/소문자가 다르다고? 윈도에서는 파일 이름과 폴더 이름에서 대/소문자를 쓸 수 있지만, 겉보기로만 다를 뿐 윈도에서 다룰 때는 같다고 인식하므로 문제 없다. 위에는 나타나지 않았지만, VSEN 폴더에는 SQL2005EE.EXE (56,105,688바이트) 파일이 존재했다. 이것은 SQL2005 Express Edition 파일이다. 아무튼 SQL2005 익스프레스 에디션은 내가 가지고 있지 않았기 때문에 이것을 그대로 남기기로 했다. 그밖에 VSEN 폴더에는 익스프레스 에디션 전체 설치를 위한 설치 프로그램이 있었는데, 그것도 그대로 이용하기로 했다.

복사 작업

복사 작업 1

그 뒤 한글판 비주얼스튜디오의 파일을 VSEN 폴더에서 찾아 이름이 같은 폴더끼리 복사해 넣는다. 이때 같은 이름을 가진 파일은 무조건 덮어쓰기를 하였다. 이는 파일 날짜가 한글판이 좀 더 늦었고, 날짜가 늦다는 말은 무언가 기능 추가가 있었을 수도 있기 때문이다. 거기다가 한글판이나 영문판에만 있는 파일도 있는 등의 이유로 전체 용량이 늘어나서 2,786,927,907 바이트가 되었다.

복사 작업 2

그 뒤 WCU 및 그 하위 폴더의 용량과 파일을 비교해야 한다. 폴더 비교에는 WinMerge v2.10.4.0 Unicode 버전을 이용했다. 다만 이 파일 비교 작업은 수작업으로 할 필요 없이 oscdimg 프로그램에 -O 옵션을 주어 처리하면 된다. 이 작업을 굳이 하는 이유는 가끔 하위 버전이 섞이는 때가 있기 때문이다.

각 폴더의 용량은 다음과 같다.

  • VSKO\VB\wcu - 504,992,856 바이트
  • VSKO\VC\wcu - 504,992,856 바이트
  • VSKO\VCS\wcu - 504,992,856 바이트
  • VSKO\VJS\wcu - 410,896,792 바이트 (jsharpredistcore 폴더를 제외하면, 407,100,120 바이트)
  • VSKO\VWD\wcu - 504,992,856 바이트

위에서 VJS\wcu 폴더의 크기는 폴더의 수가 하나 더 많음에도 지나치게 작았다. 이는 dotNetFramework 폴더에 언어팩 파일이 없었고, 그밖에 몇몇 파일에서 차이가 났다. 더구나 MSDN의 축약 버전인 MSDNExpress 파일에서 차이가 심하게 났다.

  • VSKO\VB\wcu\MSDNExpress - 319,828,160 바이트
  • VSKO\VJS\wcu\MSDNExpress - 234,788,544 바이트

나머지 폴더도 확인해 보니 일부 파일 날짜가 다르기는 했다. 결국 VJS 폴더를 제외하면 모두 같은 파일이었다. 또한 VJS 폴더의 MSDNExpress 폴더는 영문판의 것과 같았다는 데에도 덮어쓰는 이유가 있었다.

이와 같은 결과를 바탕으로 VSKO\VB\wcu 폴더의 파일을 VSKO\VJS\wcu 폴더에 복사하여 덮어쓰기로 했다. 복사 전 용량은 2.59GB (2,786,927,907 바이트 )로 표시되었고, 복사 후 용량은 2.68GB (2,884,820,643 바이트)로 표시되었다.

주의 : 이 수작업 복사는 매우 위험하다. 이번 작업에서는 확실히 영문판과 한국어판의 차이를 알고 있었기 때문에 복사해 넣어도 무리가 없었다. 그러나 일반적으로 이렇게 작업하면 나중에 설치 작업이 제대로 이루어지지 않을 수도 있다. 그러므로 확실히 알지 못한다면 이 "복사 작업 2"는 하지 않기를 바란다.

압축 작업

그 뒤 명령줄에서 다음과 같이 입력하여 폴더를 ISO 파일로 바꾸었다. 이때 작업할 대상은 F:\Temp\VSKO 폴더이고, 만들 파일은 F:\Temp\VS2005EK.ISO 파일이다.

OSCDIMG -LVS2005KO -H -M -X -O -N "F:\Temp\VSKO" "F:\Temp\VS2005EK.ISO"

참고로 복사 작업 2를 하지 않고 작업하면 1.02GB (1,096,298,496 바이트)로 표시되며, 복사 작업 2를 하고 작업하면 783MB (821,385,216 바이트)로 표시되었다. 압축 전에는 복사 작업 2를 거쳤을 때 용량이 더 컸지만, 압축한 뒤에는 오히려 복사 작업 2를 거치면 더 용량이 적어진다. 이 압축이 동일한 파일만을 대상으로 삼아 처리하기 때문이다.

이 파일을 다시 압축하면 좀 더 용량을 줄일 수 있다. 그것은 여러분의 선택의 몫이다. 또한 UltraISO 프로그램 등을 이용하면 ISO 파일 자체를 압축한 형태로 지원해 준다(그때 확장자는 .isz로 바뀐다.).

원리

이러한 파일 처리 방식도 압축 기법일까? 당연히 압축 기법이다.

압축에 대한 컴퓨터 알고리듬을 배울 때 맨 처음에 등장하는 알고리듬이 바로 반복 길이 부호화(RLE, Run-length encoding) 알고리듬이다. 예를 들면 다음과 같다.

원문 : FFFFFFFFAAACCCCCCCUUBBBBKXXXXXXXXXDDDDD (39바이트)
압축문 : F8A3C7U2B4K1X9D5 (16바이트)

위와 같이 반복되는 문자의 길이를 수치화하여 전체 코드를 줄이는 방법이다. 곧 반복 되는 문자를 [문자 + 갯수]의 형태로 치환하여 전체 길이를 줄이려는 압축 방법이 반복 길이 부호화 방법의 핵심이다. 다만 간혹 오히려 길이가 늘기도 하는데, 위에서는 K의 경우가 그것에 해당한다.

그런데 oscdimg 파일이 시도하는 방법은 반복 길이 부호화 방법과 원리상 동일하나 그 구현이 조금 다르다. 반복 길이 부호화에서는 파일 내부를 대상으로 삼지만, oscdimg는 디렉터리(폴더) 내부를 내상으로 삼는다. 반복 길이 부호화에서는 파일 내부에서 같은 문자 또는 문자열을 발견하여 치환하지만, oscdimg는 디렉터리 내부에서 MD5 값이 같은 파일을 대상으로 삼는다. 이때 MD5 값은 파일이 같은지를 검증하는 방식 가운데 하나로서 그 값이 같으면 설령 파일 이름이나 만든 날짜가 다르더라도 그 내용이 같게 된다. 반대로 MD5 값이 다른 파일은 설령 파일 이름과 만든 날짜가 모두 같더라도 서로 다른 파일이다. (물론 그에 앞서 파일 크기가 같아야 한다.)

이러한 과정을 거치는 이유는 파일 내부에서는 같은 문자는 같은 비트의 배열로 나타나지만, 디렉터리에서는 파일 이름이나 파일 크기가 같음이 곧 파일 내용이 같다는 뜻은 아니라는 데에서 파일의 실제 내용이 같은지를 알아낼 방법으로써 MD5라는 방법을 사용하고 있다고 보면 된다.

아무튼 mscdimg의 방식은 파일은 그대로 두고 그 갯수를 세는 방식이 아니라, 나올 때마다 그 파일이 위치한 색인 위치를 기억시켜 처음 발견된 곳(또는 저장소에서 따로 지정된 곳)을 참조하게 만들고 있다. 반복 길이 부호화 방식이 중복되는 문자(또는 비트 배열)가 많을수록 압축률이 높아지듯이, 이 방식은 중복되는 파일이 많아지면 전체 용량이 줄어들게 된다.

이번 경우에는 VB, VC, VCS, VJS, VWD 폴더에 WCU 라는 하위 폴더가 거의 동일하게 존재했기 때문에 상당한 용량을 줄일 수 있었다. 또한 앞서 복사 작업 2를 거친 쪽이 압축 전 용량은 더 많았지만, 압축 후 용량은 저 적어진 까닭도 중복 파일이 더 많아졌기 때문이다.

다운로드

  • oscdimg 다운로드 : readme.txt 파일을 읽어보고 자신에게 맞는 프로그램을 쓰면 된다.
  • MD5 값 : 6a27dd39c64f8a8035d4d164c2f439a5
  • CRC32 값 : D57A0CE3

관련 문서

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0
prev 1 next


티스토리 툴바