ISO를 생성하고 특정 파일을 숨기는 방법

ISO를 생성하고 특정 파일을 숨기는 방법

ISO 이미지에 몇 개의 파일을 숨겨서 실행 파일의 ISO 이미지를 생성하려고 합니다. 왜냐하면 사용자가 PC(Windows)에서 열 때 다른 디렉터리가 아닌 EXE만 볼 수 있기를 원하기 때문입니다. 대상 ENV 사용자가 애플리케이션을 시작합니다.

답변1

일련의 디렉터리를 ISO 파일로 병합하려면 다음 명령을 사용하면 됩니다.

% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
       -graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"

위의 명령 스위치는 다음과 같습니다.

-o = name of output .iso file
-r = set permissions to 0
-J = output's ISO using Joliet format (useful for Windows users of the final ISO)
-V = Volume ID

-hide-rr-moved = hides the directory RR_MOVED to .rr_moved
-graft-points = specifies names of locations in ISO and what goes into 
                them from local system

숨겨진 파일

위의 내용을 수정하고 스위치를 추가할 수 있다고 생각합니다 -hide-joliet <pattern>. 예를 들어 다음과 같이 필터링됩니다 <pattern>.

% mkisofs -o ~/my_iso.iso -r -J -hide-rr-moved -V "Title of ISO" \
       -hide-joliet *files_to_ignore* \
       -graft-points "Directory1/=/home/me/dir1" "Directory2/=/home/me/dir2"

노트: --hidden파일을 "숨기는" 데에도 사용할 수 있습니다. 그러나 두 교대조는 모두 잘못된 이름입니다. 파일은 여전히 ​​디스크에 존재하며 관리자 권한이 있는 사람은 누구나 디스크에서 해당 파일을 볼 수 있습니다. ISO 파일 시스템에는 파일이 숨겨져 있는지 여부를 기록하는 속성 집합이 있습니다. 이 숨겨진 도구는 MS-DOS 및 Windows 명령에만 적용됩니다!

NTFS 속성

OP에는 H(숨김) 및 S(시스템 파일)와 같은 NTFS 파일 시스템 속성에 대한 몇 가지 질문이 있습니다.

다음을 포함한 속성:

  • H——숨기기
  • S-시스템
  • 등.

...NTFS의 일부인 파일 시스템 특성입니다(파일 자체의 일부가 아님). Joliet/UDF는 이러한 속성을 직접 지원하지 않습니다. 나는 NTFS 속성이 ISO의 UDF/Joliet 파일 시스템에 적용된다고 생각합니다(이 경우 숨김만 지원됨).

답변2

이미지를 생성하는 데 사용하는 소프트웨어에 따라 다릅니다. mkisofs숨겨진 파일과 관련된 몇 가지 옵션이 있지만 필요한 것은 다음과 같습니다 -hidden.

  -hidden glob
          Add the hidden (existence) ISO-9660 directory attribute for glob.  This attribute will prevent glob from
          being  listed  on  DOS  based systems if the /A flag is not used for the listing.  glob is a shell wild-
          card-style pattern that must match any part of the filename or path.  In  order  to  match  a  directory
          name, make sure the pathname does not include a trailing '/' character.  Multiple globs may be hidden.

다소 난해한 기능이므로 사용한다면 아마도 그래픽 프런트엔드를 통해 사용할 수 없을 것입니다.

관련 정보