Kali LinuxにVMWare Toolsを導入する

 Backtrackの後継として公開されたKali Linuxを初めて導入してみましたが、VMWare Toolsを導入するのに少しノウハウが必要だったので、簡単にまとめておきます。

まずはVMware Tools in a Kali Guestを参考にして、VMWware Toolsの導入準備を行います。

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するはずです。


/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で出ているので、そのスクリプトのエラーが出ている行周辺を参照すると、

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の部分を見てみると、

# 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の場合、

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にセットするように書き換えます。具体的には、

# 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とファイル共有ができる機能と、仮想マシン/ホストマシン間をシームレスにマウス移動できる機能が非常にありがたいです。

コメントする