Subversionを色々悩んでみる。

外向けにリポジトリを公開してからどうにも壊れやすい。
何が原因かはなんとなく理解できてはいるんだけど、まぁ、色々と頭を抱えつつもやったことを、つらつらと書き連ねて行きます。

まぁ、安直にバージョンをあげてみる。
apt-getして、SeedPlusからひっぱってくるも、swig-runtimeが必要って言われて、いれてみると、swig-runtimeとswig-develの間でライブラリ齟齬が発生していてinstallできない。
んじゃあ、develを作り直すかと思ってsrc.rpmを捜してみるけど見あたらず。
公式ページの一覧をみるとrpmはあるけど、src.rpmはないらしい。

rpm -eでsubversionとswigを、ざっくり消し去る。

もうね、コンパイルすりゃいいんでしょって勢いでsubversionの公式ページからtar玉をダウンロードして、展開してコンパイル。
難しいことは何も考えずにconfigureして、makeして、install。

あーうごいたー。
inetd.confとかstc/servicesに登録して、inetd経由で動くように設定。
telnet host 3690でやったら動いたので、動作自体は問題なさそう。

じゃあ、実際のwindowsから動くかと試してみたところ、svnスキーマでは動いた。
svn+sshが動かない。
これでは何も意味がないです。うんうんと唸りながら、前にかったlinux worldを捜してみても見つからず。
奥様にこんなイヌころが表紙の本は知らないですかと、聞いてみたところ、でてきましたよ。

これこれとばかりに色々と読み返してみる。
SSH経由だからトンネルモードで起動するんだよなー。
inetd.confにそういう設定が必要なのかと思って、よーくよーく読んでみると、SSH経由はログインして、そのユーザーローカルなsvnserveを立ち上げるらしくて、sshdさえ動いていれば、勝手に色々とやっちゃうらしい。

…なんも設定してないけど動いていた謎がとけました(ぉぃ

psしてもinetd.confにもsubversionの記述がなくて、どうやってうごいてるんだよ、君はと思っていたのだけど、そういうことだったのね。
記事を読み返していると、運用についての注意書きが書いてあったので色々と読んでみる。

複数ユーザーを同じグループには入れているけど、作られるファイルのパーミッションや所有者の問題について、うちが知りたかったことが書いてあるじゃないですか。

/usr/bin/local/以下のsubversionを消して、apt-getしなおしました。
何もしないのに、apt-getしたやつはsvn+sshで繋がります。
なんじゃらほい(・ω・)
フルパスでなんか書いてあるかと思ったけど、なんも書いてないのでよく分からず。
ひょっとしたらconfigureの時にSSHを有効にするとかあるのかと思ったけど、もう調べるのもめんどくさい(ぉ

結局、やったことは/dbフォルダにchmod s+gをやっただけです。
これで問題がでたら、umask 002の設定をするラッパスクリプト書きます。

はふん。
まぁ、リポジトリのパーミッションが0777じゃなくなっただけましか。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>