ラベル トラブル の投稿を表示しています。 すべての投稿を表示
ラベル トラブル の投稿を表示しています。 すべての投稿を表示

2012/01/17

MacOS X Lion : メール添付されたzipが開けない・・・ Thunderbird が原因だった

Stuffit Expander は優秀。パスワード付き zip でも lha でも、ほとんどのアーカイブを解凍してくれて重宝します。Macユーザにとっては MUST HAVE なツールですね。

MacとWindowsのzipファイルの互換性は過去の話かと思いきや、Windowsで作成され、メールに添付されたzipファイルが開けないという問題に遭遇しました。
Stuffit は「アーカイブが破損している可能性があります」と報告し、コマンドラインのunzipで展開しようとしても「End-of-central-directory signature not found」zipファイルではない、と言われる。

仕事のメールでじっくり調べている時間もないので、とりあえずWin機を起動してそちら側で添付ファイルを解凍していたが、自宅にいないとこれはできないので何かと不便。


最初はzipの互換性の問題かと思い、The Unarchiver や WinZip for Mac などいくつかの解凍ソフトを試すがどれもNG。
一時は AppStore で有償のアーカイバ買わなきゃダメか? とまで思った。

ふと思いつき、メールの添付ファイルをWebメーラからダウンロードしてみたらあっさり解凍できた。
メーラは Thunderbird を使用しているが、Thunderbird には添付ファイルのエンコード名の扱いによって添付ファイルが壊れることがあるらしい。

出典 : [ソフトウェア]Thunderbirdの添付ファイル不具合


これは少し古いバージョンの話なのと、今回の添付ファイル名には日本語は使われていないので同じ原因であるかどうかは怪しいところ。
ただ、メーラの相性によって Thunderbird で添付ファイルが壊れることがあるのだけは事実。
Thunderbird を使用していて上記のエラーに遭遇したら、一度他のメールクライアントやWebメーラなどで添付ファイルを落としてみましょう。

あ、でも Win機も Thunderbird だけど、こっちはファイル壊れていなかったな。
プラットフォームか文字セットの設定に依存しているっぽい。
ん〜、MacとWindowsの障壁はまだまだ無くならないようです。

2011/11/03

MySQL を 5.5 にアップデートしたら起動しなくなっちまった


CentOS 5にインストールした MySQL を 5.0.67 から 5.5.17 にアップデートしたら起動しなくなったので解決方法をメモ。
(いきなりバージョン飛ばし過ぎというツッコミはおいておいて・・・)

まずは基本、mysql.log を確認。
111102 23:44:11 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
111102 23:44:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
だそうで。
とりあえず言われた通りに mysql_upgrade してみるけどサーバに接続できないと怒られる。だからそのサーバが起動しないんだって!

試行錯誤の結果、 my.cnf の設定が原因であることが判明。
サーバの文字コード設定が default-character-set から character-set-server に変更されています。
実はこの変更は MySQL 5.0 からされていたようですが(知らなかった・・・汗)、MySQL 5.5.3 で非推奨のパラメータが全て廃止された(エラーになるようになった)ために起動しなくなったのでした。

下記のブログが参考になりました。MySQL 5.5.3 での主な変更点がまとめられています。

「え? そこ?」 という感じだが、サーバの文字コード指定の記述を修正したら mysqld_safe が起動するようになった。ついでに FADERATED エンジンも使わないので無効にしておく。
[mysqld]
character-set-server=utf8
skip-federated
その後、mysql_upgrade を実行し、セーフブートから通常の起動に変更して無事にアップデート完了。

ちなみに、アップデート後に my.cnf のサーバ文字コードの設定の記述を default-character-set に戻して mysqld を起動してみたら、ログには以下のようなエラーが出力された。

111103  0:19:50 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
111103  0:19:50 [ERROR] Aborting
今度はちゃんと設定がおかしい旨のメッセージが出力されている。

テーブルのアップグレードチェックでエラーとなった場合は、default-character-set に関するエラーメッセージが出力されずに mysqld がシャットダウンしてしまうようなので要注意です。

(2011/11/11:追記)
MySQL 5.5.3-m3 で廃止された変数やオプションは default-character-set だけではありません。
その他の廃止された変数やオプションを指定している場合は、これらも対応しなければなりません。

下記のブログで廃止になった変数とオプションがまとめられています。

[mysql]MySQL 5.5.3-m3 で廃止になった変数やオプションなどを整理しました