web-dev-qa-db-ja.com

Mac OS Xエイリアスファイルが非常に大きいのはなぜですか?

Mac OS Xでは、アプリケーションフォルダに2つのエイリアスがあり、それぞれが別のフォルダを指しています。それぞれ1MBです。なぜそんなに大きいのですか?

はい、エイリアスファイルは大きくなる可能性があるとインターネット上の他の情報源が言っているのを見つけましたが、その理由は説明されていません。ターゲットファイルが移動した場合にそれを見つけるために多くの冗長な情報を格納していても、メガバイト全体が必要になる理由は想像できません。

7
benzado

まず第一に、1 MBが正しいかどうか疑問に思います。本当、FinderのShow Infoはこれを教えてくれますが、ターミナルではファイルサイズは常にその半分です。奇妙な。

サイズは埋め込みアイコンによるものです。アプリケーションのエイリアス(より正確には、アプリケーションbundle)は、プレーンフォルダーのエイリアスよりもはるかに小さい場合があることに注意してください。したがって、プレーンフォルダは、たとえばiTunesよりも高解像度のアイコンを使用していると思います。実際、ソースの アイコンを変更 の場合、エイリアスのアイコンは変更されません。

ターミナルでは、次のように表示されます。

 ls -l @ 
 
 drwxr-xr-x 2arjanスタッフ68Nov 14 09:20 MyFolder 
-rw-r--r- @ 1 arjanスタッフ519012Nov 14 09:20MyFolderエイリアス
 com.Apple.FinderInfo 32 
 com.Apple.ResourceFork 518659 
 
 drwxr-xr-x 2arjanスタッフ68 Nov 14 09:26 MyOtherFolder 
[email protected] 1 arjan staff 519040 Nov 14 09:26MyOtherFolderエイリアス
 com.Apple.FinderInfo 32 
 com .Apple.ResourceFork 518679 

つまり、ファイル名の各文字の「リソースフォーク」にさらに4バイトあり、ファイルシステムでは少しパディングされます。同じリソースフォークにもアイコンが含まれています。 Apple Developer Toolsがインストールされている場合:

 DeRez "MyFolderエイリアス"> MyFolderAlias.txt 

そのテキストファイルには、アイコンを表す32,000行を超えるテキストが表示されます。

(Ars Technica HFS +について も参照してください。開発者ツールがない場合は、xattr -lを使用して種類を参照できます。それらの拡張属性には何が含まれていますか。)

3
Arjan

High Sierraでは、次のように機能します。エイリアスを選択して、Finderコマンド「ShowOriginal」(command-R)を実行するだけです。これにより、エイリアスサイズが最小になります。これにより、以前は24Mbであったエイリアスが8Kbに減少しました。

0
Marc