mieki256's diary



2007/10/02(火) [n年前の日記]

#1 Vine Linux 4.1 の ProFTPD設定でハマる

新サーバ機にftpでアップロードしたら時刻がずれてることに気づいた。なんでや。TimesGMT off は指定してるのだけど。

_15: ftpファイルの時刻について :

_Vine Linux errata [proftpd のバグ修正]
proftpd サーバは、クライアントに返すファイル/ディレクトリの MDTM (更新日時) を、proftpd が動作しているマシンのローカルタイムに 準じて返しています。 (/etc/proftpd.conf で TimesGMT FALSE となっている場合) しかし、多くの FTP クライアントは、FTP サーバが返す MDTM を GMT と期待して動作しており、例えば lftp でファイルを取得すると、 サーバ上の日付より進んだ更新日時となってしまいます。アップストリームでこの件について議論が行われ、 MDTM は常に GMT で返した方が良いだろうという結果になり、 バージョン 1.3.1rc1 に修正が入りました。

Vine Linux errata [proftpd のバグ修正] より


_No.4981 ProftpdでTimesGMTが有効にならない

_FTPサーバ(ProFTPD)の構築(SuSE9.3編)
SuSE9.3(9.2も発生)では、localtimeを使用するように指定(TimesGMT off)していても、uploadしたファイル自体の更新時刻はlocaltimeになるが、クライアントでの表示やProFTPDのログがGMTになってしまう問題が発生する。これはchrootすると、/etc/localtimeが読めなくなることに起因するようなので対策が必要である。

FTPサーバ(ProFTPD)の構築(SuSE9.3編) より


_アップロードしたファイルのタイムスタンプのクライアントでの表示やログがGMT(9時間前)になってしまう。
この問題は、chrootする時に発生するが、原因はglibc-2.3のバグによるものである。

アップロードしたファイルのタイムスタンプのクライアントでの表示やログがGMT(9時間前)になってしまう。 より


_T-4の整備日誌v2: ProFTPdの時刻がずれる問題
しかしながら、この現地時間設定ファイルはユーザディレクトリの外にあるため、アクセス出来ません。本来はアクセス出来る権限のあるプロセスが行うので問題ないのですが、glibc-2.3のバグによって出来なくなっていました。長く書きましたが、これによってログに吐き出されるアクセス時刻がGMT(世界協定時)のままログに書き出されてしまっていました。私(管理者)はFTPでアクセスしても自由にディレクトリを移動出来るようにしているので、現地時間設定ファイルにもアクセス出来、気がつきませんでした。そのためログの時系列が目茶目茶になった挙句、ログが飛んでしまっていました。

T-4の整備日誌v2: ProFTPdの時刻がずれる問題 より



たしかにFTPサーバのログも時間がずれていた。なんだかやっかいだな…。

_ITmedia エンタープライズ : Linux Tips「ProFTPDでタイムスタンプが9時間ズレてしまう」 :

少なくとも、この記事にあるような「TimesGMT off」指定はもう古いということなんだろうか。…よくわからん。

_TimesGMT off と TimesGMT FALSE では動作が違っていたらしい :

proftpd の localtime がGMTになってしまうというのは検索すると/etc/proftpd.confに「TimesGMT off」と記述するように書いてある。「TimesGMT off」と記述して正常な時間を表示するようになったのだが、またおかしくなって直す方法が分からなかった。今日、vine の proftpd は正常な時間を表示するので /etc/proftpd.conf を見ると「TimesGMT FALSE」になっていた。CentOSも「TimesGMT FALSE」するとOKになった。

TimesGMT off # 誤り
TimesGMT FALSE # 正しい

いつから変わったんだ?

kazkaz diary - tDiary エラー - エラー , proftpd の localtime より

off と FALSE が同様に扱われない状況もありうるのか…。したり顔(?)で「offもFLASEも同じですよ」とは言えなくなってるのだな。

_satospo - ProFTPDのGMT問題 :

方法1 : proftpd.confでSetEnvディレクティブを用いてTZ環境変数を定義します。
proftpd.confで、

SetEnv TZ JST-9

とします。

satospo - ProFTPDのGMT問題 より

これだ! つーかこんな指定ができるのか。

とりあえず、Vine Linux 4.1 + proftpd-1.2.10-0vl5.5 では、
#TimesGMT FALSE
TimesGMT off
SetEnv  TZ JST-9
DefaultRoot 
の記述でなんとか。
  • FFFTP で、タイムゾーンを「GMT+9:00(日本)」にしてアクセスしてる分には、日本時間でファイルのタイムスタンプが表示できてるように見える。
  • ftpサーバのログも日本時間で記録されてるように見える。
てな状態に。

この記事へのツッコミ

Re: Vine Linux 4.1 の ProFTPD設定でハマる by いくみ    2010/02/17 01:58
CentOS5.4 + Proftpd 1.3.2でも同じ現象出てます。
TimesGMT off
SetEnv TZ JST-9
DefaultRoot
で直りました。

#2 [web] _mixiの新デザインに文句を言う人は、自分がすでにmixiのターゲットユーザではないことに気づくべきだ

名言(?)のような気がしました。

#3 [web][pc] _IPAが日本語フォント「IPAフォント」を一般に配布:ITpro

お。 _(via はてブ)

#4 [cg_tools] _アルファチャンネルにアンチエイリアスを書けているから無問題

透明との境界は事前に透明度が100%以外のとこのRGBを最寄の不透明部分の色データで埋めて=縁取りしてアルファも一緒に暈せば大概OK

はてなブックマーク - mieki256's diary - アニメ作成ソフトはどの段階でジャギ消し・アンチエイリアスをかけるんだろう より

アルファチャンネルにアンチエイリアスを書けているから無問題

はてなブックマーク - mieki256's diary - アニメ作成ソフトはどの段階でジャギ消し・アンチエイリアスをかけるんだろう より

なるほど、そんな技(?)が! 勉強になるであります。

やはり合成前の素材に対して処理ができる・処理をしているのか…。

#5 [prog] _Rubyコーディング規約

プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。)

Rubyコーディング規約 より

メモ。

_ インデント - ただのにっき (2003-02-13) :

はっきりいって、空白を使った固定インデントにはどうしても馴染めないのだよ。インデント幅なんて、見る人がいちばん気持ちがいい値に合わせられた方がいいに決まってるじゃないか。TABでインデントしておけばエディタの設定で自由に調整できるのに、なんで空白使って自分のインデント幅を強要するのが流行ってんのか、どうしても理解できん。

ちなみに初めてPascalのコードを書き始めた時、インデントは4だった(もちろんTABによる)。その後CやC++でも4で(途中で2に浮気したことも)、Rubyでは3が気持ちがいいことに気づいてからは、~/.vimrcにはがっちり「set ts=3」って書いてある(笑)。今ではすっかり3の間合いが染みついた。だが、ずーとTABを使ってきたおかげで、昔のソースを開いてもストレスなく今の間合いで読むことができる。なんと幸せな習慣であろうか。

インデント より


_最速インターフェース研究会 :: タブとスペースと萌ディタの話
タブの幅を自分好みにしたいっていうと解決策は色々あるんだろうけど、一番手っ取り早いのはタブを使うことなんじゃないの?タブを使ってインデントしてればエディタの設定だけでファイルの内容に手を加えずに見た目だけ変えられるから楽。

なんかそもそもタブを使わずにスペース4で統一せよってのはフォントサイズをピクセル単位で指定したがるデザイナの言い分みたいで気に食わない。そういうことをプログラマが(多様性が美徳のPerlプログラマが)、言うことに、なんか引っかかりを感じる。行頭以外の箇所でタブを使ってるとひどいことになるけれど、それさえしなければ後は個人が好きにできるようにタブでインデントした方が良いんじゃないの?って思うんだけど。

最速インターフェース研究会 :: タブとスペースと萌ディタの話 より

なるほど。それもアリのような…。

#6 [xyzzy] xyzzyで特定種類のファイルの文字コードを指定

_xyzzyの使い方が分からぬやし 励ましあえ その8
146名無しさん@お腹いっぱい。sage2005/11/22(火) 10:13:29 ID:TbvdOM8t0
    find-fileでファイルを開くとき、既存のファイルならそのままの文字コードで開き、
    新しいファイルなら拡張子ごとに文字コードを設定することはできますか?
    前スレにあったやつでは既存のファイルの文字コードも変更されてちょっと不便なので。
149名無しさん@お腹いっぱい。sage2005/11/22(火) 13:31:44 ID:dESgBXzK0
    >>146
    template-insert.l と前スレを参考に書いてみた

    (add-hook '*find-file-hooks*
              (lambda ()
                (let* ((name (get-buffer-file-name))
                       (type (pathname-type name)))
                  (when (and name (not (file-exist-p name)))
                    (cond ((string-equal "rb" type)
                           (set-buffer-fileio-encoding *encoding-euc-jp*))
                          ((string-equal "java" type)
                           (set-buffer-fileio-encoding *encoding-utf8*))
                          (t
                           (set-buffer-fileio-encoding *encoding-sjis*)))))))
160名無しさん@お腹いっぱい。sage2005/11/24(木) 04:44:40 ID:H6yp41CN0
    >>149
    ついでにお願いなんですが、拡張子を「.html.ja」のような形式にも
    対応させてほしいのです。 
161149sage2005/11/24(木) 07:42:35 ID:blL6ydov0
    >>160
    ((string-equal "java" type)
    (set-buffer-fileio-encoding *encoding-utf8*))
    の下あたりで
    ((pathname-match-p name "*.html.ja")
    (set-buffer-fileio-encoding *encoding-utf8*))
    とかやればいいはず。 
おお。

_ManNaka: xyzzyで保存したRuby CGIがエラーを吐く件 :

utf8じゃなくてutf8nを使ったほうがいいのか…。

#7 [prog] xyzzy + ruby-modeで実行できなくて悩む

環境変数 RUBYOPT に -Ku を指定してる状態で、DOS窓から下のスクリプトを実行すると両方動いてくれるのだけど。(DOS窓内なので、上は文字化けするが、実行はされる。)
#!/usr/bin/ruby

puts '終了'
#!/usr/bin/ruby

require "tk"

TkLabel.new {
  text 'こんにちは'
}.pack

TkButton.new {
  text '終了'
  command 'exit'
}.pack

Tk.mainloop

_ruby-mode for xyzzy で、C-c C-x (editor::ruby-run-script-immediate) をしても、前者は動くが、後者はエラーが出る。こんな感じのメッセージが。
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\217' in expression
C:/home/prg/ruby/__temp_u4kp.rb:10: syntax error
  text '終了'
          ^
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\227' in expression
C:/home/prg/ruby/__temp_u4kp.rb:10: Invalid char `\271' in expression
C:/home/prg/ruby/__temp_u4kp.rb:11: syntax error
  command 'exit'
               ^
C:/home/prg/ruby/__temp_u4kp.rb:11: unterminated string meets end of file
C:/home/prg/ruby/__temp_u4kp.rb:11: syntax error
何故。utf8nで保存してるんだけどなぁ…。

スクリプトファイルを直接保存して実行するようにしたら動いた。 :

ruby-mode for xyzzy によるスクリプト実行は、標準設定なら仮ファイルを保存して、その仮ファイルを実行するのだけど。
~/.xyzzy に、
(setq *ruby-save-bufer-before-run* t)
と書くと、編集中のファイルを保存→実行するように処理が変わるようで。それならエラーを出さずに実行できた。

おそらく、仮ファイルを保存する際に、元ファイルの文字コードによってはおかしな状態で保存・実行されてしまうのでは。と根拠のない想像を。

_ [Ruby] Windowsのメモ帳によるUTF-8エンコーディング - Day by day (2007-03-05) :

関係あるかどうかわからないけどメモ。UTF8はBOMが入るのでよろしくないという話。

_Rubyist Magazine - 標準添付ライブラリ紹介 【第 3 回】 Kconv/NKF/Iconv :


以上、1 日分です。

過去ログ表示

Prev - 2007/10 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project