Communes

サイバーダックとうるう年とOSX10.4

なかなか楽しいうるう年でした

サイバーダック 3.0〜3.1

写真をブログにFTPで一括転送していたら、タイムスタンプがすべて「不明」になってしまいました‥‥‥

使用アプリはCyberDuck3.0(MacのFTPアプリ)

解決策:端末側で3/1にしてタイムスタンプのチェックを入れて転送すれば2/29を3/1と見なして「不明」という奇妙な表示は防げます。もちろん24時間ズレてますけどね。しかし、サイト運営やブログ運営では、タイムスタンプの改ざんはスパムと同義ですから、このテクはダメですね。

最新バージョン4.2はOSX10.5以上ですから、うちのマク子はOSX10.4なので使えません。

http://cyberduck.ch/changelog/

OSX10.4最終版は「3.2.1」なのでした。
http://update.cyberduck.ch/Cyberduck-3.2.1.dmg

3.2 (4648) Apr-26-2009 [Feature] Support for Modification Time (MFMT) extension (draft-somers-ftp-mfxx-04) (FTP)
これですね。

しかし、バグ対策されていないというか、タイムスタンプがうまく取得できないサーバーもあるようで、CyberDuck 3.2より前のバージョンを使うと、うるうどしの2/29だけ「不明」で表示されます。いまさらネタですけど、今日たまたま遭遇したのでインターネットって素敵ですね。

たのしい♪ さっそくアップデートしてみました。


ついでにS研さんに教わったテクニック

設定から不可視ファイルを表示やピリオドではじまるファイルを表示させるようにしても、.htaccessなど先頭ピリオドの付いたファイルだけ表示されない場合は拡張リストコマンドを指定しましょう

defaults write ch.sudo.cyberduck ftp.sendStatListCommand false
defaults write ch.sudo.cyberduck ftp.sendExtendedListCommand true

更に 3.2以降では以下の1行が必要となります。
defaults write ch.sudo.cyberduck ftp.sendMlsdListCommand false

これでMacOSXでCyberDuckで.htaccessが表示されるようになります。
オーナー名も正しくrootと表示されるようになります。

謝辞:須藤総研様


MacOSX10.4とCyberDuck3.x系の相性で、一部のサーバーではsendMlsdListCommandが falseだと日付が「不明」になります。ここがtrueだと日付はタダ行く表示されますが、グループやオーナー表示そしてピリオドではじまるファイルが表示されなくなります。これらはマッチング(相性)の問題なので、解決する方法はありません。(ようはOSX側にも問題がある=OSのバグ)

ゆえに、2/29だけ、日付確認はログでチェックするか、またはFTPのブラウズ画面で日付だけ非表示にしてしまうと精神的にはよろしいようです。サイバーダックの表示だけの問題ですので、ログで確認しても見えるように、タイムスタンプ日付そのものの処理はすべて「正常」に行われています。(ブラウズさせるときに、基準となるftp.sendの解釈ミスということで、ピリオドではじまるファイルを優先すると日付がうるう年だけコケて、ピリオドを優先しなければ正しく表示される、というダケです。

まあ、表示系のバグには変わりませんけどね。

苦肉の策 → ブラウズ画面で日付を非表示へ。タイムスタンプ確認はログ画面でチェック!

Trackback URL: トラックバック用URLを生成するには、JavaScriptを有効にしてください。

No trackbacks

コメント(0)



エモティコン
投稿から7日が経過した記事のコメントはスパム防止のため簡単なクイズにお答え下さい
個人情報を記憶
通知
アドレス非表示
注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。
Copyright (C) 2024 Communes ™ All Rights Reserved.