プラスα空間

ブログ in お市 のーと

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

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されました。

ちゃんと、私の名前(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をされていると言う事です。

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

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

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

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

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

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

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

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

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

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

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

netatalk devel ML

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

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

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

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

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

    そうなんでしょうか。
    ヘタなNASを買ってOSのアップデートに時間をさくぐらいなら、
    安物AT互換機にUbuntuやFedora等のアップデートの速いOSを入れて大容量HDDで使うのが
    一番楽だと思うのですが。

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

  • HAT より:

    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してるんです。

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

  • HAT より:

    直接パッチを書いて頂けると、”suggested by Oichi” じゃなくて、”from Oichi”になります。
    developerに登録されれば自分でgitにcommitできます。
    かなりしんどいので、そろそろdeveloperを増やしたいんですけど。

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

コメントを残す