(Ubuntu) Linuxのbazaa-explorerから、sambaサーバーへアクセスする方法のメモ

bazaarからsambaへのアクセスでちょっと躓く

Ubuntu10.04がリリースされて早2ヶ月。ノートPCにもデュアルブートで入れたUbuntuを使うべく、まずは開発環境を構築。
bazaar、bzr-explorerをインストールし、早速共有リポジトリにしているファイルサーバー(samba)にアクセスしようとしたらエラー。
エラーの内容を見てると、どうやらsmbプロトコルが扱えないらしい?とのことで、どうしようか悩んでいたのですが、sambaサーバーをマウントすればいいんじゃねと思いついてすんなり(とはいえちょっと躓いて)解決したのでここにメモです。

準備

マウントするための準備として、smbfsをインストール

sudo apt-get install smbfs

実例

実際にsambaのある場所をマウントしてみましょう。
あんまり意味は無いけどホームディレクトリにマウントポイントをおきました。
サーバーにアクセスするためにユーザーのアクセス権が必要なら、usernameとpasswordを入れておきましょう。passwordは省略しても、次に入力を促されます。
接続先のsambaで、guestアクセスが可能ならuidは要らないのかもしれません。使えばこちらのユーザとしてアクセス出来るので、やった方がいいのかもしれません。(こちらは今のところは問題なさそうですが、副作用がよく分からないので、別のマウントポイントで書き換えの確認をして見てください)

mkdir ~/mnt/smb_shererepo
mount -t smbfs -0 username=hoge,password=huga,uid=myname,defaults //servername/shererepo ~/mnt/smb_shererepo

サーバーの環境によっては、文字コードなどのオプションを入れる必要があるかもしれません。自分の環境はubuntuのsambaで、defaultsの指定で問題なくやり取り出来ました。


マウントできたら、bzr-explorerでブランチを切ったりチェックアウトしてみたりして、アクセスできれば成功です。
(コマンド使ったことないけど多分これで行ける、チェックアウトの例)

mkdir ~/main_repo
cd ~/main_repo
bzr init-repo myproject
bzr checkout ~/mnt/smb_shererepo/myproject/trunk
cd trunk
#そのまま使う!

リポジトリの作り方は以下を参考に

ブランチを公開する — Bazaar v2.1.3dev documentation


最後に、いつでもマウントポイントにアクセス出来るように、起動時に自動的にsambaをマウントしておきましょう。

/etc/fstab に以下の行を追加

//servername/shererepo     /home/myname/mnt/smb_shererepo     smbfs     username=hoge,password=huga,uid=myname,defaults     0 0 


BazaarをWindowsで使いこなれてきて(と言ってもbzr-explorer)、開発の大元であるUbuntuでもらくらく行けるだろうと思ったら、意外にこの部分で躓くとはちょっと驚き。
bzr-explorerのチェックアウト時にソースディレクトリを選択してみると「ネットワーク」を選ぶことができなかったので、Gnomeの仕様なのかもしれません。ともあれ、sambaのマウントで事無き終えたので、Ubuntuを触る機会もどんどん増えそうです。

今回やったこと

  • Ubuntuのbazaarは、smbプロトコルが使えないらしく、sambaへ直接アクセスすることが出来ない。(多分bazaarのせいではないと思う。)
  • 解決策として、sambaサーバーをsmbfsでマウントして、マウントポイントからアクセスする。
  • 自分の環境は、ユーザでアクセス権を入れていたので、マウントオプションにuidを入れておいた。
  • 起動時に自動的にマウントするには/etc/fstabにマウントポイントを追加する。
  • 後は普通のディレクトリの如く扱う。