つい先日久しぶりにRaspberryPiをいじったところ、「急にホスト名及びユーザ名がコンソール画面でハイライトされなくなる」、「.vimrcの設定が飛んだのかvimの挙動がおかしくなる」、挙句の果てには「ほとんどのコマンドがNot foundになる」という不具合が発生し、泣く泣くRasPiの再セットアップ(3回め)を行うことになりました。
さすがに3回めにもなるとだいぶ慣れたもので、公開鍵認証でSSH通すまでに1時間強しかかかりませんでした。とりあえずパッケージのアップデート等を済ませ、とりあえずSDカード上でシステムを再構築していきました。
Samba
sudo apt-get install samba
これだけで入ってくれるので非常にありがたいです。
Sambaにはwebブラウザから設定を変更できるSWATというものがあります。今回の設定はこれで行いたいと思います。
sudo apt-get install swat
あとはLAN内にある他のデバイスからhttp://[ホスト名 又は IPアドレス]:901と打ち込むだけです。するとユーザ名とパスワードを尋ねられるのでログインします。
が、
ここでpiユーザでログインするといくら頑張ってもWindowsからアクセスできなくなります(正確に言うとrootしか入れなくなる)。
RasPiには初期ではrootにパスワードが設定されておらず使えません。そこで、
sudo psswd root
を使ってrootユーザにパスワードを設定、それでswatにログインします。
その後パスワードタブからpiユーザを新規ユーザとして追加すると、piでログインできるようになります。細かいディレクトリとかパラメータの設定は適当にググって出してください。
これでとりあえずSambaは終了です。
Netatalk
次は鬼門のNetatalkです。大量のライブラリをインストールし、自分でソースからビルドしなければならない厄介なヤツです。
まず必要なライブラリをインストールしていきます。
sudo apt-get -y install libssl-dev libgcrypt11-dev libpam0g-dev libwrap0-dev libdb-dev libavahi-client-dev libacl1-dev libldap2-dev libevent-dev
また、RasPiに初期から入っていないavahi-daemonを突っ込みます。こいつがないとMac上からタイムマシンサーバを見つけることができなくて苦労します。
sudo apt-get install avahi-daemon
ここまではすんなり簡単に行けます。次からが少々厄介です。
Berkeley DBをインストールします。パッケージも有りますが古いため今回は自分でソースからビルドします。
cd /usr/local/src sudo wget http://download.oracle.com/berkeley-db/db-6.1.19.tar.gz sudo tar xvzf db-6.1.19.tar.gz cd db-6.1.19/build_unix ../dist/configure sudo make sudo make install
おそらくこれでうまくいけます。うまくいけば/usr/local/db.6.1.19にインストールされます。
次にNetatalkをインストールしていきます。ここでは本当に最小限のことしかしていないので、例えば共有するディレクトリをSpotlightで検索したいとか、そういったことはもう少し色々イジる必要があります。頑張ってください。
cd /usr/local/src sudo wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.7.tar.bz2 sudo tar jxvf netatalk-3.1.7.tar.bz2 cd netatalk-3.1.7 sudo ./configure --with-init-style=debian-sysv --without-libevent --without-tdb --with-pam-confdir=/etc/pam.d --with-dbus-sysconf-dir=/etc/dbus-1/system.d --with-bdb=/usr/local/db.6.1.19
ここでもしエラーが出れば、その内容をよく読んでください。だいたいこういう場合のエラーはライブラリが足りていない場合に起こります。適宜、sudo aptitude search [検索したいフレーズ]
などを用いて調べてみてください。-devのついたパッケージなどをインストールすると解決することが有ります。
最後に結果が一覧になって出てきます。ここで自分の使いたい機能がyesになっているかを確認して下さい。もしすべてOKならば、
sudo make sudo make install
とし、インストールしてください。
何度も./configure
やmake
をしていると、まれにバグるのかいくらやってもNo such file or directuryなどの警告が出ることが有ります。ライブラリのインストールでは解決せず、他に心当りがない場合は一度.tar.bz2の展開からやり直してみるといいと思います。
Netatalk3より、設定ファイルは/usr/local/etc/afp.confだけになりました。sambaのsmb.confと同じようなもので、非常に管理しやすいです。一応下に自分のを貼っておきますが、よく理解しないまま使っていることが多く、コピペは推奨しません。
; ;Netatalk 3.x configuration file ; [Global] mac charset = MAC_JAPANESE uam list = uams_cleartxt.so uams_dhx.so uams_dhz2.so uams_guest.so log file = /var/log/netatalk.log vol preset = my default values [my defalt values] file perm = 0660 directory perm = 0770 [Homes] basedir regex = /var [Time Machine] path = /timemachine time machine = yes [NAS] path = /var/nas veto files = /Thumbs.db/desktop.ini/ delete veto files = yes
編集し終わったらsudo service netatalk restart
として再起動させるとMacからアクセスできると思います。
TimeMachineからうまくバックアップが開始されると、おそらく途方もなく時間がかかります。僕の環境で130.48GBぶんのバックアップデータがありました。次回以降は差分のみバックアップを取られるのでそれほど時間はかかりませんが初回だけはとにかく遅いです。一晩かかります。
本当はSambaとNetatalkで同じディレクトリを指定するのは良くないのですが、それほど頻繁にデータを書き換えるわけではないので別にいいかなぁと()なにか不具合が生じればまた報告します。
追記:
この辺りが参考になります
・Samba
http://frogcodeworks.com/raspberrypi-samba-setup/
・Netatalk
http://www003.upp.so-net.ne.jp/hat/netatalk/andsamba.html
http://qiita.com/ikuwow/items/99a62e2102563e4e7419
http://j7lg.tumblr.com/post/9699261925/cent-os-5-6-netatalk-2-1-5
http://d.hatena.ne.jp/paraches/20100926