古都で働く、プリングルズ大好き似非システム管理者が、お仕事関係の備忘録を書いたり、日々のあれこれを書いたり。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
CentOSでファイルサーバを作る。(6)
旧ファイルサーバでは、共有領域のファイル名の文字コードはS-JISを使用していた。今回、CentOSを使用するにあたり、システムの文字コードであるUTF8に合うよう変換を行う。
実は、文字コードの問題は、初代ファイルサーバを旧サーバである玄箱に移行した際に既に分かっていたのだが、その時は玄箱にPerlをインストールする余裕がなかったので、samba側の設定で何とかしのいだ。しかし、Windowsからファイルを見る時には問題ないのだが、ターミナル上でファイルを一覧しようとすると文字化けしてしまって、ファイル管理にはかなりの支障があった。今回、UTF8へ移行した事で、遅ればせながらではあるがやっとスムーズな管理ができるようになった。
ファイル名の変換には、convmvというPerlスクリプトを使用する。当然、システムにPerlがインストールされていなければならないので、まずは yum install perl としてPerlをインストールしておく。
続いてconvmvを準備する。上記のfreecode.comのサイトの他、https://www.j3e.de/linux/convmv/ でもダウンロードできる(こちらが配布元のサイト、らしい)。Win機を使ってダウンロードしてからsamba領域へコピーしたり、またはSCPを使ってもよいが、今後また別のファイルをダウンロードする事があるかもしれないので、念のためにも今回はwgetを先にインストールして使用した。 yum install wget でインストールしたら、 wget ファイルのURL でカレントディレクトリへファイルがダウンロードできる。
ダウンロードしたファイルは、ホームディレクトリのbin以下へ配置しておき、tar zxvf ファイル.tar.gz で解凍する。この記事を書いている現在はconvmv-1.15が最新で、解凍するとconvmv-1.15という名前のディレクトリができる事になる。なのでまずは、そのディレクトリへ移動する。そこで ./convmv --help してヘルプが表示されれば、準備は完了だ。
使い方については、 http://at-aka.blogspot.jp/2010/07/convmv.html や http://d.hatena.ne.jp/over80/20080413/1208096185 を見ると分かりやすいが、ここでも使い方に触れておく。
といっても、S-JISからUTF8へ変換する作業は難しくはない。が、いきなり実行してしまって失敗しないとも限らないので、明示的に変換を実行させないと、実際に変換が行われる事はない。
convmvがあるディレクトリ(このエントリに沿えば、~/bin/convmv-1.15 ということになる)で ./convmv -f sjis -t utf8 変換したいファイル とすると、事前に変換結果を見る事ができる。今の場合、/mnt/samba 以下に変換したいファイルがあるとすると、./convmv -f sjis -t utf8 /mnt/samba/* でsambaディレクトリ以下にあるファイルが変換される事になる。サブディレクトリ以下も変換させる場合は、-r オプションをつければよい。
まず結果を確認し、正常にファイル名が変換される事を確認したら、今度は --notest オプションをつけて実行する。ここでの例でいけば、 ./convmv -r -f sjis -t utf8 /mnt/samba/* --notest とすると、実際に変換が実行されるだろう。
これでファイル名の文字コードをシステムに合わせることができ、WindowsでもCentOSでも正常にファイル名が表示できるようになった。
ここまでで、CentOSを新規インストールしファイルサーバとして利用できるようになり、旧サーバからのデータの引継ぎも終わった。次からは、ファイルサーバ領域のバックアップやSSH接続の設定変更など、実際に運用していくにあたってやっておいた方がよいであろう設定を行っていく。
PR