ttt

getttyent

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

2006-03-02 23:56:48 | デジタル・インターネット

昨日からのつづき。

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接続のハードディスクが、ちゃんとした速度で使えていないのが原因みたいです。


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。