- æ¥æï¼ 2014/08/03 15:44
- ååï¼ elder_lab
- 1.不明点・障害内容:ftpでput実行時にエラーになる
2.ログの有無 :なし (有:その内容) : 3.Distribution :CentOS Version :6.3 4.Service Name :- Version :- 5.ネットワーク構成:-
<症状> CentOS6.3からftpサーバに接続しputコマンドを実行した際、コマンドの長さが以下の様に長くなると 「Sorry,Input line too long」というエラーで失敗する。
コマンド例 putaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt /tmp/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa2.txt
<環境> ftpクライアント=CentOS6.3 ftpサーバ=CentOS5.7,REHL6.3,SLES11(ftpソフトはvsftp2.0、vsftp2.2やPureftpdなど)
<検証1> ファイル名の長さが問題かどうか検証 putaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt であれば成功するのでファイル名の長さの問題ではないと思われる。
<検証2> CentOS5.7やSLES11からRHEL6.3のftpサーバ(vsftpやPureftpd)へ接続し、同じコマンドで成功する事から、 ftpサーバ側の問題ではなく、CentOS6x独自の問題ではないかと思われる。 (そもそも「Sorry,Input line too long」というメッセージはクライアントで出しているんですよね)
<検証3> OSの仕様なのかftpクライアントの仕様なのか検証 CentOS6.3に、CentOS5.7付属のftpクライアント(ftpコマンド)をインストールして検証してみたが やはり「Sorry,Input line too long」というエラーで失敗する。 (コマンド長を短くすれば成功するので、コマンドは正常に動いている)
以上の事からCentOS6.3の最大コマンド長の設定に起因していると推測しているのですが、 その設定がどこで設定され、変更可能かなどをご存知の方がいらっしゃれば教えて頂けないでしょうか。 参考までに、「getconf ARG_MAX」でCentOS6.3、CentOS5.7、SLES11を調べると、CentOS6.3が最も大きい値でしたが、 これはシェル組み込み系コマンドの最大長値なのでftpコマンドには当てはまらないと考えています。
恐らく「そこまで長いファイル名にする必要があるのか」とか、 「送信先をフルパス+ファイル名指定にする必要があるのか」という疑問を 抱かれる方もいるかと思いますが、客先の業務上そうせざるを得ないと 言われてしまっています。
ご回答のほどよろしくお願いします。
|