iso9660/Joliet+UCS-3 ボリュームの大文字と小文字を区別するファイル名を表示するには?

iso9660/Joliet+UCS-3 ボリュームの大文字と小文字を区別するファイル名を表示するには?

Wine経由でソフトウェアをインストールするために使用したいISOがあります。 ISOをループバックデバイスとしてインストールしました。 Windowsインストーラは、特定の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

おすすめ記事