時々LinuxサーバにFFFTPというftpツールを使ってファイルをアップする機会があります。
(このツールを使われたことがある方も多いかと思いますが。)
しかし、ある時ファイルをアップしようにもどうしてもバイナリ形式になってしまい、
ASCIIモードでアップされませんでした。
知識の乏しい私は、
知識のある知り合いに相談しました。
調べてみると、
ftp関連を管理するプロセス『vsftpd』に原因があるとのこと。
その設定ファイルである『vsftpd.conf』を見てみると、
デフォルト設定のままになっている項目を発見。
# ascii_upload_enable=YES → アップロード時にASCIIで転送不可
# ascii_download_enable=YES → ダウンロード時にASCIIで転送不可
そこで、頭についている "#" をのけて、
設定を有効化する。
ただし、その方曰く、
vfstpd は通常ftp接続が行われた際に、
xinetdプロセスにより起動され初期化されるため、
OS起動時からは起動していないとか。
ということで、xinetdプロセスを再起動させる。
[root@linux ~] # /etc/init.d/xinetd restart
しかし、変更した設定が反映されない。
xinetd.d配下のvsftpのconfファイルを確認すると、
以下の設定があった。
disable = yes
これは、xinetd 経由で vsftp を起動させない設定らしいです。
そのため、vsftpd プロセスを直接再起動する。
[root@linux ~] # /etc/init.d/vsftpd restart
無事FTPでASCIIモード転送が行えるようになりました。
ちなみに、今回のこの作業中に
新たに知った「grep」のコマンドオプションがあるので、
ついでに紹介します。
ただ、知っている方がほとんどだとは思いますが…
[root@linux ~] # cat a.txt
aaaaa
aaaab
aaaba
aaabb
…(省略)…
bbbba
bbbbb
[root@linux ~] # cat a.txt | grep aaaa
aaaaa
aaaab
baaaa
[root@linux ~] # grep -v 'a' a.txt
bbbbb
[root@linux ~] #
grep って奥が深く、便利なコマンドですよね♪
← 引数のファイルを
パイプでつないだgrepによって
フィルタをかけ、表示。
← 引数のファイルで、
aを含まない行のみを表示。
posted by ぃぬっくす at 14:44| 東京

|
Comment(0)
|
Linux
|

|