2009-03-07 30 views
1

2つの古いcvsサーバを1つの新しいボックスに統合しています。cvs rootにシンボリックリンクを使用してサーバ統合を簡略化できますか?

私は次のことを望んでいました: oldserver1とoldserver2のDNSエントリを変更すると(一部のユーザアカウントのメンテナンスと同様に)、cvsユーザに移動が透過的になります。

問題:
私は古い各サーバー上の別のCVSのルーツに起因する問題を抱えています。

背景
古いサーバーには、次のCVSリポジトリのディレクトリを持っていた:

  • 古いのserver1 CVSルート:/ cvshome
  • 古いサーバー2のCVSルート:は/ usr/local/cvsの

デフォルトリポジトリディレクトリを使用しているディストリビューションでは、/ var/cvsです。私はつまり、これに固執することにしました:

  • 新しいサーバのCVSルート:の/ var/cvsの

ゴール
私は、既存のチェックアウト・プロジェクト、すなわち上の最小限の中断を希望会社の各ハードドライブ上のすべての「ルート」ファイルを検索/置換する必要はありません。明確にするために

、古いserver1のCVSROOTとCVS /ルートエントリは次のようになります。

pserver:[email protected]:/cvshome 

試み
私はこれを試してみました: 新しいサーバー上でシンボリックリンクを作成

/cvshome points to /var/cvs 
ln -s /var/cvs /cvshome 

しかし、私は更新プログラム(古いサーバー1を指しているワークステーション)を試すと、このエラーが発生します。

/cvshome : no such repository 

概要
は、私が 'エイリアス' CVSリポジトリへのリンクを使用することはできますか?

または私は「弾丸を噛んで」、すべてのハードドライブのすべての「ルート」ファイルを変更する必要がありますか?

おかげで、Linuxの
法案

答えて

1

、あなたがコマンドにディレクトリを指すシンボリックリンクへのパスを与えるとき、それはあなたがスラッシュを追加するかどうかの違いになります:

$ ls -l /cvsroot 

$ ls -l /cvsroot/ 

がシンボリックリンクポイントにディレクトリの内容を一覧表示するだろうが

は、シンボリックリンクのinodeを一覧表示します。この動作は、cvsrootが実際のディレクトリである場合に表示される動作とは異なります。

あなたの問題かどうかはわかりませんが、スラッシュを追加してみてください。役立つならば、リポジトリルートの下にあるすべてのもののチェックアウトや更新などができるはずです。

0

これは、古いスレッドに申し訳ありません、誰かを助けるかもしれません。私の仕事は何

は/etc/xinetd.confファイルに--allow-ルートを変更することでした:

server_args = -f --allow-root /usr/local/cvsroot pserver 

シンボリックリンク/エイリアスは、今、私はリポジトリを移動し、この新しいサーバー上で動作します。

関連する問題