iso9660/Joliet+UCS-3 볼륨의 대소문자 구분 파일 이름을 보는 방법은 무엇입니까?

iso9660/Joliet+UCS-3 볼륨의 대소문자 구분 파일 이름을 보는 방법은 무엇입니까?

Wine을 통해 소프트웨어를 설치하는 데 사용하려는 ISO가 있습니다. ISO를 루프백 장치로 설치했습니다. Windows Installer는 특정 CAB 파일을 찾을 수 없다고 계속 불평하고 해당 파일을 찾도록 요청합니다. 설치 프로그램 소프트웨어에서는 내가 찾은 파일 이름에 대소문자가 혼합되어 있어야 하지만 Linux에 ISO를 설치하면 모든 디렉토리 목록에 파일이 모두 소문자로 표시됩니다. iso를 마운트할 때 이것을 설정 하면 -o check=relaxed혼합 케이스 파일을 요청할 수 있으며 Linux는 해당 파일을 "찾습니다". 하지만 디렉토리를 나열하면 여전히 모두 소문자로 표시됩니다.

나는 Windows 설치 프로그램 패키지가 디렉터리 목록을 수행하고 있거나 어떤 이유로 예상되는 파일 이름의 모두 소문자 버전을 가져오고 있다고 추측합니다.

나는 앞으로 몇 가지 경로가 있다고 생각합니다.

  1. Linux에서 Joliet 확장자로 인코딩된 대소문자 혼합 파일 이름을 표시하도록 설정
  2. 원본 사례를 보존하는 방식으로 ISO를 기본 Linux 파일 시스템으로 추출합니다.
  3. Windows 복사본을 찾아 이를 사용하여 Linux에서도 읽을 수 있고 대소문자를 구분하는 Windows 기본 파일 시스템(NTFS)에 파일을 복사합니다.
  4. 와인과 관련된 것.

몇 가지 예시 명령은 다음과 같습니다.

% isoinfo -d -i example.iso
...
Joliet with UCS level 3 found
NO Rock Ridge present

% # When using isoinfo, filenames are all caps
% isoinfo -f -i example.iso
DIRNAME/DIRNAME/LONG_FILE_NAME.CAB

% # When using ls, filenames are all lowercase
% ls /mnt/iso/dirname/dirname
long_file_name.cab

답변1

기본 이름 대신 이름을 먼저 isoinfo -Jls -i cdrom.iso나열 할 수 있지만 이렇게 하면 읽기 어려운 출력이 생성됩니다.JolietISO-9660

isoinfo -Jfls -i cdrom.iso를 사용하면 더 일반적으로 사용되는 방식으로 디렉터리 트리를 표시하므로 더 읽기 쉬운 결과를 얻을 수 있습니다 .

물론 다음 명령을 사용하여 ISO 이미지에서 모든 파일을 추출할 수도 있습니다. isoinfo -J -X선택한 수의 파일을 추출하려면 를 사용할 수 있습니다 isoinfo -J -X -find -path <glob-pattern>. find자세한 내용은 매뉴얼 페이지를 참조하십시오 .

개별 파일을 추출하여 stdout사용할 수 있습니다 isoinfo -J -x pathname. 그러나 파일 시스템 이미지의 경로 이름을 올바르게 일치시켜야 합니다.

-find옵션은 2010년에 추가되었으므로 최신 버전이 필요합니다 isoinfo.

관련 정보