2006年3月3日金曜日

続・VMware+Windows+gpartでパーティションテーブルの修復



昨日からのつづき。



VMware+Windows+gpartでパーティションテーブルの修復



今回の話は、ディスクの修復とは関係なくて、まあ、FreeBSDでNTFSパーティションをマウントしたり、FTPしたりする話です。









■ 日本語のファイル名を使っているNTFSパーティションのマウント



man mount_ntfsすると例がのっていますが、コマンドの書式はこんなかんじです。

mount_ntfs -C eucJP スライス マウント先

たとえば、こんなかんじ。

freebsd# mount_ntfs -C eucJP /dev/da0s3 /mnt

lsコマンドで日本語のファイル名を表示するには、いろいろ細かい事情があって、ナニなんですが・・・VMware Playerのウィンドウの中に表示されているコンソールは、もともと日本語が表示できないので、どうがんばっても、日本語の文字は見えません。たとえばputtyやteraterm ssh(ttssh)でログインして、日本語を表示できる設定をしてください。

freebsd# /bin/ls /mnt | nkf
$AttrDef
$BadClus
$Bitmap
$Boot
$Extend
$LogFile
$MFTMirr
$Secure
$UpCase
$Volume
RECYCLER
System Volume Information
うんたら
かんたら
以下略

ファイル名の日本語の文字が表示できない原因としては



  • 端末エミュレータ(ttssh,putty,xterm,kterm,gnome-terminalなどなど)の設定の問題


  • lsコマンドの問題。lsが文字コードを親切にも変換してくれることがあります。環境変数LANGを設定すると、直ったりだめだったり。上記のようにパイプ(|)でnkf(/usr/ports/japanese/nkfからインストールできます)などを通すと、挙動が変わったり、悪化したり


  • ページャー(PAGER)、つまりlessとかmoreを使った場合、親切にも変換したり、し損ねて文字化けさせてくれることがあります


というわけで、いろいろ落とし穴があります。まあ、以上は、ファイル名だけでなく、日本語を扱う上で、いろいろ問題になりますねぇ。



Nihongo1



Nihongo2



ところで、細かいことは、気にしないように。







■ FreeBSDでFTPを有効にする



FreeBSDをインストールしただけでは、FTPは使えないようになってます。つい最近、FTPで個人情報流出とか報道されていましたが、FTPは情報流出の原因となることもありえますので、使うときは、十分注意してください。



● /etc/inetd.confの編集



/etc/inetd.confを以下のように編集して、FTPを有効にします。



この行の先頭の「#」マークを削除します。




ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l
#ftp    stream  tcp6    nowait  root    /usr/libexec/ftpd       ftpd -l
#ssh    stream  tcp     nowait  root    /usr/sbin/sshd          sshd -i -4
#ssh    stream  tcp6    nowait  root    /usr/sbin/sshd          sshd -i -6



● 現在inetdが起動している?



psコマンドでinetdが動いているか確認します。

freebsd# ps ax | grep inetd
  606  ??  Is     0:00.01 /usr/sbin/inetd -wW -C 60
  612  p0  R+     0:00.02 grep inetd

(grep inetd以外の)inetdがでてくれば、inetdはすでに動いていると思われます。



● 現在inetdが起動していない場合は、起動させる



/etc/rc.confに、以下の1行を追加します。

inetd_enable="YES"

「/etc/rc.d/inetd start」を実行して、inetdを実行します。

freebsd# /etc/rc.d/inetd start
Starting inetd.

● すでにinetdが起動している場合は、再起動させる



伝統的な方法としては、これ。

freebsd# kill -HUP `cat /var/run/inetd.pid `

ちょっと違うみたいな気がしますが、最近は、こんなのでもいいみたいです。

freebsd# /etc/rc.d/inetd restart
Stopping inetd.
Starting inetd.

■ WindowsからFreeBSDにFTPで接続する



昔から使い慣れているFFFTP Ver.1.82を使いました。



接続先のホストの設定をします。



Ffftp1





IPアドレスは、VMwareのFreeBSDで、ifconfigコマンドで調べることができます。ホストOS以外の別のパソコンから、VMwareのFreeBSDへFTPする場合、NATの設定やファイアウォールの設定などが必要になります(めんどくさいので今回は説明省略)。



VMwareのNAT機能に関しては、以下が参考にしてください。もっとも、FTPはNATしにくいプロトコルなので、sshほど簡単にはできないと思います。NATではなくBridge接続で使うのなら、あまり悩まないですむでしょう。





「文字コード」タブで、文字コードとしてEUCを使うようにしておきます。



Ffftp2



FTPで接続して、さきほどNTFSパーティションをマウントした/mntへ移動すれば・・・



Ffftp3



見えてますね。なお、単なる偶然なので、細かいことは気にする必要なし。



あとは、ファイルをがしがしWindowsへ転送します。



Ffftp4



・・・てゆーか、転送速度がやたらと遅い・・・使い物にならん・・・



VMwareの中のFreeBSDで、USB接続のハードディスクが、ちゃんとした速度で使えていないのが原因みたいです。





0 件のコメント:

コメントを投稿