Netatalk 4.5.0
インストール
【警告】 以前のバージョンからNetatalk 4にアップグレードする前に、 このマニュアルのアップグレードの章を必ずお読みください。
Netatalk の入手の仕方
この件の最新の情報は netatalk のホームページ を一読いただきたい。
バイナリーパッケージ
Netatalk のバイナリパッケージは、一部の Linux、BSD、Solaris 系ディストリビューションのパッケージリポジトリに含まれている。こういう風に Netatalk をインストールすることによって、新しいパッケージバージョンが利用可能になった際に自動的にアップデートされるため、最もスムーズに管理できるだろう。
既知の Netatalk パッケージのリストは Repology の Netatalk ページ を見るとよい。
第三者が提供しているパッケージ リポジトリも参照する手もある。例えば、Red Hat 派生 Linux ディストリビューションの為の rpmfind、 Solaris 系 OS の為の OpenCSW、そして macOS の為の Homebrew か MacPorts。
ソースパッケージ
tar で固めた Netatalk 安定版ソースコードは GitHub の Netatalk リリースページにある。
ソースコードは Netatalk Git リポジトリ からも入手できる。
ソースコードから Netatalk をビルドする方法については インストールクイックスタート を参照のこと。
前提条件
Netatalk は、いくつかのサードパーティのライブラリとユーティリティに依存している。Netatalk をビルドする前に、いくつかの必須パッケージをインストールする必要がある。さらに、機能を強化するためにいくつかのオプションパッケージをインストールすることができる。
必須サードパーティソフトウェア
-
bstring
Netatalk は、メモリセーフな文字列データの操作と取得のために「Better String Library」を活用している。 Mike Steinert氏の bstring フォークのバージョン 1.0.1 以降を推奨するが、 Paul Hsieh氏によるオリジナルの bstrlib ライブラリのどのバージョンでも、理論的には同様に動作するはず。
共有 bstring ライブラリがない場合、Netatalk ビルドシステムはライブラリを Meson サブプロジェクトとしてビルドおよびインストールする。
-
iniparser
iniparser ライブラリは設定ファイルを解析するために使用される。 最低でもバージョン 3.1 が必要であり、4.0 以降が推奨される。
-
libevent / libev
netatalk サービス コントローラー デーモンの内部イベント コールバックは、libevent バージョン2もしくは libev に基づいて構築されている。
-
Libgcrypt
Libgcrypt ライブラリは、パスワードを使う User Authentication Methods (UAM) の暗号化を提供する。
CNID データベースバックエンド一覧
選択した CNID スキームを動作させるには、以下のデータベースライブラリのうち少なくとも一つが必要である。
-
Berkeley DB
dbd (Database Daemon) CNIDバックエンドは、Berkeley DB を使用して一意のファイル識別子を保存する。
推奨されるBerkeley DBのバージョンは5.3であり、バージョン4.6以降も動作するはず。 バージョン6以降はライセンスの問題から一般的に避けるべきである。
-
MySQL クライアントまたは MariaDB クライアント
MySQL 互換のクライアント ライブラリを活用することで、netatalk は、スケーラビリティと信頼性に優れた mysql CNID バックエンドを使用して構築できる。管理者は、このバックエンドで使用するために別のデータベース インスタンスを用意する必要がある。
-
SQLite v3
SQLite ライブラリバージョン3では、sqlite CNID バックエンドが有効にする。 組み込みデータベースオプションであり、システム管理者が別途データベースサーバーを手配および管理する必要がない。
任意のサードパーティソフトウェア
Netatalk はその機能性を拡充するために以下のサードパーティソフトウェアを使用することができる。
-
ACL と LDAP
LDAPは、ACLの高度な権限スキームと連携して動作するオープンで業界標準のユーザー ディレクトリ プロトコルである。一部のオペレーティング システムではACL とLDAPライブラリがシステムに組み込まれているが、他のオペレーティング システムではこの機能を有効にするためにサポート パッケージをインストールする必要がある。
-
Zeroconf 用の Avahi または mDNSresponder
Mac OS X 10.2 以降では、自動サービス検出に Zeroconf を使用する。 Netatalk は、Avahi または mDNSResponder を使用して AFP ファイル共有と Time Machine ボリュームをアドバタイズできる。
Avahi を使用する場合は、D-Bus または D-Bus サポートを有効になっている Avahi ライブラリは必要になる。
-
cmark、cmark-gfm、またはpandoc
Netatalk のドキュメントはMarkdown形式で作成されている。 マニュアルページのソースは標準に準拠したCommonMarkで構成され、 ドキュメントの残りの部分はGitHub風の Markdown (gfm)で作成されている。
pandocライブラリは最もきれいな出力を生成するが、他の2つのオプション よりもはるかにリソースを消費する。cmarkのリファレンス実装が最も広く配布 されているが、cmark-gfm はテーブルのようなGitHub拡張機能をよりよく扱う。
-
CrackLib
Random Number UAM と netatalk 独自の afppasswd パスワード マネージャを使用する場合、CrackLib は netatalk での認証に弱いパスワードを設定するのを防ぐのに役立つ。
別途配布されることもある CrackLib dictionaryパッケージ もコンパイル時にも実行時にも必須である。
-
iconv
iconv は、多くの文字エンコードの変換ルーチンを提供する。Netatalk は、ISO-8859-1 など、組み込みの変換がない文字セットを提供するためにこれを使用する。glibc システムでは、Netatalk は glibc が提供する iconv 実装を使用できる。それ以外の場合は、GNU libiconv 実装を使用できる。
-
Kerberos V
Kerberos v5 は、マサチューセッツ工科大学で発明されたクライアント サーバー ベースの認証プロトコルである。Kerberos ライブラリを使用すると、netatalk は既存の Kerberos インフラストラクチャでの認証用に GSS UAM ライブラリを作成できる。
-
PAM
PAM は、ユーザーを認証するための柔軟なメカニズムを提供する。 PAM は SUN Microsystems によって発明された。Linux-PAM は、ローカル システム管理者がアプリケーションによるユーザー認証方法を選択できるようにする共有ライブラリ スイートである。
-
Perl
Netatalk の管理ユーティリティ スクリプトは、Perl ランタイム バージョン 5.8 以降に依存する。必須 Perl モジュールは以下: IO::Socket::IP (asip-status) 又は IO::Socket::UNIX (afpstats)。
-
po4a
po4a の助けを借りて、Netatalk のドキュメントは他の言語に翻訳できる。gettext を使用して、ソース ファイルから翻訳可能な文字列を抽出し、PO ファイルに保存されている翻訳と結合する。
-
talloc
Spotlight クエリパーサーでは、メモリ管理に Samba の talloc ライブラリが使用されている。
-
TCP ラッパー
Wietse Venema のネットワーク ロガー。TCPD または LOG_TCP とも呼ばれる。
セキュリティオプションは次のとおり。 ホスト、ドメイン、および/またはサービスごとのアクセス制御、ホスト名のスプーフィングまたはホスト アドレスのスプーフィングの検出。ブービートラップを使用して早期警告システムを実装する。
-
UnicodeData.txt
Netatalk の Unicode 文字変換テーブルを再生成するには、 Unicode 文字データベース が必要である。
これは、開発者やパッケージ マネージャーが Netatalk の Unicode 文字変換テーブルを再生成したい場合に関連する。
-
Xapian
Xapian ライブラリは、Netatalk が管理する ファイル名、プレーンテキストコンテンツ、および MIME タイプのインデックスに使用される。
-
libmagic
libmagic ライブラリは、Xapian Spotlight バックエンドがファイルの MIME タイプを識別するために使用される。
Spotlight LocalSearch バックエンドの依存パッケージ
Spotlight の LocalSearch バックエンドは、リッチなファイルコンテンツとメタデータのマッチングを可能にし、以下のサードパーティソフトウェアに依存する:
-
bison
Spotlight サポートのための SPARQL クエリパーサーをビルドするには、 bison などの Yacc パーサーが必要である。
-
D-Bus
LocalSearch インデクサーは D-Bus セッションバスサービスである。Netatalk は、afpd とインデクサーが通信するための分離されたセッションバスを ホストする専用の dbus-daemon を起動する。このバスは、システムバス および任意のユーザーセッションバスとは別個のものである。
-
DConf
DConf は低レベルの設定データベースである。Netatalk は、インデックス化する ボリュームを列挙した dconf キーファイルを書き込み、その後 dconf update を実行してバイナリデータベースへコンパイルする。LocalSearch インデクサーは起動時にこの設定を読み込む。
-
flex
Spotlight サポートのための SPARQL クエリパーサーをビルドするには、 flex などのレキサーが必要である。
-
GLib および GIO
GLib のメインループは、TinySPARQL/LocalSearch の非同期クエリ パイプラインを駆動する。
-
LocalSearch
Netatalk は、Spotlight 互換の検索インデックスのメタデータエクストラクターとして、 GNOME LocalSearch (以前は Tracker)バージョン3以降を使用する。
適切な Tracker エクストラクターをインストールすることで、 追加のファイルタイプのメタデータ抽出サポートを追加できる。
-
TinySPARQL
TinySPARQL ライブラリは、Spotlight サポートにおける SPARQL クエリのパースに使用される。
Netatalk の起動と停止
Netatalk ディストリビューションには、コンパイル前にビルド システムに指定されたオプションに応じて調整される、オペレーティング システム固有の起動スクリプト テンプレートがいくつか付属している。現在、テンプレートは、一般的な Linux ディストリビューション、BSD バリアント、Solaris 派生、および macOS 用のプラットフォーム固有のスクリプトに加えて、systemd、openrc 用に提供されている。
ソースからビルドする場合、Netatalk ビルド システムは、どの initスタイルがプラットフォームに適しているかを検出しようとする。また、with-init-styleオプションを指定して、必要な特定のタイプの起動スクリプト をインストールするようにビルドシステムを構成することもできる。構文については、ビルド システムのヘルプテキストを参照してください。
新しい Linux、*BSD、および Solaris のようなディストリビューションが定期的に登場し、上記の他のシステムの起動手順も変更される可能性があるため、起動スクリプトを盲目的にインストールするのではなく、まずシステムで機能することを確認することをお勧めする。
Linux ディストリビューション、RPM、または BSD パッケージなどの固定セットアップの一部として Netatalk を使用する場合は、おそらく適切に準備されているだろう。したがって、前の段落は、Netatalk を自分でコンパイルした人にほとんど当てはまる。
次のデーモンは、使用するスタートアップ スクリプト メカニズムによって起動する必要がある:
- netatalk
スタートアップ スクリプトがない場合は、このデーモンを直接 (root として) 起動し、使い終わったら SIGTERM で終了することもできる。
さらに、構成ファイル afp.conf が適切な場所にあることを確認してください。 netatalk -V コマンドを実行すると、netatalk がファイルの場所を予測しているかどうかを問い合わせることができる。
AppleTalk サービスを実行する場合は、atalkd デーモンに加えて、オプションの papd、timelord、a2boot デーモンも起動する必要がある。詳細については、このマニュアルの AppleTalk の章を参照してください。