nad

nad - Netatalk AppleDouble ファイルユーティリティ 一式

概要

nad [-F configfile] [--force] [ls | cp | mv | rm | mkdir | rmdir | set | find | bin | unbin | hex | unhex | sit | unsit] […]

nad [-v | --version]

説明

nad は、Netatalk ホスト上で AFP 共有ボリューム内のファイルおよびディレクトリを 操作するために使用できるファイルユーティリティ一式である。 AppleDouble データ(ファイルの拡張属性、._ ファイル、または .AppleDouble ディレクトリ内のファイルのいずれか)および CNID データベースは、共有 Netatalk ボリューム内のファイルが変更されると適切に更新される。 デフォルトでは、nad は構成された AFP ボリュームの外側のパスでの操作を拒否する。 この検証を上書きするには、--force を使用する。

nadを使用することは、Netatalk AFP ボリューム内のファイルおよびディレクトリに対するオペレーティングシステムのネイティブなファイル操作コマンドよりも好ましい。なぜなら、Mac OSのメタデータの整合性とCNIDデータベースの正確性を維持するからである。

AFP のファイルやディレクトリにアクセスするための適切な権限を持つユーザーのみが、nad を使用してそれらを操作できる。このツールは、valid users や invalid users といった afp.conf の設定の影響を受ける。

--force を使用して AFP ボリュームの外側で使用する場合、nad は、使用されるオプションに応じて、拡張属性または AppleDouble サイドカー ファイルを使用して Mac OS メタデータを保持するために最善を尽くしながら、ファイルとディレクトリを操作できる。AFP ボリュームの外側では CNID データベースの更新はスキップされる。

bin、unbin、hex、および unhex コマンドは、Netatalk メタデータ、MacBinary、および BinHex フォーマット間でファイルを変換する。これらのコマンドは、クラシック Mac アーカイブ形式と Netatalk 管理ストレージ間でファイルを移動する際に、データフォーク、リソースフォーク、および Finder メタデータを保持する。これらのファイル形式変換コマンドは、Charles Clark による megatron に基づいている。

Netatalk が with-stuffit オプションと stuffit-ffi ライブラリでビルドされている場合、sit および unsit コマンドは StuffIt アーカイブを作成および抽出する。これらのコマンドは、データフォーク、リソースフォーク、ファイルタイプおよびクリエーターコード、および Finder フラグを保持する。

オプション

-F configfile

Netatalk 設定ファイルへのフルパスとして configfile を使用する。

--force

構成された AFP ボリュームの外側のパスでの操作を許可する。AFP ボリュームの外側では、CNID データベースの更新はスキップされる。

有効なコマンド

ファイルやディレクトリをリストする。

nad ls [-adlRu] {file|directory […]}

ファイルやディレクトリをコピーする。

nad cp [-aipvf] {src_file} {dst_file}

nad cp -R [-aipvf] {src_file|src_directory …} {dst_directory}

ファイルやディレクトリを移動する。

nad mv [-finv] {src_file} {dst_file}

nad mv [-finv] {src_file|src_directory …} {dst_directory}

ファイルやディレクトリを削除する。

nad rm [-Rv] {file|directory}

ディレクトリを作成する。

nad mkdir [-pv] {directory […]}

空のディレクトリを削除する。

nad rmdir [-pv] {directory […]}

ファイルにメタデータを設定する。

nad set [-t type] [-c creator] [-l label] [-f flags] [-a attributes] {file}

ファイルやディレクトリを検索する。

nad find [-v volume_path] {name}

Netatalk メタデータ、MacBinary、および BinHex 間で変換する。

nad bin [--header] [--filename NAME] [--stdout] [--adouble] [--verbose] FILE […]

nad unbin [--header] [--filename NAME] [--adouble] [--verbose] [SOURCEFILE […]]

nad hex [--header] [--filename NAME] [--stdout] [--adouble] [--verbose] FILE […]

nad unhex [--header] [--filename NAME] [--adouble] [--verbose] [SOURCEFILE […]]

with-stuffit でビルドされた場合、StuffIt アーカイブを作成または抽出する。

nad sit [-o FILE] [--method METHOD] [--verbose] FILE|DIR [FILE|DIR …]

nad unsit [--verbose] ARCHIVE.sit [ARCHIVE.sit …]

バージョンを表示する。

nad -v | --version

nad ls

AFP ボリューム内のファイルおよびディレクトリをリストする。長い出力モードでは、AppleDouble メタデータと CNID が表示される。

オプション:

-a

名前がドット (.) で始まるディレクトリエントリも含める

-d

ディレクトリを単純なファイルとしてリストする

-l

長い出力。AFP infoをリストする

-R

サブディレクトリを再帰的にリストする

-u

UNIX infoをリストする

長い出力の説明

<unixinfo> <FinderFlags> <AFP Attributes> <Color> <Type> <Creator> <CNID from AppleDouble> <name>

FinderFlags (valid for (f)iles and/or (d)irectories):

  d = On Desktop                      (f/d)
  e = Hidden extension                (f/d)
  m = Shared (can run multiple times) (f)
  n = No INIT resources               (f)
  i = Inited                          (f/d)
  c = Custom icon                     (f/d)
  t = Stationery                      (f)
  s = Name locked                     (f/d)
  b = Bundle                          (f/d)
  v = Invisible                       (f/d)
  a = Alias file                      (f/d)

AFP Attributes:

  y = System                          (f/d)
  w = No write                        (f)
  p = Needs backup                    (f/d)
  r = No rename                       (f/d)
  l = No delete                       (f/d)
  o = No copy                         (f)

Note: any letter appearing in uppercase means the flag is set but it's a directory for which the flag is not allowed.

nad cp

AFP ボリューム内のファイルやディレクトリをコピーする。

上の概要で示した一番目の形式では、cpユーティリティはsrc_fileの内容をdst_fileへコピーする。二番目の形式では、それぞれの名前のsrc_fileの内容は配布先のdst_directoryにコピーされる。ファイル自身の名前は変更されない。ファイルを自分自身へコピーしようとしているのをcpが検出したら、コピーは失敗する。

--force が使用されない限り、コピー元とコピー先のパスは構成された AFP ボリューム内である必要がある。AFP ボリュームをターゲットとするコピーが検出されると、その CNID データベースデーモンに接続され、すべてのコピーも CNID データベースを通過する。ターゲットが AFP ボリュームの場合、AppleDouble データも必要に応じてコピーおよび作成される。

オプション:

-a

アーカイブモード。-Rp と同じ。

-f

それぞれの配布先パス名が既に存在している場合、それを削除してから新しいファイルを作成する。 パーミッションに関わらず確認プロンプトを出さない。 (-f オプションは手前の -i オプションと -n オプションを無効にする。)

-i

存在するファイルに上書きする前に、標準エラー出力にプロンプトを出す。 もし標準入力からの返答が’y’または’Y’で始まるならばファイルコピーを試みる。 (-i オプションは手前の -f オプションと -n オプションを無効にする。)

-n

存在するファイルを上書きしない。 (-n オプションは手前の -f オプションと-iオプションを無効にする。)

-p

以下に示すそれぞれのコピー元ファイルの属性を、パーミッションが許す限り維持する: 変更時刻、アクセス時刻、ファイルフラグ、ファイルモード、ユーザIDグループID。 ユーザIDとグループIDが維持されない場合、エラーメッセージは表示されず、終了コードは変更されない。

-R

もしsrc_fileでディレクトリを指定した場合、cpはそのディレクトリと全体のサブツリーをコピーする。 もしsrc_fileが「/」で終わっている場合、ディレクトリ自身ではなく中身をコピーする。

-v

コピーしたファイルを詳細に表示する。

-x

ファイルシステムのマウントポイントを横断しない。

nad mv

ファイルやディレクトリを移動する。

AFPボリューム内のファイルを移動し、必要に応じてCNIDデータベースを更新する。--force が使用されない限り、移動元と移動先のパスは構成された AFP ボリューム内である必要がある。以下のいずれかの条件が真の場合、ファイルはコピーされ、移動元から削除される。

オプション:

-f

配布先パスに上書きする前に確認プロンプトを出さない。(-f オプションは手前の -i オプションと -n オプションを無効にする。)

-i

存在するファイルに上書きする前に、標準エラー出力にプロンプトを出す。 もし標準入力からの返答が’y’または’Y’で始まるならば移動を試みる。 (-i オプションは手前の -f オプションと -n オプションを無効にする。)

-n

存在するファイルを上書きしない。 (-n オプションは手前の -f オプションと-iオプションを無効にする。)

-v

移動したファイルを詳細に表示する。

nad rm

AFP ボリューム内のファイルやディレクトリを削除する。

rm ユーティリティはコマンドラインで指定した非ディレクトリ型のファイルを削除しようと試みる。対応する CNID はボリュームのデータベースから削除され、AppleDouble メタデータも削除される。

オプションは次の通り。

-R

それぞれのファイル引数の下のファイル階層を削除しようと試みる。

-v

ファイルを削除するときに詳細を表示する。

nad mkdir

AFP ボリューム内にディレクトリを作成する。対応する CNID がボリュームのデータベースに追加され、AppleDouble メタデータが初期化される。

オプションは次の通り。

-p

必要に応じて中間ディレクトリを作成する。 中間ディレクトリまたはターゲットディレクトリがすでに存在していてもエラーとはみなさない。

-v

ディレクトリを作成するときに詳細を表示する。

nad rmdir

AFP ボリューム内の空のディレクトリを削除する。対応する CNID がボリュームのデータベースから削除され、AppleDouble メタデータも削除される。

ボリュームのルートディレクトリとその親ディレクトリは削除できない。

オプションは次の通り。

-p

各オペランドは、空であれば最後のコンポーネントから順にすべてのコンポーネントを 削除するパス名として扱われる。ボリュームのルートディレクトリやその親は削除しない。

-v

ディレクトリを削除するときに詳細を表示する。

nad set

ファイルにメタデータを設定する。

set ユーティリティは、AFP ボリューム内のファイルのメタデータを変更する。

オプションは次の通り。

-t type

ファイルの4文字コードのファイルタイプを変更する。

-c creator

ファイルの4文字コードのクリエータを変更する。

-l label

ファイルの色ラベルを変更する。使用可能な色については、以下のリストを参照。

-f flags

ファイルの Finder フラグを変更する。使用可能なフラグについては、以下のリストを参照。大文字はフラグを設定し、小文字はフラグを削除する。

-a attributes

ファイルの属性を変更する。使用可能な属性については、以下のリストを参照。大文字はフラグを設定し、小文字はフラグを削除する。

旗の説明

Color Labels:

  none | grey | green | violet | blue | yellow | red | orange

Finder Flags (valid for (f)iles and/or (d)irectories):

  d = On Desktop                      (f/d)
  e = Hidden extension                (f/d)
  m = Shared (can run multiple times) (f)
  n = No INIT resources               (f)
  i = Inited                          (f/d)
  c = Custom icon                     (f/d)
  t = Stationery                      (f)
  s = Name locked                     (f/d)
  b = Bundle                          (f/d)
  v = Invisible                       (f/d)
  a = Alias file                      (f/d)

AFP Attributes:

  y = System                          (f/d)
  w = No write                        (f)
  p = Needs backup                    (f/d)
  r = No rename                       (f/d)
  l = No delete                       (f/d)
  o = No copy                         (f)

nad find

ファイルやディレクトリを検索する。

与えられた名前と完全または部分的に一致するパスのリストを返す。AFP ボリューム内では、CNID データベースが検索される。AFP ボリューム外で --force を使用すると、選択されたパスからファイルシステムが横断される。

オプション:

-v path

現在の作業ディレクトリの代わりに、共有ボリュームへのパスを使用して検索する。 --force を AFP ボリューム外で使用する場合、パスをファイルシステムの横断ルートとして使用する。

nad bin, unbin, hex, unhex

MacBinary および BinHex をエンコードおよびデコードし、Mac OS メタデータ(リソースフォークおよび FinderInfo)を Netatalk で使用されるメタデータ形式で読み取りおよび保存する。AFP ボリューム内では、構成された Netatalk ボリュームのメタデータ形式が使用され、CNID メタデータが更新される。

コマンドは afp.conf を読み取り、関連する各パスを構成された AFP ボリュームに解決し、パスが AFP ボリューム内にある場合はそのボリュームのメタデータ形式を使用する。AppleDouble v2 ボリューム(ea = ad)は AppleDouble サイドカーファイルを使用する。拡張属性ボリューム(ea = sys)は Netatalk の EA/sys-xattr メタデータパスを使用する。

AFP ボリューム外で --force を使用して操作する場合、nad はデフォルトでファイルシステムの EA メタデータを使用し、CNID データベースの更新を黙ってスキップする。代わりに AFP ボリューム外で AppleDouble サイドカーメタデータを使用するには、--adouble を使用する。

出力ファイルに使用されるファイル名は、--filename が指定されない限り、ソースファイルにエンコードされたファイル名である。MacBinary 出力ファイルは .bin 拡張子で作成される。BinHex 出力ファイルは .hqx 拡張子で作成される。

コマンド:

bin

Netatalk メタデータ、データフォーク、およびリソースフォークを MacBinary (.bin) に変換する。

unbin

MacBinary (.bin) 入力を現在の AFP ボリュームのメタデータ形式、または AFP ボリューム外のファイルシステム EA メタデータに変換する。

hex

Netatalk メタデータ、データフォーク、およびリソースフォークを BinHex (.hqx) に変換する。

unhex

BinHex (.hqx) 入力を現在の AFP ボリュームのメタデータ形式、または AFP ボリューム外のファイルシステム EA メタデータに変換する。

オプション:

--header

変換を実行する代わりに、選択した入力形式のヘッダー情報を印刷する。bin および hex の場合、これは Netatalk メタデータを印刷する。unbin および unhex の場合、これはアーカイブヘッダーを印刷する。

--filename NAME

変換されたファイルヘッダーで、ソースファイルにエンコードされた名前の代わりに NAME を使用する。適切なファイル拡張子は、出力ファイルに追加される。

--stdout

生成された MacBinary または BinHex データを標準出力に書き込む。

--adouble

AFP ボリューム外で、ファイルシステムの EA メタデータの代わりに AppleDouble サイドカーメタデータを書き込む。 構成された AFP ボリュームは引き続き afp.conf のメタデータ形式を使用する。

--verbose

診断変換の詳細を印刷する。このオプションがない場合、通常の変換はエラーが発生しない限り無音である。

-h, --help

アーカイブコマンドのヘルプを表示して終了する

SOURCEFILE が指定されていない場合、または SOURCEFILE が ‘-’ の場合、unbin および unhex は標準入力からアーカイブデータを読み取る。オプションは位置引数 FILE の前に表示する必要がある。

nad sit, unsit

Mac OS のデータフォーク、リソースフォーク、Finder タイプおよびクリエータコード、Finder フラグを保持しながら StuffIt (.sit) アーカイブを作成および抽出する。これらのコマンドは、Netatalk が -Dwith-stuffit=true で構成され、stuffit-ffi ライブラリがインストールされている場合にのみ使用できる。

sit は1つ以上のファイルまたはディレクトリを受け入れる。 ディレクトリは再帰的にアーカイブされる。入力が1つで明示的な出力パスがない場合、 アーカイブは入力パスに .sit を追加して名前が付けられる。複数の入力には -o が必要である。

unsit は1つ以上のアーカイブを受け入れ、現在のディレクトリの下にそのエントリを抽出する。 既存のファイルは上書きされない。絶対パス、トラバーサルコンポーネントを含む、 またはその他の安全でないアーカイブエントリパスは拒否される。

オプション:

-o, --output FILE

sit で作られたアーカイブを FILE に書き込む。 このオプションは入力パスを2以上提供された場合に必須。

--method METHOD

sit は使う StuffIt の圧縮計算式を選択する。 サポートされた計算式は 0(圧縮なし)、13、14(deflate)または 15 になる。 デフォルトは 13。

--verbose

アーカイブ変換診断の詳細を表示する。

-h, --help

StuffIt コマンドのヘルプを表示して終了する

例

共有AFPボリューム内のファイルをリストする:

$ nad ls -al /srv/afpshare
---Nic-s--- ------ --- ---- ----           2   .
----------- ------ --- ---- ----           1   ..
----i---b-- ------ --- APPL SBMC          40   AppleShare IP Browser
---------v- ------ --- ---- ----          36   Network Trash Folder
-------s-v- ------ --- ---- ----          35   TheVolumeSettingsFolder
----ic-s--- ------ gre PNGf GKON          39   picture 1.png
----ic----- ------ --- PNGf GKON          41   picture 2.png
----ic----- ------ --- PNGf GKON          42   picture 3.png

凡例:

共有 AFP ボリューム /srv/afpshare 内で名前に「Report」を含むファイルを検索する:

$ nad find -v /srv/afpshare Report
/srv/afpshare/Documents/2025/Report January 2025.doc
/srv/afpshare/Documents/2024/Report December 2024.doc
/srv/afpshare/Documents/Report Template.doc

ファイルを MacBinary に変換する:

nad bin /srv/afpshare/picture

ファイルを BinHex に変換する:

nad hex /srv/afpshare/picture

MacBinary 入力をファイルシステム拡張属性メタデータに変換し、AFPボリューム外に保存する:

nad --force unbin /tmp/picture.bin

BinHex 入力を現AFPボリュームメタデータ形式に変換する:

nad unhex file.hqx

ディレクトリから StuffIt アーカイブを作成する:

nad sit Documents

複数の入力から1つの StuffIt アーカイブを作成する:

nad sit -o Pictures.sit "Picture 1" "Picture 2"

StuffItアーカイブを現在のディレクトリに展開する:

nad unsit Pictures.sit

MacBinary ヘッダーを検査する:

$ nad unbin --header MacTCP_Ping_2.0.2.sea_.bin
name:               MacTCP Ping 2.0.2.sea
comment:
creator:            'aust'
type:               'APPL'
fork length[0]:     24419
fork length[1]:     18774
creation date:      Wed May 17 19:41:57 1995
modification date:  Wed May 17 19:41:58 1995
backup date:        (not set)

参照

dbd(1), addump(1)

著者

CONTRIBUTORS を参照