Software Install
UNIXにおいてソースの公開されているソフトはありがたいもの。バイナリで提供されていなくても、
コンパイルさえできれば利用できる可能性があります。少々の不具合があっても不満な点があっても、
自分で修正したり、ソフトウェアの作成者に改善を提案したりできますね。
しかし、コンパイルがちょっぴり難しく手間であることは否定できません。そんな訳で、インター
ネットを検索すると各種ソフトのコンパイルとインストール方法が山のようにあるわけですが、ここ
ではそんな検索でも見当たらなかったソフトウェアのインストールをご紹介。
netatalk
WindowsからUNIXのファイルシステムを簡単に利用するにはsamba。そして、Apple(MAC)から利用す
るにはnetatalk(atalkd)が便利。capというソフトもあるのですが、頻繁にバージョンアップしている
こちらを紹介します。
というのも、いくらインターネットを検索しても、netatalkのちょっと古めのバージョン(1.4b2)を
Solarisで動かす方法は見つかるのに、最近のVer1.5pre6あたりになると、全然無い。しかもこの1.5pre6、
デフォルトの設定だと様々なディレクトリにファイルを撒き散らしてくれます。sambaのように、
/usr/local/samba にまとまっていません。
・ダウンロード
まずはソースを下記より入手。
http://sourceforge.net/projects/netatalk
2001年10月8日時点ではpre8が出ていますが、当方まだ未検証です。pre7はcnid関連のソースがどう
頑張ってもコンパイルできなくて投げました。ヽ(`Д´)ノ モウツカワネーヨ!!
よって、[View ALL Project Files] を押すとでてくる、過去のバージョン(pre6)を推奨します。
・前提となるソフト
コンパイルのために、bison、flex、gcc2.95の環境は揃えておいてください。あと、autoconfやautomake
そしてm4などのツールを使うようですので、これも入れておきます(gawkも必要だったか?)。全部バイナリ
で叩き込むとよいでしょう。下記のサイトをどうぞ。
Freeware for Solaris
ナンタラlocalとかいうのがインストールイメージですので持ってきて、
gzip -d gcc-2.95.3-sol8-sparc-local.gz
pkgadd -d gcc-2.95.3-sol8-sparc-local
とかやれば入ります。あ、もちろんインストールはrootでね。
また当方、tcpwrapperを使っていますので、これをインストールした上で、 tcpd.h を /usr/local/include
へ、 libwrap.a を /usr/local/lib へ入れておいてください。
・インストール方針
netatalk の configure が設定するデフォルト値を変更し、以下の環境を作ります。
★ほとんどのファイルを /usr/local/atalk 以下に置く。
/etc/rc2.d/S79atalkd とか /dev 以下に置くドライバは仕方ないですが、それ以外のファイルを
一ヶ所に固めることにします。
★Solaris関連のインストール時に発生するエラーを回避する。
./netatalk-1.5pre6/sys/solaris/Makefile でエラーがでますので、これを書き換えることにします。
・コンパイル手順
./netatalk-1.5pre6 ディレクトリで下記のconfigureをどうぞ。
./configure --prefix=/usr/local/atalk --with-config-dir=/usr/local/atalk/etc --with-msg-dir=/usr/local/atalk/etc/msg --with-shadow --with-tcp-wrappers --with-uams-path=/usr/local/atalk/etc/uams
終わったら、make。
その後、./netatalk-1.5pre6/sys/solaris/Makefile にある、install: の項を編集。下記参照。
install :
# -mkdir ${DESTDIR}${sbindir} ${DESTDIR}${bindir} ${DESTDIR}${CONFIG_DIR} \
# ${DESTDIR}${libdir}
sed -e s@:BINDIR:@${prefix}/bin@ < ../../contrib/shell_utils/lp2pap.sh > /usr/local/atalk/etc/lp2pap.sh
chmod 744 /usr/local/atalk/etc/lp2pap.sh
for i in ${ALL}; \
do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
AFPLIBS="${AFPLIBS}" \
LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
LDSHAREDFLAGS="${LDSHAREDFLAGS}" \
CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \
OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \
INSTALL="${INSTALL}" $@); \
done
if [ -f ${DESTDIR}${CONFIG_DIR}/afpd.conf ]; then \
echo "Retaining old afpd.conf file."; \
else \
sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
-e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
-e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
-e s@:INCDIR:@${INCDIR}@ \
< ../../config/afpd.conf > /usr/local/atalk/etc/afpd.conf; \
fi
@echo
@echo "Install is done. Don't forget to add lines from"
@echo "services.atalk to /etc/services and to call rc.atalk"
@echo "in /etc/rc. See README and README.SOLARIS for more"
@echo "information."
なんか各種の変数が引き継がれないので、変数を参照して失敗するところに直接、値を書き込んでます。
書き換え終わったら、ついにインストールです。
念には念を入れて、下記の手順にしましょう。
su
mkdir /usr/local/atalk
chown [インストールするユーザー名] /usr/local/atalk
exit
ようするに、今までの一連の処理がミスっていますと、大量のファイルを各所に撒き散らしますので、
/usr/local/atalk以下にしかファイルを書き込まないようにしてから、ユーザーの権限でインストール
します。
では、./netatalk-1.5pre6 ディレクトリでインストールしましょう。
make install
エラーは出ませんでしたか?。/usr/local/atalk 以下に、ファイルが揃いましたか?。うまくいったようなら、
このディレクトリの所有者をrootにしておきましょう。
su
chown -R root /usr/local/atalk
exit
それから、suして、/etc/netconfig に次の行を追加します。
ddp tpi_clts - appletalk ddp /dev/ddp -
ドライバーをインストールします。./netatalk-1.5pre6/sys/solaris/ に移動し、下記のコマンドです。
make kinstall
ドライバーがインストールされます。また、起動スクリプトもインストールされますから、
/etc/rc2.d/S79atalk を編集して、各種のバイナリディレクトリの値を、正しいものに変更
しましょう。
あとは、数々のサイトに紹介されているように、/usr/local/atalk/etc 以下のコンフィグを
調整して、atalkを起動すればokです。お疲れ様でした( ´ー`)y-~~~~~