「netatalk 3.0の開発に少しだけ貢献しました」というoichiさん

https://oichinote.com/plus/2012/05/netatalk-3-0-development.html

netatalk 3.0の開発に少しだけ貢献しました

2012年5月15日23時59分 お市のかた netatalk, 6

Netatalk 3.0alpha3のインストールをしました。

Ubuntu 10.04にnetatalk 3.0alpha3インストール[追記あり]: プラスα空間

それで、いつもの手順でテストしていたところ、afp.confで非ASCII文字のボリューム名を設定すると、TimeMachineで正しく表示できない事がわかりました。

文字化け

設定ファイルでは、[私のタイムマシーン]となっているのに、TimeMachine環境設定では「???#1」と表示されています。
2012-05-14 21:32

その様子を記事にしていたところ、HATさんがこの記事を読んでくれて、現象を確認してくださいました。
2012-05-14 22:08

その後、暫定対処方法を送っていただき、その方法で文字化けが直る事を確認しました。
2012-05-15 01:17

さらに、HATさんがBUG FIXのためのパッチを作ってくださりました。
2012-05-15 01:45

私がパッチをあて、コンパイルし直し、動作報告をしました。
2012-05-15 22:49

最新レポジトリにcommitされました。

SourceForge – netatalk/netatalk/commit

ちゃんと、私の名前(Oichi)を入れてくれました!

「Zeroconf could not advertise non-ASCII time machine volume name, suggested by Oichi」

おぉ〜、なんだかすごいです。私も、netatalkの開発の最前線にいました。

BUGの原因は、ボリューム名の宣言をする部分の文字コードの変換部分の書き間違いだったと思われます。

現在の、私のafp.confは、次のようになっています。

;
; Netatalk 3.x configuration file
;

[Global]
vol preset = 全ボリュームのデフォルト
log level = default:note
log file = /var/log/netatalk.log

[全ボリュームのデフォルト]
file perm = 0600
directory perm = 0700

[Homes]
basedir regex = /home

[私のタイムマシーン]
path = /karmic/afp/time_capsule
time machine = yes
vol size limit = 1024

[みんなの共有はここ]
path = /karmic/afp/shared
file perm = 0666
directory perm = 0777

TimeMachine環境設定で、正しくディスク名が表示されています。

私のタイムマシーン

きちんとバックアップディスクとして使えました。

ただ、ボリュームサイズを1 GiB (230バイト)としていますので、バックアップは容量不足で終了します(正しい動作)。

今回のようにして、改善されていくのですね。

HATさんのウェブサイトによると、netatalkの開発をしているのはFrank Lahmさんだけで、HATさんが細かいBUG FIXをされていると言う事です。

Netatalk 3.0 and Samba

BUFFALOやIODATAって、netatalkを使ったMac対応のNASを販売して儲けを得ているのですから、開発者にフィードバックをすれば良いと思うのですが、どうなんでしょうか?

寄付をするとか、ユーザーからのバグ報告を開発者に連絡するとか。

はっきり言って、ただ乗りですよね…。

この辺りの話は、次の記事のコメントをご覧ください。

IODATAのNAS「HDL2-A」ってどう? [追記あり]: プラスα空間

私が、netatalkに関わる理由は、趣味です。インストールして、動作確認して、記事を書くのが楽しみになっています。

趣味と言っても、最終目的があって、それに向けての事前準備なのです。

LANDISK Home HDL4-Gでやりたい事: プラスα空間

素直にTimeCapsuleを買った方が、遥かに簡単なのですが、自分でいろいろいじった方が楽しいです。

自分でやろうとすると、いろいろ調べたり、実験したりで、時間がかかります。時間対効果を考えると、絶対NASを買った方が効率的だと思います。

でも、ギャンブルとかで時間を浪費するよりは、ずっと自分のためになると思っているので、作業を続けています。

私は、Netatalk-devel (Netatalk開発者用メーリングリスト(英語))に登録しました。

Netatalk-devel Info Page

このページで、mailアドレスとパスワードを入力します。そして、Subscribeを押します。

netatalk devel ML

しばらくすると、確認メールが届きます。

そのまま返信するか、指定されたURLにアクセスすると、承認されます。

最初に入力したパスワードは、メールで平文で返ってきちゃいます(-_-#)。

メーリングリストに参加した物の、どうなるかわかりません。ちょっと、様子を見てみようと思います。

“netatalk 3.0の開発に少しだけ貢献しました”に“6”個のコメント

HAT より:
2012年5月16日 21時53分

そうなんでしょうか。
ヘタなNASを買ってOSのアップデートに時間をさくぐらいなら、
安物AT互換機にUbuntuやFedora等のアップデートの速いOSを入れて大容量HDDで使うのが
一番楽だと思うのですが。
返信
お市のかた より:
2012年5月16日 23時55分

HATさんへ、いつもコメントありがとうございます。
そうですよね、ご提案の方法の方が、楽だと思います。その方が、性能も高いと思います。
家には、使わなくなったAT互換機があります。また、使っていないPowerBook G4があります。
このどちらかに外付けディスクをつないで、Soft RAID 5を組むのが近道ですね。
ただ、NAS改造も面白そうで、趣味としてやってみたいとは思っています。
返信
HAT より:
2012年5月16日 22時43分

netatalkは1つのボリュームに対して4つのボリューム名を持っています。
v_localname – 設定ファイルに書かれている名前 (unix charset)
v_u8mname – Mac OS X向けの名前 (UTF8-MAC)
v_macname – Mac OS 9以前向けの名前 (mac charset)
v_name – AFP3接続のときv_u8mnameと同じ。AFP2接続のときv_macnameと同じ。

元のソースではv_nameになっていました。しかし、Zeroconfでボリューム名を宣伝を開始するのはafpdの起動直後であり、まだクライアントが接続してないのでAFP2かAFP3か分かりません。
この場合、v_macnameの方が優先されてしまい、Mac OS 9向けの名前で宣伝していました。

[Global]セクションにてmac charsetを設定していない場合、これはデフォルトのMAC_ROMANになります。
「私のタイムマシーン」をMAC_ROMANに変換しようと失敗します。この場合、netatalkはボリューム名を「???」に置き換え、その後にVolume IDを付けます。今回の場合、Volume IDが1番だったので、ボリューム名が「???#1」になりました。
つまり、文字化けしてるんじゃなくてmanglingしてるんです。
返信
お市のかた より:
2012年5月17日 00時00分

HATさんへ、再びコメントありがとうございます。
なるほど、そういう仕掛けだったのですか。
それで、
mac charset = MAC_JAPANESE
で、正しい名前で表示されたのですね。
「???#1」も正しい挙動と言えるのですね。
現象確認から、原因特定、BUG FIXまで早かったですね。さすがです。
Netatalk 3.0 and Samba
も変更されている事を確認しました。
返信
HAT より:
2012年5月22日 00時47分

直接パッチを書いて頂けると、”suggested by Oichi” じゃなくて、”from Oichi”になります。
developerに登録されれば自分でgitにcommitできます。
かなりしんどいので、そろそろdeveloperを増やしたいんですけど。
返信
お市のかた より:
2012年5月23日 00時57分

HATさんへ、いつもコメントありがとうございます。
次にバグを発見して、原因を追及できたら、パッチを作ってみたいと思います。
ただ、私もいっぱいいっぱいなので、どこまでご協力できるかはわかりません。

 

Linux、Netatalk、Samba、NFSを使用したファイルサーバーについて研究・運用しています。

fsをフォローする
参考リンク

コメント