情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

Eclipseでsvn+sshを行う方法メモ2 エラー対策編 このエントリーを含むはてなブックマーク

前掲の記事「Eclipseでsvn+sshを行う方法(Putty+Subclipse@Windows)メモ」の実行中に発生するかもしれないエラーについて、その現象と対策をメモしておきます。

対象環境

前回より詳しく私の利用している環境を記しておきます。

サーバ
OS:Cent OS 5.3 (Final) 64bit
カーネル:Linux 2.6.18-128.el5
CPU:x86_64

クライアントPC
OS:Windows Vista Ultimate SP2 32bit
Eclipse: Eclipse Java EE IDE for Web Developers. Build id: 20090920-1017 (英語)
Subclipse: Subclipse 1.6.5
PuTTY: PuTTY Release 0.60-JP_Y-2007-08-06

エラーとその対策法

以下、Eclipseでロケーションを作成しようとして発生したエラーと、その原因について紹介します。

Permission denied エラー

Error while creating module: org.tigris.subversion.javahl.ClientException: Permission denied.
svn: ディレクトリ '/repos/myrepos/db/transactions/0-1.txn' を作成できません: 許可がありません
というエラーが発生した場合、レポジトリのパーミッションの設定がおかしなことになっている可能性があります。普通にSSHサーバにログインして、レポジトリのあるフォルダに書き込みができるかどうか確認してください。

Network connection closed unexpectedly エラー

plink.exeのコマンドプロンプト画面(黒い画面)が一定時間表示された後、

検証不能
ロケーションの検証中にエラー: "org.tigris.subversion.javahl.ClientException: Network connection closed unexpectedly
と表示される場合、ホスト名が間違っている可能性が高いです。確認してください。

Couldn't find a repository エラー

plink.exeのコマンドプロンプト画面(黒い画面)が短く表示された後、

検証不能
ロケーションの検証中にエラー: "org.tigris.subversion.javahl.ClientException: Couldn't find a repository
と表示される場合、レポジトリのURL(hostname以降)がレポジトリの位置を正しく指定できていない可能性があります。hostname以降は、サーバ内部での絶対パスで指定します。homeディレクトリからなどではありません。確認してみてください。前回の記事であげた例(/repos/myrepos)も参考にしてください。

黒い画面のまま固まるエラー

plink.exeのコマンドプロンプト画面(黒い画面)が表示されっぱなしになり、一切画面が変化しなくなってしまう状態になった場合、接続先サーバ側の鍵がレジストリにキャッシュされていない可能性があります。一度putty.exeで接続先サーバにSSH接続を行い、サーバ側の鍵を保存するかどうかと言う質問に対して「はい」と答えてください。そうすることで、サーバ側の鍵のキャッシュが保存されます。

最後に

ありがちなエラーをまとめてみましたが、基本は、それぞれの機能(SSH, Subversion, ...)を一つ一つまずは確認することです。どこが原因になっているかをうまく絞ってみてください。

Subversion実践入門
実用SSH
Eclipse 実践開発入門

スポンサーサイト
Subversion | コメント:0 | トラックバック:0 | 編集

Eclipseでsvn+sshを行う方法(Putty+Subclipse@Windows)メモ このエントリーを含むはてなブックマーク

Eclipseでsvn+ssh(SSH接続を介したSubversionの利用)を行う方法について、おおざっぱなメモをしておきます

対象環境

今回の対象環境は、Windowsで、Eclipseを使用します。Eclipse用SubversionプラグインとしてSubclipseを利用し、Windows用SSHクライアントとしてPuttyを利用します。

手順概要

  1. 環境変数(ユーザ環境変数)に、変数SVN_SSHを追加して、値をPuttyに含まれるプログラムplink.exeへのフルパスにする。このとき、フォルダの区切りは"\"ではなく、"/"(スラッシュ)を利用すること。以下、例を示す。

    変数:SVN_SSH
    値:D:/putty/plink.exe

  2. putty.exeでいったんサーバにSSH経由でログインを試みる。初回ログイン時、

    ---------------------------
    PuTTY セキュリティ警告
    ---------------------------
    このサーバの鍵はレジストリにキャッシュされていません。
    このサーバがあなたの期待するコンピューターである
    という保証はありません。
    
    このサーバのrsa2鍵の指紋は次の通りです:
    ssh-rsa 2048 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
    
    このホストを信用するのであれば、「はい」を押して
    PuTTYのキャッシュに鍵を追加し接続してください。
    
    キャッシュには追加せずに一度だけ接続したいので
    あれば、「いいえ」を押してください。
    
    このホストを信用しないのであれば、「キャンセル」
    を押して接続を破棄してください。
    
    ---------------------------
    はい(Y)   いいえ(N)   キャンセル   ヘルプ   
    ---------------------------
    
    という内容の警告表示されるので、ここで「はい」を選択し、サーバの鍵をレジストリにキャッシュします。

  3. subversionレポジトリをサーバで作成しておく。/reposディレクトリにレポジトリを作成し、SSHログインするユーザ名をusername、レポジトリへのアクセスを許可するユーザグループをsvnusersとする場合、コマンドは

    ■usernameをsvnusersグループへ
    #groupadd svnusers
    #/usr/sbin/usermod -G svnusers username
    
    ■レポジトリ作成
    #mkdir /repos
    #svnadmin create /repos/myrepos
    
    ■パーミッション設定
    #chmod -R 775 /repos/myrepos
    #chown -R root:svnusers /repos/myrepos
    となる。

  4. EclipseにSubclipseをインストール
  5. 「ウィンドウ>設定>チーム>SVN」のSVNインターフェースで、JavaHLが選択されていることを確認。SVNKit(Pure Java)などになっていた場合は、JavaHLに変更する。

  6. puttyに含まれるpagent.exeを起動し、タスクトレイのアイコン右クリックから「鍵の追加」からPutty用秘密鍵ファイル(*.ppk)を登録し、要求されたパスフレーズを入力。

  7. レポジトリをEclipseに登録する。具体的には、いくつか方法があり、

    • ファイル>インポート>Select an import source>SVN>SVNからプロジェクトをチェックアウト
    • プロジェクトを右クリック>チーム>Share Project...>SVN
    • レポジトリエクスプローラで右クリック>新規>レポジトリロケーション
    などがありますが、どの方法でも、新規にレポジトリロケーションを作成することになります。レポジトリロケーションの作成とは、既存のレポジトリを指定することなのですが、その際URLで指定します。先の例で、ホストのアドレス(IPアドレス)をhostnameとすると、そのURLは
    svn+ssh//username@hostname/repos/myrepos
    となります。URL指定後、うまく読み込むことができれば、Subclipse+Puttyを利用したsvn+ssh環境の構築は成功したことになります。URLに関する参考資料「svn+ssh://の後に続くパスについて

以上で、おおざっぱですが手順終了です。

Subversion実践入門
実用SSH
Eclipse 実践開発入門

Subversion | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。