Netatalk

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内, 検索
Netatalk
開発元 Netatalk Team
最新版 2.2.2(2012年1月16日
対応OS POSIX準拠 *NIX/*BSDシステム
FreeBSD
NetBSD
OpenBSD
Linux
Solaris
OpenSolaris
Tru64 UNIX
種別 リモートアクセス
ライセンス GPL
公式サイト http://netatalk.sourceforge.net/
テンプレートを表示

netatalkUnix系OS上でMac OSMac OS Xに対してAFPによるファイルサーバの機能を提供するオープンソースのソフトウェアである。

また、AppleTalkも実装し、これによるファイルサーバ、プリンタサーバ等の機能も提供する。

目次

[編集] 概要

MacのローカルファイルシステムであるHFSHFS+は、リソースフォークFinder情報といったメタデータをもつ。更に最近のMac OS Xでは拡張属性 (EA)も扱う。netatalkは、こうしたApple独自のメタデータを完全に保存することを目的として設計されたファイルサーバソフトウェアである。

リソースフォークやFinder情報等はAppleDoubleフォーマットで保存する。拡張属性はサーバ側のファイルシステムにそのまま拡張属性として保存するか、別ファイルで保存する。

また、バックアップソフトウェアであるTime Machineの保存先として利用することもできる。

[編集] AppleTalk機能

かつてのMac OSとバージョン10.5迄のMac OS Xは、AppleTalkと呼ばれる独自のネットワークプロトコルを実装していた。netatalkはこのAppleTalkも扱うことができる。

AppleTalkの最も基本的なプロトコルであるDDPとAARPはカーネルが受け持ち、それより上のプロトコルをnetatalkが扱う仕組みである。従ってカーネルがDDPとAARPをサポートしない場合はAppleTalkが使えない。

AppleTalkの基本的な機能を有効にするためには、まずatalkdを起動する。

afpdはファイル共有プロトコルAFPのためのデーモンであり、単体でAFP over TCPを実現するが、上記atalkdを起動しておけばAFP over AppleTalkも実現できる。これは極めて古いMacに対してファイル共有できることを意味する。

印刷用のプロトコルPAPを実装するデーモンとしてpapdが付属する。これはCommon Unix Printing System (CUPS)もサポートしており、クライアントからAppleTalkプリンタとしてnetatalkを選べば、様々なプリンタに印刷することができる。

時間合わせのためのtimelordデーモンは、Columbia AppleTalk Package (CAP)のソースからのリバースエンジニアリングによって作られたものである。ただし現在のMacはNTPが利用出来るのでtimelordは使われない。

Apple IIブートサーバの機能ももつが、Mac OSやMac OS Xのブートサーバになるわけではない。

Mac OS XはAppleTalkの機能を徐々に縮小しTCP/IPに移行した。Mac OS X v10.6にはAppleTalkサポートがなくなった。こうした経緯からファイル共有のためのAFP over TCPの機能のみが広く使われている。つまりカーネルがAppleTalk非サポートでも何ら不都合がない。

[編集] netatalkの発音

netatalkがミシガン大学にて開発されていた頃に書かれたFAQには発音の記述があった[1]。これによると「'ned-*-to.k」と発音する。すなわち、最初のtは弱くdのように発音し、最初のaは曖昧母音である。「ta」が弱い「ドゥ」となり聞こえなくなることから、カタカナ表記を「ネットーク」とするページが多い。

しかしながら実際には、英語でも日本語でも様々な読み方がある。開発がSourceForgeに移行してからは、発音に関する記述は全くない。

[編集] 利用例

Unix系OS、すなわちLinuxディストリビューションBSD系OS等の多くは、netatalkのパッケージを提供している。

NAS製品はUnix系OSを採用してるものが多く、NFSSMB (CIFS)、AFP等をサポートするが、このうちAFPに関してはnetatalkを利用するケースが多い[2]

iPod touchiPhoneiPadApple TVといったiOSを用いた製品では、Apple社の認可を受けていないアプリケーションをインストールするjailbreakと呼ばれる行為が行なわれており、これのひとつとしてnetatalkが配布されている。

[編集] 歴史

netatalkは元々ミシガン大学のResearch Systems Unix Groupによって開発された。 かつてのMac OSは、TCP/IPとは異なるAppleTalkと呼ばれる独自のネットワークプロトコル群を用いていた。このAppleTalkをUNIXで実装し、Mac OSのサーバとして機能させるソフトウェアとして誕生した。

同様の機能を持つソフトウェアとして、かつてはCAPがあったが、開発停止となったためnetatalkが広く利用されるようになった。

その後、Adrian SunのパッチによってAFP over TCPが実装され、2000年SourceForgeに移行した。

netatalk 1.6では、Mac OS Xからのアクセス時にデータが破壊される問題を克服した。

2004年10月リリースのnetatalk 2.0はAFP 3.1をサポートし、Unicodeファイル名(俗にいう長いファイル名)、2GiB以上のファイルサイズ、CUPSの統合、シングルサインオンKerberos V等を実装した。バージョン2.0.4では旧Mac OSからのアクセス時のCJKファイル名に対応した。2.0.5ではTime Machineに対応した。

2010年4月リリースのnetatalk 2.1はAFP 3.2をサポートし、拡張属性サポート、Solaris及びOpenSolaris上のZFSでのACLサポート等を追加した。また、IPv6にも対応した。

2011年7月リリースのnetatalk 2.2はAFP 3.3をサポートし、OS X LionからTime Machineによるバックアップができない問題を克服した。また、Avahiを用いることでBonjourに対応した。Solaris以外でのACLにも対応した。

[編集] 国際化対応

AFPではサーバ名、ボリューム名、ファイル名の国際化対応が必要である。

netatalk 1.xはNLSかCAPエンコーディングを用いる事で非ASCII文字を扱う事が出来る。CJKの場合はNLSが利用出来ず、結果的にCAPエンコーディングを用いる事になる。日本語環境ではEUC-JPShift JISを利用可能にするEUCパッチが存在した[3]。中国語環境ではNLSを拡張するパッチが存在したが、現在はダウンロード出来ない[4][5]

netatalk 2.xはファイル名の扱いをUnicodeベースにした事でMac OS Xに対応した。Mac OS 9以前はUnicodeベースではないため、netatalk内に変換テーブルを用意することで対応している。netatalk 2.0.3迄が対応しているテーブルは、MacCentralEurope、MacCyrillic、MacHebrew、MacRoman、MacTurkishであり、MacJapaneseのテーブルは含んでおらず、代替策としてiconvを呼び出してShift JISとの変換を行なっていた。したがってShift_JISには含まれないMacJapanese特有の文字を扱うことが出来なかった。netatalk 2.0.4では、MacChineseSimple、MacChineseTraditional、MacJapanese、MacKoreanのテーブルが追加されている。

[編集] 参照

  1. ^ web.archive.orgに保存されている旧FAQのページ
  2. ^ Status of Netatalk and AFP support by NAS vendor
  3. ^ EUC-JP and Shift-JIS afpd patch
  4. ^ 让Netatalk支持双字节和多字节字符集
  5. ^ Update: maccode.asian -- can support CJK encoded characters

[編集] 関連項目

個人用ツール
名前空間
変種
操作
案内
ヘルプ
ツールボックス
他の言語