Backtrackの後継として公開されたKali Linuxを初めて導入してみましたが、VMWare Toolsを導入するのに少しノウハウが必要だったので、簡単にまとめておきます。
まずはVMware Tools in a Kali Guestを参考にして、VMWware Toolsの導入準備を行います。
1 2 3 4 5 |
echo cups enabled >> /usr/sbin/update-rc.d echo vmware-tools enabled >> /usr/sbin/update-rc.d apt-get install gcc make linux-headers-$(uname -r) ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/ |
VMWare Toolsの導入については省略しますが、基本的に基本的にずっとリターンを押していればOKです。
ファイルのコピーが完了すると、半自動的に/usr/bin/vmware-config-tools.plに制御が移って設定を行うことになりますが、これも基本はリターンを押していればOKです。でも、おそらく最後に以下のエラーが出てabortするはずです。
1 2 3 4 5 6 |
... /etc/init.d/vmware-tools: 1088: local: ': bad variable name Blocking file system: failed /etc/init.d/vmware-tools: 1185: local: ': bad variable name Guest operating system daemon: done Unable to start services for VMware Tools Execution aborted. |
VMWare Toolsのバージョンによっては、エラーが出る行数は違うかもしれません。上記のエラーは/etc/init.d/vmware-toolsで出ているので、そのスクリプトのエラーが出ている行周辺を参照すると、
1 2 3 4 5 6 7 8 9 |
is_vmhgfs_needed() { local min_kver=`kernel_version_integer '2' '4' '0'` local run_kver=`get_version_integer` if [ $min_kver -le $run_kver -a "$vmdb_answer_VMHGFS_CONFED" = 'yes' ]; then echo yes else echo no fi } |
このget_version_integer
でエラーが出ていることがわかるはずです。で、get_version_integerの部分を見てみると、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Get the running kernel integer version get_version_integer() { local version_uts local v1 local v2 local v3 version_uts=`uname -r` # There is no double quote around the back-quoted expression on purpose # There is no double quote around $version_uts on purpose set `IFS='.'; echo $version_uts` v1="$1" v2="$2" v3="$3" # There is no double quote around the back-quoted expression on purpose # There is no double quote around $v3 on purpose set `IFS='-ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; echo $v3` v3="$1" kernel_version_integer "$v1" "$v2" "$v3" } |
このようになっていますが、結局のところv1, v2, v3がうまく返っていないことが原因なので、”uname -a”の結果を見て直接値を書き込んでしまいます。私が導入したKali Linuxの場合、
1 2 |
root@kali:/etc/init.d# uname -a Linux kali 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali6 i686 GNU/Linux |
このように返ってきたので、強制的にv1に3を、v2に7を, v3に2にセットするように書き換えます。具体的には、
1 2 3 4 5 6 7 8 9 10 |
# There is no double quote around the back-quoted expression on purpose # There is no double quote around $version_uts on purpose set `IFS='.'; echo $version_uts` v1="3" v2="7" v3="2" # There is no double quote around the back-quoted expression on purpose # There is no double quote around $v3 on purpose set `IFS='-ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz'; echo $v3` v3="$1" |
と書き換えてから再度/usr/bin/vmware-config-tools.plを起動し、同じようにリターンを押下して進んでゆくと、今度は正常終了するはずです。正常終了後、システムを再起動すると、VMWare Toolsで実現される様々な機能が利用できるようになります。個人的には、ホストOSとファイル共有ができる機能と、仮想マシン/ホストマシン間をシームレスにマウス移動できる機能が非常にありがたいです。