FileZillaを3.15.0.1にアップデート

FTPクライアントソフトウェアのFileZillaが、2016年02月02日に3.15.0.1にアップデートされたので更新してみました。
更新内容は、

Fix for search dialog not displaying the results from the last visited directory of a search

ということで、「最後に訪れたディレクトリの検索結果を検索ダイアログで表示できない問題を修正」って、意味が分からないけど普段使いで支障がないので気にしないことにします。

でめたしでめたし。

FileZillaのアップデートでまたつながらなくなる

FTPクライアントのFileZillaについてです。
3.10.0.2の通知が来たので更新しましたが、また接続できなくなりました。
FTPで繋げる際の暗号化設定が増えたのですが、これがうまく生きてない感じです。
3.10.0.1では問題なかったので、また戻すことにします。

最近この手の不具合が多発していますが、大丈夫なのでしょうか。
https://filezilla-project.org/

FileZillaを3.9.0.6にアップデートすると使い物にならなくなる

FTPクライアントソフトFileZillaが3.9.0.6にアップデートしました。
起動時に通知されるので更新したのですが、その直後からFTPサーバから蹴られるようになってしまいました。
どうもSSL3.0がらみの更新が原因のようですが、対応方法がよくわかりません。

仕方がないので、3.9.0.5に戻して元に戻りましたが、本当にこれでいいのかよくわかりません。
いずれにしても、SFTPを利用していないので、SSLがらみの更新は保留ということでよさそうです。

自鯖LinuxにFTP機能をつける

基本的にGUI。
Webminがインストールされている前提です。

左のフレームより、サーバ>ProFTPD Server
インスコされていなければ「Click here」でインストール

Installing package(s) with command yum -y install proftpd ..

Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * base: ftp.oss.eznetsols.org
 * updates: ftp.oss.eznetsols.org
 * addons: ftp.hostrino.com
 * extras: ftp.oss.eznetsols.org
Setting up Install Process
Parsing package install arguments
No package proftpd available.
Nothing to do

.. install complete.

インスコ完了か・・・と思うとハマる。
よくよくみるとno package

しかたがないのでrpmを探しに出る
が、rpmは用意されていないので、
・・・なんだっけ?
インスコしたときは切羽詰まっててできたけど、
いまど忘れ。

思い出した。
http://dag.wieers.com/rpm/packages/proftpd/
ここでrpmを作って配布してくれているのでお借りする。

CentOS5なので、proftpd-1.3.1-1.el5.rf.i386.rpm でいいはず。

# rpm -ihv proftpd-1.3.1-1.el5.rf.i386.rpm
警告: proftpd-1.3.1-1.el5.rf.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 6b8d79e6
準備中...                ########################################### [100%]
   1:proftpd                ########################################### [100%]

なんか警告されいてるけどしらんぷり。
再度WebminでProFTPDを開くと、めでたく画面が表示されます。
ためしにサーバを起動すると問題なく起動

service proftpd start
proftpd を起動中:                                          [  OK  ]

後細かい設定は勢いで済ませた覚えてない・・・やばいな。

Net::FTP(PerlでFTPによるファイル送信を行う)

PerlFTPを利用したい場合、Net::FTPモジュールを利用することになるでしょう。
Net::FTPモジュールについて、説明や翻訳ページは検索すれば沢山見つかります。
しかし、送信するときに重要な「転送モード」について、説明してあるところは多くありません。
なぜかというと、Net::FTPモジュールのドキュメントには転送モードについては記述されていないからです。
ということで、このページでは、転送モードについてご紹介したいと思います。
使用したNet::FTPモジュールのバージョンは2.77でした。
Perlのバージョンが5.8であれば、インストールされています。

使い方

何はともあれ、次のコードを見てください。
Net::FTPモジュールを使おうという方にとっては、コードを見たほうが簡潔だと思います。

use strict;
use Net::FTP;
# FTP設定
my %ftp = (
	addr => 'exsample.com', # FTPアドレス
	user => 'user_name',    # ユーザー名
	pass => 'pass_word',    # パスワード
	dir  => '/public_html', # 送信先ディレクトリ
);
my $ftp = Net::FTP -> new( $ftp{'addr'}, Debug => 0 ) or die;
$ftp -> login( $ftp{'user'}, $ftp{'pass'} ) or die;
# カレントディレクトリの変更
$ftp -> cwd( $ftp{'dir'} );
# アスキーモード
$ftp -> type( 'A' );
# ファイルの送信
$ftp -> put( 'string.txt' );
# バイナリモード
$ftp -> type( 'I' );
# ファイルの送信
$ftp -> put( 'image.jpg' );
# 接続切断
$ftp -> quit();
exit;

転送モードアスキーを指定する場合は、typeに「A」を指定します。

$ftp -> type( 'A' );

転送モードバイナリを指定する場合は、typeに「I」を指定します。

$ftp -> type( 'I' );

備考

ドキュメントに記載されていないという意味では、今後変更になるかもしれません。
また、ソースコードを読めば判りますが、バイナリを指定する「I」以外に「E」や「L」も用意されているようです。

おわりに

翻訳サイトだけを読んで満足してはいけないということです。
実際に使っているからこそ、気がつくこともあるのです。
疑問に思った事について検索はもちろんのこと、
実際に動作しているモジュールのソースコードに目を通してみましょう。

更新履歴

2008-06-03
公開