0

peer コマンドを入力すると、次のエラーが表示されます。

** [out :: 172.23.99.7] Incorrect number of arguments
** [out :: 172.23.99.7] 
** [out :: 172.23.99.7] Usage:
** [out :: 172.23.99.7] python murder_client.py peer/seed out.torrent OUT.OUT 127.0.0.1
** [out :: 172.23.99.7] 
** [out :: 172.23.99.7] The last parameter is the local ip address, normally 10.x.x.x
** [out :: 172.23.99.7] 
** [out :: 172.23.99.5] Incorrect number of arguments
** [out :: 172.23.99.5] 
** [out :: 172.23.99.5] Usage:
** [out :: 172.23.99.5] python murder_client.py peer/seed out.torrent OUT.OUT 127.0.0.1
** [out :: 172.23.99.5] 
** [out :: 172.23.99.5] The last parameter is the local ip address, normally 10.x.x.x
** [out :: 172.23.99.5] 
** [out :: 172.23.98.78] Incorrect number of arguments
** [out :: 172.23.98.78] 
** [out :: 172.23.98.78] Usage:
** [out :: 172.23.98.78] python murder_client.py peer/seed out.torrent OUT.OUT 127.0.0.1
** [out :: 172.23.98.78] 
** [out :: 172.23.98.78] The last parameter is the local ip address, normally 10.x.x.x
** [out :: 172.23.98.78] 
command finished

failed: "sh -c 'python /u/apps/example-app/shared/murder/murder_client.py peer       '\''/tmp/Test_2.tgz.torrent'\'' '\''/tmp/Test_2.tgz'\'' LC_ALL=C host 172.23.99.7 | awk '\\''/has address/ {print $4}'\\'' | head -n 1'" on 172.23.99.7; "sh -c 'python /u/apps/example-app/shared/murder/murder_client.py peer '\''/tmp/Test_2.tgz.torrent'\'' '\''/tmp/Test_2.tgz'\'' LC_ALL=C host 172.23.98.78 | awk '\\''/has address/ {print $4}'\\'' | head -n 1'" on 172.23.98.78; "sh -c 'python /u/apps/example-app/shared/murder/murder_client.py peer '\''/tmp/Test_2.tgz.torrent'\'' '\''/tmp/Test_2.tgz'\'' LC_ALL=C host 172.23.99.5 | awk '\\''/has address/ {print $4}'\\'' | head -n 1'" on 172.23.99.5

ご覧のとおり、すべてのピアで「引数の数が正しくありません」というエラーがスローされます。

その前のすべて (トレントの作成とシード処理の開始) は正常に機能しました。

4

1 に答える 1

0

殺人は IP アドレスのホスト定義と互換性があるとは思えません。「ホスト」で解決できるドメイン名を期待しているため、ログ出力からのこの小さな美しさ:

`LC_ALL=C host 172.23.99.5 | awk '\\''/has address/ {print $4}'\\'' | head -n 1'`

バッククォートなしで実行すると、対応する DNS エントリを持つ IP アドレスでさえ、空の出力が得られることに気付くでしょう。それが「引数の数が正しくありません」というエラーの原因です。

ifconfig を使用して、ホストの代わりに IP アドレスを把握するというプル リクエストが github にあるようです。必要に応じてその人のパッチを使用できますが、複数のインターフェイスを持つホストを処理しません。はるかに優れた解決策は、マシンに奇妙な DNS エントリを追加することです:)

編集:

実際には、これで IP アドレス ホストと DNS サーバー定義の両方がうまくいくと思います。

プル リクエストを再度参照して、ホスト行を次のように置き換えます。

HOST = "LC_ALL=C host $CAPISTANO:HOST$ | awk '/has address/ { print $4 } // { print \"$CAPISTRANO:HOST$\" }' | head -n 1"

ホスト名が IP アドレスに解決されない場合は、capistrano ホスト サーバー名 (この場合は IP アドレス) を出力するだけです。

于 2012-07-18T01:46:42.703 に答える