たこさんのメモ書き

Linuxの設定/構築のメモを残すのが主体です。
わからないこと、あれこれたくさん。

仮想マシンを作り直し

2008-12-20 23:40:58 | Weblog
VMware1.0.8をインストールし直し、以前の仮想マシンを使い始めたのだが、とんでもないミスをしでかして、仮想マシン上に構築した環境を失ってしまった。
環境を構築する前のバックアップイメージで、現在の仮想マシンを上書きしてしまったのだ・・・
GUIのボタンを押し間違えると、とんでもない目に遭う、という痛い教訓(泣)。

気を取り直して、仮想マシンを一から再構築。
不足気味だった仮想マシンの容量を4GBから8GBへ倍増させた。
メモリは256MBのまま。
これで、再びVineLinux4.2を仮想マシンへインストールした。
この仮想マシンに対し、ホストOSからsshで接続しようとした、が・・・
繋がらない。
エラーメッセージに、"man-in-the-middle-attack"という不気味な文言が・・・

原因がわからず、2日ほどうんうん唸っていたが、ウェブをさまよった末に解決策を見つけた。
ホストOSの、/home/hoge/.ssh/known_hots の内容を削除した上で、sshで接続してみれば良い。
viでこのファイルを開くと、英数字の羅列が4行ほどある。
試しに、最後の行をまるごと消去して上書き保存し、再びsshで接続してみた。

すると、「このマシンに接続するか?するならyesを」という旨のメッセージが。
これにyesと答えると、無事に仮想マシンへログインできた。

接続先のホストを再インストールした場合、Linuxのsshクライアントで接続しようとすると、
以前の接続情報と違うことを理由に、sshクライアントが接続を拒否するらしい。
(Windows版のputtyなら接続できるという話だが、未確認。)
そこで、接続情報を保存している、.sshディレクトリのknown_hostsファイルの中身を削除して、
それから接続すると、sshクライアントが接続先を新たなマシンとして登録してくれる、という理解でいいのかな?







VMware-serverが復活

2008-12-14 02:03:42 | Weblog
VMware-server1.0.8へアップグレードしようとして失敗し、止まったままのVMwareだが、このたびようやく復活した。手順は以下。

まず、VMwareのサイトからVMware-server-1.0.8-126538.tar.gzをダウンロードし、これを展開する。
$ tar zxvf VMware-server-1.0.8-126538.tar.gz
すると、vmware-server-distribディレクトリが生成される。
この中に、インストール用スクリプトが入っている。

古いVmware-serverを、改めてアンインストールした。
$ cd vmware-server-distrib/bin
$ sudo ./vmware-uninstall.pl
これで、以前のバージョンの残骸は消えるはず。

そして、VMware-server1.0.8をインストールする。
$ cd ../
$ sudo ./vmwarei-nstall.pl
すると、以前のバージョンと同じインストール過程を踏んで、インストールが行われる。
ネットワークはBridge接続にしているのだが、一応、NATもhost onlyも自動設定しておいた。

そして、メニューの「アプリケーション」-「システムツール」-「VMware server cosole」をたどれば、VMwareが起動する・・・はずだができない。ここまでは以前と同じ。
端末から、直接起動させてやる。
$ sudo vmware
すると、以下のエラーメッセージが現れた。
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)

検索すると、gccのバージョンが違うことによるエラー、らしい。
あれこれ調べていると、下記の記事を発見。
山河にありて
これに書かれている解決策を試す。
/lib/libgcc_s.so.1と、/usr/lib/libpng12.so.0を、vmwareの持っているそれぞれのファイルと置き換えるらしい。
$ sudo ln -sf /lib/libgcc_s.so.1 /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
$ sudo ln -sf /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0

以上で、改めてVMwareを起動すると、無事にVMware consoleが動いた。
これで復活。
以前に作成した仮想マシンも、普通に読み込まれている。
起動ボタンを押すと、こちらも復活した。


VMware server が停止

2008-12-02 23:26:40 | Weblog
Ubuntu8.04.1LTSはセキュリティアップデートが頻繁にある。
アップデートの告知も、アイコンで知らせてくれるのでとても便利だ。
先日、kernelのアップデートがあったので、さっそく適用した。
ところが・・・
VMware server 1.0.7が起動しなくなった。
よく考えると、VMware serverに接続するためのVMware consoleが起動しなくなっていたのだ。
しかし、慌ててVMware serverそのものをアップデートしようとした(新バージョンへ入れ替えようとした)のが仇になったのだ。
まず、VMware server 1.0.7をアンインストールした。
そして、VMware server 1.0.8をダウンロードし、インストールしようとした。
ところが、VMmonのコンパイル(?)のあたりで、エラーを吐いて止まってしまう。
カーネルのヘッダーファイルをコンパイルしたgccのバージョンが違う・・・というような意味のエラーメッセージが現れるのだ。
何か間違ったのか?と、改めてアンインストール、ファイルを削除してまたインストールを試みても、ダメ。

・・・これで、自宅サーバーの環境を失ってしまった。。
もちろん、仮想マシンそのものはまだ存在しているから、VMware serverをどうにかして入れ直せば復活できるはず。
UbuntuへVMwareを入れた記事は検索にあれこれヒットするが、残念ながら、即効的な解決法には行き当たらなかった。
(どうやら、パッチをVMware serverへ適用する手があるらしい?)

一息いれてから、よく探してみることにする。とりあえず、自宅サーバーはしばらくお休み。






VMware server 1.0.7 上のVine4.2でアンダーバーのキーが使えない

2008-11-11 22:48:07 | Weblog
VMware server 1.0.7のゲストOSであるVine4.2にログインしてから、端末でコマンドを入力していると、アンダーバーのキー(かなで「ろ」)が入力できない。
ホストOSであるUbuntu8.04.1LTS日本語版からsshでログインしていると、このような現象は起こらなかったのだが、ゲストOSにログインした場合に、例えばapache2の設定ファイルをいじっている時、アンダーバーが使えないと非常に困る。
あれこれwebを探すと、それらしい解決策を見つけた。
参考は、こちらおよび、こちらこちら
最終的には、ホストOSに入っているVMwareの設定ファイルを変更する必要がある。
ゲストOSのキーマップを変更してやるのだ。
そのためには、今使っている、JP109の日本語キーボードのキーマップをまず調べてやる。
それから、アンダーバーを押したときの「キーコード」を、キーマップの設定ファイルに追加してやるのだ。

作業1:コマンドxevを使い、アンダーバーのキーを押したときのキーコードを調べる。
xevコマンドとは、X-Window-Systemの反応を調べるためのコマンドらしい・・・
$ xev
これでxevを起動させると、「event tester」という名前の別の端末が開く。
マウスをこのevent tester端末上に置いて、アンダーバーを表示するためにShift+「ろ」キーを押してみる。
すると、下記のイベントが表示される。
KeyRelease event, serial 31, synthetic NO, window 0x4000001,
root 0x56, subw 0x0, time 5644148, (65,711), root:(659,759),
state 0x11, keycode 211 (keysym 0x5f, underscore), same_screen YES,
XLookupString gives 1 bytes: (5f) "_"
XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x4000001,
root 0x56, subw 0x0, time 5644335, (65,711), root:(659,759),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

よくわからないが、keycodeの部分を見ると、アンダーバー(underscoreらしい)のkeycodeは211のようだ。
(左側のシフトキー(Shift_L)は、keycode 50。)


作業2:日本語109キーボードの制御コードを調べる。アンダーバーの制御コードは何か?
VMwareの日本語キーボードの制御コードを記したファイルは、下記のファイル。
/usr/lib/vmware/xkeymap/jp109
アンダーバー=かなの「ろ」キーが、どの制御コードになっているかを調べる。
$ less /usr/lib/vmware/xkeymap/jp109
すると、該当するのは下記の部分のようだ。
kana_RO = 0x073

作業3:判明したアンダーバーのキーコードを、キーボードの制御コードに一致させてやる。
VMwareの設定ファイル ~/.vmware/preferences に、キーコードと制御コードをペアにした一文を追加してやるのだ。
以下の2列を、設定ファイルの末尾に追加して保存。
xkeymap.useKeycodeMapIfXFree86 = true
xkeymap.keycode.211 = 0x073

以上の作業をした上で、VMware serverを再起動する。
$ sudo /etc/init.d/vmware restart

ホストOSを起動し、端末からアンダーバーを入力すると、無事に成功した。
これでローカルからでも、ホストOSからのssh接続からでも、設定ファイルがいじれるようになった。




VMware-serverのネットワーク設定

2008-10-17 00:30:22 | Weblog
VMware-server上のゲストOSをインストールして、ホストOSとの通信を試みる。
必要なのは、ゲストOSのIPアドレスだ。
もちろん、ゲストOSのsshdが動いていること、ゲストOSのssh用通信ポートが開いていることが必要。
ゲストOSのIPアドレスを知るためには、ゲストOSの端末上でifconfigコマンドを使わないといけない。
ホストOS上でifconfigコマンドを使っても、ゲストOSのIPアドレスを表示できないのだ。
今回、仮想マシンのネットワーク設定は、「NAT」を選んでいる。

仮想マシンのネットワーク設定は、「ブリッジ」、「NAT」、「ホストオンリー」の3種類がある。
「ホストオンリー」は、ホストOSとゲストOSとの間でだけ通信ができるというもの。ゲストOSが外部と通信するのはダメ。
外部と通信できるのは、「ブリッジ」と「NAT」なのだが、この両者には違いがあって、
「ブリッジ」は、ゲストOSがルーター(モデム)と直接つながっているイメージ。
「NAT」は、ゲストOSがホストOSを通じてルーターとつながっているイメージだ。
前者は、ルーターとホストOS、ゲストOSが1つのネットワークにある。
後者は、ルーターとそれぞれのOSが別々につながり、2つのネットワークができている。

今回、ホストOSのあるネットワークが、ゲストOSのあるネットワークとは別に存在するようになっているため、ホストOSからゲストOSのIPアドレスは「見えない」。

しかし、ゲストOSのIPアドレスがわかっていれば、ホストOSから、sshコマンドでゲストOSのIPアドレスを直に指定することでssh接続ができる。
下記の例のように。
$ ssh user@192.168.75.128
user@192.168.75.128's password:
Last login: Thu Oct 16 23:58:00 2008
[user@localhost user]$

(参考)
ホストOS上のifconfigコマンドの結果。
$ /sbin/ifconfig
eth0 Link encap:イーサネット ハードウェアアドレス 00:21:85:1e:2f:e4
inetアドレス:192.168.0.8 ブロードキャスト:192.168.0.255 マスク:255.255.255.0

lo Link encap:ローカルループバック
inetアドレス:127.0.0.1 マスク:255.0.0.0
inet6アドレス: ::1/128 範囲:ホスト

vmnet1 Link encap:イーサネット ハードウェアアドレス 00:50:56:c0:00:01
inetアドレス:192.168.164.1 ブロードキャスト:192.168.164.255 マスク:255.255.255.0

vmnet8 Link encap:イーサネット ハードウェアアドレス 00:50:56:c0:00:08
inetアドレス:192.168.75.1 ブロードキャスト:192.168.75.255 マスク:255.255.255.0

ゲストOSでのifconfigコマンドの結果。
$ /sbin/ifconfig
eth0 リンク方法:イーサネット ハードウェアアドレス 00:0C:29:13:AF:01
inetアドレス:192.168.75.128 ブロードキャスト:192.168.75.255 マスク:255.255.255.0

lo リンク方法:ローカルループバック
inetアドレス:127.0.0.1 マスク:255.0.0.0

仮想マシンのOSにVMware-toolsをインストール

2008-10-16 23:53:46 | Weblog
前の記事に少し書いたが、VMware-toolsを仮想マシン上のVine4.2(ゲストOSという)へインストールする。
このツールのメリットは、仮想マシンとVMware server consoleとの間を、マウスポインタがスムーズに移動できること。仮想マシンの画面解像度を設定できること。vmxnetという仮想ネットワークドライバが導入され、ネットワークの接続速度が速くなる、ということだ。


これをインストールしない場合、マウスポインタを仮想マシンとVMware server consoleとの間を移動させるには、Ctrl+Altを押しながらマウスを左クリックする必要がある。
また、このツールは、仮想マシンのOSがランレベル5の場合でないと動かないようだ(vmxnetは別?)。

インストールの方法は下記。
仮想マシンのコンソールである、VMware server consoleのメニュー「VM」から、「Install VMware Tools」を選択する。
すると、仮想マシンのOSに仮想のCD-ROMがマウントされる。その中にRPMパッケージとしてVMware-toolsが入っているのだ。これを仮想マシンのOSにインストールする。
なお、このインストール作業時には、仮想マシンのOSをランレベル3にしておかないといけないらしい。
参考は、「複眼中心」。

ランレベル3に移行してから、
$ su -
# vmware-config-tools.pl
これで、vmhgfs、vmxnetの2つがコンパイルの末にインストールされる。
その次に、画面解像度の設定に入るのだ。解像度は800×600に設定した。

さらに、vmxnetの設定に入るが、このままランレベル3でもよいし、ランレベル5でGUI画面になってもOK。
ランレベル5なら、端末から、
# service network stop
# rmmod pcnet32
# rmmod vmxnet
# depmod -a
# modprobe vmxnet
# service network start
以上の一連のコマンドを操作する。最後にネットワークを再起動させているが、これでvmxnetが組み込まれて動き出す。
これで、VMware-toolsの設定は完了。

便利なのは、マウスポインタの移動がシームレスにできることだ。。
ただし、その恩恵はランレベル5でゲストOSを動かしている場合で、ゲストOSをランレベル3にしたら、それはできなくなる。Ctrl+Altキーを押しながらマウスをクリックするのだ。


なお、ホストOS(VMWare-serverをインストールしたOS)のkernelがアップデートされた時、VMware server consoleが起動しなくなってしまう。
kernelのアップデートごとに、設定スクリプト vmware-config.plを動かす必要があるのだ。
ただし、以前の設定を引き継ぐことができる(古い設定を破棄して新たに設定しなおすことも可能)。





VMware-server上にVine4.2をインストール

2008-09-29 23:31:57 | Weblog
VMware-serverには仮想マシンとしてOSをインストールできる。おおまかな手順を以下にメモ。

VMware-serverをUbuntuへインストールすると、GNOMEメニュー「アプリケーションーシステムツールーVMware server console」にアイコンが登録される。
これをクリックすれば、VMware-serverが動作する。

まず最初に、下図の「local」を選択してエンター。


次に、「create a new virtual machine」をクリックする。

すると、「New Virtual Machine Wizard」の画面に移る。この中の、「Virtual Machine Configration」の「Typical」にチェックを入れて、Next。

次に、Wizardの「Select a Guest Operating System」の2.Linuxを選択。Version欄にはRed Hat Linuxを選ぶこと。Vine2.4はRedHat系なので。Other 2.6 Linuxを選ぶと、インストールに失敗した。
「Name」には適当な名前を入れる。「Location」は初期設定値のまま。
さらに、「Network Connection」の「Use bridged networking」にチェックを入れ、Next。

「Disk Size」のDisk Sizeを選ぶ。初期設定値は8GBだが、ケチって4GBとした。(結果的には、少し足りないようだ・・・)
「Allocate all disk space now」にチェックを入れ、「Split disk into 2GB files」のチェックは外した。
ext3ファイルシステムに仮想マシンを構築する場合は、Split・・・のチェックは不要?

以上で、設定は終了。「finish」ボタンをクリックする。
すると、仮想マシンのためのディスクが作成される。しばらく待ってこれが終了すると、「Red Hat Linux」のタブがConsoleの画面に出現。
これで仮想マシンができた。

次に、これにVine4.2をインストールする作業を行う。
ISOイメージを焼きつけたCD-ROMがあるなら、CDをトレイに入れて、Consoleの画面の「Start」ボタンをクリックすればインストールが始まる(はず)。

今回は、ISOイメージをダウンロードしてハードディスクの/tmp/に置いた。なので、ISOイメージをそこから読み込むようにする。
「Red Hat Linux」タブを開き、「Edit virtual machine settings」をクリックする。
Device欄のCD-ROMをクリックすると、画面右側にDevice Statusが開く。


この部分の「Connection」の初期値は「Use a physical Drive」にチェックが入っているのだが、「Use ISO image:」にチェックを入れる。
そして、ISOイメージのありか(/tmp/)を「Browse」で選択する。

以上で設定は終了。Consoleの上部にある「Start」ボタンをクリックすると、/tmp/からISOイメージを読み込み、インストールが始まる。

インストール自体はごく普通に行われる。
しばらく待てば、Vine4.2が仮想マシン上に現れるのだ。。


仮想マシン上のVine4.2を使う上で、VMware-toolsをVine4.2へインストールすると、マウスポインタがVMware Consoleと仮想マシン上をスムーズに移動できて便利だ。また、vmxnetというネットワーク用ツールもインストールされる。

注意点として、仮想マシンを終了する場合は、VMware Consoleのメニューにある「Power Off」ボタンをクリックすること。仮想マシンを普通にシャットダウンしてはいけない。これをすると、VMware-toolsがうまく動かなくなってしまうのだ。vmxnetも使えなくなり、ネットワークに繋がらなくなってしまう。

CentOS5.0 LiveCD版

2008-08-19 06:31:06 | Weblog
CentOS5.0のLiveCD版がある。普通の(LiveCD版ではない)CentOSの最新版は5.2。
LiveCD版の内容は、主要なソフトのバージョンはやや古めだが、基本的なところはあまり変わらないようだ(?)。
早速、Dynabook T4で試してみる。
CDを入れて再起動させると、GNOMEの画面が立ち上がった。
が、しかし、その後が遅い。。
GNOME端末を起動すると、1分くらいかかる。
Firefox1.5を起動させると、20分たってもまだ起動しない。。。
topコマンドで処理を見ていると、CPUの負担は10%いかないのに、メモリは100%ちかいところまで使われているようだ。swap領域もないので、処理ができないらしい。
Ctrl+Alt+Delキーで再起動を試みても反応しないので、やむなく電源スイッチを強制オフ。
ランレベル3でテキストモードにしたらまともに動くのかな・・・

B'S Recorder GOLD9でISOイメージを焼くには

2008-08-14 22:13:05 | Weblog
きっと、なんでもないことなんだろうけど・・・
Dynbook T4には、B'S Recorder GOLD9が入っている。
ダウンロードしたPuppy LinuxとKNOPPIX5.3.1のISOイメージをCD-RWに焼こうとしたのだが、なぜかうまくいかない・・・
できあがったCD-RWが、ブート可能にならないのだ。
あれこれ迷ったあげく、操作方法の勘違いだったことが判明。

焼き付けるISOイメージのファイルを、「データウェル」ではなく「トラックウェル」へドラッグ&ドロップすること。
「データウェル」へファイルを移すと、自動で「トラックウェル」にも同じファイルが表示されるのだが、この状態でCDへ焼くと、ブータブルCDにならない。
「トラックウェル」にファイルを持っていくのが正解だった。。。

ISOイメージファイルは、そのままでブート可能なものなので、CDへ単純に焼けば良い。「ブータブルイメージを作る」などのオプションを使わないことも大切だ・・・

うーん、いらぬ手間をかけてしまった。。orz



Puppy Linux 4.00.3日本語版

2008-08-10 11:01:12 | Weblog
中古で入手したDynabook T4を利用して、いろいろと遊んでいる。
この機械は、PentiumIII(カッパーマイン)の996MhzのCPU、256MBのメモリ、Trident社のビデオチップが入っている。
WindowsXP HomeEditionがインストールされていて、Office2003も入っている。
IE7やWord2003を使っていると動作が「カクカク」することがある。メモリが足らないのだろうか。
この機械で、CDブートするLinuxディストリビューションを何種か試してみた。

まずPuppy Linux 2.16-1日本語版。
CDブートさせてみると、Xが起動しない。X-orgもXvesaも両方ダメだ。気長に待てば起動するのかもしれないが、5分くらい待っても反応しないのであきらめた。。

次にINSERT1.2.6(たぶん)
こちらをCDブートさせると、やはりXが起動しない。エラーメッセージを出して、テキストモードで起動する。プロンプトからstartxと入力しても、Xは動いてくれない。

最後にSLAX。
これはまともに動いた。最初はテキストモード で起動する(初期設定)が、ユーザーroot、パスワードtootを入れてstartxとやると、KDEが起動した。
SLAXはうまくできているのかな?

Xが起動しないところを見ると、どうやら、Tridentのビデオカードがくせものであるようだ。。
新しいディストリビューションだとどうだろう。
ちょうど8月5日に、Puppy Linux日本語版の新バージョン4.00.3が出たので、これを試してみることにする。

Puppy日本語版のサイトはこちら http://openlab.jp/puppylinux/
ここから、新バージョンのISOイメージをダウンロードし、CDに焼く。
Dynabook T4にCDを挿入して再起動(ブート順序を変えるためには、電源投入直後にF12キーを押すこと)。
すると、無事にPuppy4.00.3が起動した。Xも何事なく動き、GUI画面が出現。
新しいバージョンは、適応するハードウェアの幅がひろがっているということかな。

Puppy4.00.3の動きはあいかわらず軽い。機械のメモリに読み込まれて動いているせいだろうけど、メモリの残りが、タスクバーに「114M free」と表示されている。
urxvt端末でfreeコマンドを使ってみると、freeなのは5296KBみたいだ。。。