Netatalk 3 は他バージョンと共存できないので,以前に Netatalk の古いバージョンを使ったことがあるなら, “Netatalk 2 からのアップグレード”の章をまず読んでいただきたい!!!
この件の最新の情報は GitHub の netatalk のページを一読いただきたい。
https://github.com/Netatalk/netatalk
Netatalk のバイナリーパッケージは,いくつかの Linux,Unix ディストリビューションに含まれている.通常の配布元も見たいだろうと思う。
Ubuntu パッケージ:https://launchpad.net/ubuntu
Debian パッケージ:http://www.debian.org/
様々な RPM パッケージ:http://rpmfind.net/
Fedora/RHEL パッケージ:http://koji.fedoraproject.org/koji/search
Gentoo パッケージ:http://packages.gentoo.org/
openSUSE パッケージ:http://software.opensuse.org/
Solaris パッケージ:http://www.opencsw.org/
FreeBSD ポート:http://www.freebsd.org/ports/index.html
NetBSD pkgsrc: http://pkgsrc.se/search.php
OpenBSD ports:https://openports.pl
Netatalk のソースを tar で固めた .tar.xz および .tar.bz2 形式のものが GitHub の netatalk のページにある.
Git レポジトリ のダウンロードは迅速で容易である:
Git がインストールしてあることを確認する.which git は git のパスを示してくれるはずである.
$
which git
/usr/bin/git
ソースを取得してみよう.
$
git clone https://github.com/Netatalk/netatalk.git netatalk-code
Initialized empty Git repository in /path/to/new/source/dir/netatalk/.git/ remote: Counting objects: 2503, done. ...
上記で Git リポジトリから,Netatalk のソース全体の完全でまっさらのコピーを含む
netatalk-code
という名前のローカルディレクトリが作成される.
レポジトリのコピーを最新の状態にしておきたい場合,適宜以下を実行する.
$
git pull
netatalk-code ディレクトリに cd して,
./bootstrapを実行する.これで次の段階で必要となる
configure
スクリプトが作成される.
$
./bootstrap
さらなる情報についてはDeveloper Notes ページ も参照のこと.
お使いのOSには下記ソフトウェアのバイナリーパッケージが提供される可能性が高い.
パッケージマネージャで検索すれば見つけられるだろう.
書き込みの時に最低でもバージョン 4.6 が必要となる.
推奨バージョンは 5.3 である Sleepycat ライセンスで提供された最終リリースである.
Libgcrypt
OS X 10.7 とそれ以降で必須となった DHX2 のために Libgcrypt が必要である.
Netatalk はその機能性を拡充するために以下のサードパーティソフトウェアを使用することができる.
Netatalk はメタデータのバックエンドとして Tracker を使用する.最近の Linux ディストリビューションには,Tracker のバージョン 0.7 以来使用可能な libtracker-sparql が提供されている.
Bonjour(Zeroconf としても知られる)のための mDNSresponderPOSIX または Avahi
サービス探索のために Mac OS X 10.2 及び以降のものは Bonjour(Zeroconf としても知られる)を使用する.
Avahi は DBUS サポートのもとで (
--enable-dbus
) ビルドされなければならない.
TCP wrappers
TCPD または LOG_TCP としても知られる Wietse Venema のネットワークロガー.
セキュリティオプションは: ホストごとドメインごとかつ/ないしはサービスごとのアクセス制御; ホスト名のなりすましあるいはホストアドレスのなりすまし検出; 早期警告システムを実装するブービートラップ;である.
PAM はユーザー認証の柔軟な機構を実現する.PAM は SUN Microsystems によって作り出された. Linux-PAM はアプリケーションがどのようにユーザーを認証するのかを選択できるようなローカルシステム管理を実現する共有ライブラリーのセットである.
iconv
iconv はたくさんの文字エンコーディングの変換ルーチンを提供する.Netatalk は iconv を使用して内蔵されていない ISO-8859-1 のようなキャラクターセット変換を実現する. glibc システムでは glibc の提供する iconv 実装を使うことができる.さもなくば GNU libiconv 実装を使うことができる.
バイナリーをビルドするには最初にソースのディレクトリで ./configure プログラムを実行する.これによって Netatalk がターゲットのオペレーティングシステム向けに自動的に設定されるはずである. もし普通とは違う要求がある場合,以下を実行すれば特殊なオプションで有効化できるものを見ることができる.
$
./configure --help
最も頻繁に使用されるオプションは:
--with-init-style
=redhat-sysv|redhat-systemd|suse-sysv|suse-systemd|gentoo-openrc|gentoo-systemd|netbsd|debian-sysv|debian-systemd|solaris|openrc|systemd|macos-launchd
このオプションがスタートアップスクリプトをどこにインストールするかの助けになる.
--with-bdb
=/path/to/bdb/installation/
Berkeley DB を標準的な場所以外にインストールした場合,このオプションを使って netatalk
に Berkeley DB をインストールした場所(訳注:すなわち
/path/to/bdb/installation/
)を指示しなければならない.
--with-ssl-dir
=/path/to/ssl/installation/
OpenSSL または LibreSSL を標準以外の場所にインストールした場合, このオプションを指定しなければならない.
そして必要なあらゆるオプションを含めて configure を実行する.
$
./configure [arguments]
Netatalk の Makefile 作成に使われた設定の概要を表示して configure は終了する.
Netatalk はメタデータのバックエンドに Gnome Tracker を用いる.少なくとも最初に SPARQL をサポートしたバージョン 0.7 以降が必要である.
まだインストールしていなければ tracker パッケージと tracker-devel パッケージをインストールする.Solaris では OpenCSW をインストールした後に OpenCSW の不安定版レポジトリーにある Tracker のパッケージをインストールする.
Tracker のパッケージは pkg-config 経由で見つかる.デフォルトのバージョン 0.12 より新しいバージョンがインストールされている場合もあるので, 末尾のバージョン番号も渡す必要があるかもしれない.すなわち
$
pkg-config --list-all | grep tracker
tracker-sparql-3.0 tracker-sparql-3.0 - Tracker : A SPARQL triple store library
であれば:
$
./configure --with-tracker-pkgconfig-version=3.0 ...
とする.
もし Solaris と OpenCSW 由来の Tracker を使っていれば,PKG_CONFIG_PATH 環境変数を設定し,--with-tracker-prefix configure オプションを加え, LDFLAGS="-R/opt/csw/lib" を加える必要がある.
PKG_CONFIG_PATH=/opt/csw/lib/pkgconfig LDFLAGS="-R/opt/csw/lib" ./configure --with-tracker-prefix=/opt/csw --with-tracker-pkgconfig-version=0.16 ...
Tracker ライブラリーが見つけられているかどうか,configure の出力を確認する:
checking for TRACKER... yes checking for TRACKER_MINER... yes ... Configure summary: ... AFP: Spotlight: yes ...