이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

1. CRC

CRC32 스위치는 디스크 및 파티션, 이미지의 파일 목록을 만들고 확인하는 것을 담당하는 스위치입니다. 일반적으로 그렇게 자주 또는 중요하게 사용되는 스위치는 아니기 때문에 CRC32 스위치라면 조금은 생소할 수도 있습니다. CRC32 스위치는 자주 사용되는 스위치도 아니며 사용하는 방법도 그리 어렵지 않으니 간단하게 알아보고 가도록 하겠습니다. ^^

먼저 CRC 에 대해서 알 필요가 있는데 CRC 란 Cyclic Redundancy Checking 이란 뜻으로써 우리 말로 하면 순환 덧붙임 검사 또는 순환 중복 검사 정도로 해석할 수 있습니다. CRC 는 네트워크 상에서 데이터가 전송될 때 전송된 데이터의 오류 여부를 검사하는 한 가지 방법으로써 데이터가 전송될 때 송신측에서 전송될 데이터 블록에 다항식을 적용하여 그 결과를 덧붙여 전송하고 수신측에서는 전송 받은 데이터에 동일한 다항식을 적용하여 그 결과를 송신측에서 보내온 데이터와 비교하여 오류를 검출하는 방식입니다. 비교 결과가 일치한다면 데이터 전송이 올바로 완료된 것이고 불일치 한다면 데이터에 오류가 있는 것이기 때문에 송신측에 다시 데이터를 보내 달라고 요청하게 됩니다.

자세한 내용은 순환 중복 검사 - 위키백과 를 참고하시길 바랍니다.

고스트의 CRC32 스위치 또한 마찬가지로 디스크 및 파티션, 이미지 파일을 통해 이러한 CRC 정보를 저장해놓고 (Ghost.crc) 추후에 해당 원본의 CRC 정보와 저장된 CRC 정보의 비교를 통해 파일들을 확인하는 것 입니다. CRC 에는 16비트 방식과 32비트 등 다양한 방식이 존재하는데 고스트에서는 CRC32 의 이름에서 알 수 있듯이 32비트 방식입니다.


고스트의 CRC 검사는 FAT 파티션에서는 파일 단위로 작동되고, NTFS 파티션에서는 이미지 파일 내에서 각각의 MFT 테이블 단위로 CRC 검사가 수행됩니다. 이 말은 FAT 파티션에 CRC32 스위치를 이용하여 CRC 값을 생성하면 파티션에 존재하는 모든 파일마다 각각의 CRC 값을 부여하여 파일마다 체크를 하게 되지만 NTFS 파티션에서는 단 하나의 CRC 값만 생성되어 이미지 파일 자체만 체크할 수 있다는 뜻 입니다.




2. CRC32 스위치의 구문 및 형식

다음의 표는 CRC32 스위치의 구문 및 설명입니다.




-CRC32,ACTION={create | verify | pcreate | pverify | dcreate | dverify},SRC={{Disk} | {Partition} | {File}},CRCFILE={File} | {Partition},VLIST={File},VEXCEPT={File}
-CRC32 CRC32 스위치를 시작합니다.
ACTION
create 디스크에서 ASCII CRC32 파일을 만듭니다.
verify CRC32 파일을 통해 디스크를 확인합니다.
pcreate 파티션에서 ASCII CRC32 파일을 만듭니다.
pverify ASCII CRC32 파일을 통해 파티션을 확인합니다.
dcreate 이미지 파일에서 ASCII CRC32 파일을 만듭니다.
dverify ASCII CRC32 파일을 통해 이미지 파일을 확인합니다.
SRC CRC 생성 및 확인 작업이 진행될 원본을 지정합니다.
CRCFILE 생성할 ASCII CRC32 파일을 지정합니다. (기본값 = Ghost.crc)
VLIST 확인 목록 파일을 지정합니다. (기본값 = Ghost.ls)
VEXCEPT 확인 제외 파일을 지정합니다.



CRC32 스위치에서 필수 매개 변수는 ACTIONSRC 입니다. CRC32 의 ACTION 은 CLONE 의 MODE 와 동일한 역할을 한다고 생각하시면 됩니다. 마찬 가지로 SRC 또한 CLONE 에서와 하등 다를 것이 없습니다. 그리고 CRCFILE 과 VLIST 매개 변수는 굳이 지정해 주지 않아도 되며 기본값이 아닌 특별히 다른 이름으로 지정해 주고자 할 때 사용하시면 됩니다. VEXCEPT 는 CRC 체크를 하지 않을 제외 목록 파일을 지정해 줄 때 사용합니다.

CRC32 스위치를 통해 하는 작업은 크게 두 가지가 있습니다. 하나는 ASCII CRC32 파일을 생성하는 Create 작업ASCII CRC32 파일을 통해 검증하는 Verify 작업입니다. 아무 것도 붙지 않은 Create, Verify 는 디스크를 의미하며 P 가 붙으면 파티션, D 가 붙으면 이미지 파일을 의미합니다.

그 외에 크게 살펴 볼 것은 없지만 VEXCEPT 를 통해 제외 목록 파일을 작성하게 될 때에는(자주 사용되지는 않지만) 그래도 규칙을 알고 있어야 하기에 간단하게 설명을 하겠습니다. 제외 목록 파일은 메모장과 같은 텍스트 에디터를 통해 텍스트 파일로 아래와 같이 작성하면 됩니다. 아래의 예제는 고스트 유저 가이드에 기재된 예제입니다.

[ghost exclusion list]
\PERSONAL\PHONE
[partition:1]
\WINDOWS\COOKIES\*.*
\WINDOWS\HISTORY\*
\WINDOWS\RECENT\*
\WINDOWS\USER.DAT
\WINDOWS\TEMPOR~1\CACHE1\*
\WINDOWS\TEMPOR~1\CACHE2\*
\WINDOWS\TEMPOR~1\CACHE3\*
\WINDOWS\TEMPOR~1\CACHE4\*
[partition:2]
*\*.1
[end of list]



고스트의 제외 목록은 DOS 나 윈도우가 아닌 유닉스의 파일 규칙을 따릅니다. 그렇기 때문에 파일을 지정할 때에는 반드시 모든 파일을 대문자로 지정해 주어야 합니다. 그리고 유닉스의 * 와일드카드는 DOS 및 윈도우보다 강력합니다. 특히 별표는 (*) 마침표와도 (.) 일치하기 때문에 *.* 과 * 은 엄연히 다른 것을 의미합니다. *.* 은 확장자가 있는 모든 파일을 의미 하지만 * 은 확장자에 상관하지 않고 모든 파일을 의미하는 것 입니다.

[partition:x] 이전에 지정된 파일들은 모든 파티션에 있는 파일을 찾을 때 사용됩니다.

파일 및 디렉토리의 이름은 DOS 용 짧은 이름을 사용하셔야 합니다. (8.3 형식)

디렉토리에서 * 는 모든 하위 디렉토리를 검색하는데 사용됩니다. 위의 예제에서 사용된 경우를 제외하고는 디렉토리에서 * 는 사용되지 않으며 오직 파일에서만 사용됩니다.


-CRC32 스위치를 알 때 꼭 알아두어야 할 스위치가 있는데 그것은 바로 -FCR 스위치 입니다. -FCR 스위치는 -CLONE 스위치를 통해 이미지 파일을 작성할 때 이미지 생성과 동시에 CRC32 파일을 (Ghost.crc) 생성하는 스위치입니다. 즉, 따로 이미지 파일을 만든 후에 ACTION=dcreate 를 통해 CRC32 파일을 생성할 필요없이 백업과 동시에 CRC32 파일을 생성하는 스위치입니다.




CRC32 스위치에 대한 설명은 이쯤에서 마칠까 합니다. 일반적으로 많이 사용되는 스위치가 아니기에(아예 사용해 본 적 없는 유저도 상당수 일 것 입니다.) 그리 크게 비중을 두지는 않겠습니다.

: