一週間悩んだのでメモ。
open-vm-toolsをインストールしてみる
VMWare ToolsのOSS実装があるらしい。yumでインストールできる。これで上手く行けば一番楽。動かなかったのでアンインストール。
[root@localhost user]# yum install open-vm-tools [root@localhost user]# yum remove open-vm-tools
必要なパッケージのインストール
Minimalでインストールして、ほとんど何も入っていないので、以降の手順で必要なものをインストール。kernel-develはバージョン番号を指定する必要があるらしい。
[root@localhost user]# yum install perl gcc net-tools kernel-devel-$(uname -r)
VMWare Toolsのインストール
open-vm-toolsではダメだったので、普通にVMWare Toolsをインストールする。
VMWareのメニューから、管理 → VMWare Toolsのインストール
[root@localhost user]# mount /dev/cdrom /mnt/cdrom [root@localhost user]# tar zxvf /mnt/cdrom/VMwareTools-9.6.2-1688356.tar.gz [root@localhost user]# vmware-tools-distrib/vmware-install.pl [root@localhost user]# rm -rf vmware-tools-distrib/
選択肢は全てデフォルト。途中で↓のようなエラーが出てコンパイルに失敗するが、とりあえず最後まで進める。
In file included from /tmp/modconfig-M45vq5/vmhgfs-only/inode.c:36:0: /tmp/modconfig-M45vq5/vmhgfs-only/inode.c: 関数 ‘HgfsPermission’ 内: /tmp/modconfig-M45vq5/vmhgfs-only/./shared/compat_dcache.h:57:38: エラー: ‘struct dentry’ は ‘d_count’ という名前のメンバを持っていません #define compat_d_count(dentry) dentry->d_count ^ /tmp/modconfig-M45vq5/vmhgfs-only/inode.c:1904:23: 備考: in expansion of macro ‘compat_d_count’ int dcount = compat_d_count(dentry); ^
ソースの修正
Workstation 10.0.3 and Centos 7 Guest Tools | VMware Communities
を参考にファイル共有用のドライバのソースを修正する。
[root@localhost user]# cd /lib/vmware-tools/modules/source/ [root@localhost source]# tar xvf vmhgfs.tar [root@localhost source]# chmod u+w vmhgfs-only/shared/compat_dcache.h [root@localhost source]# vi vmhgfs-only/shared/compat_dcache.h
54行目の
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
を
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
に書き換える。
[root@localhost source]# chmod u-w vmhgfs-only/shared/compat_dcache.h [root@localhost source]# tar cvf vmhgfs.tar vmhgfs-only [root@localhost source]# rm -rf vmhgfs-only
再インストール
[root@localhost source]# /bin/vmware-config-tools.pl
これでインストールが通れば良い。 管理 → 仮想マシン設定 → オプション → 共有フォルダ でフォルダを追加する。/mnt/hgfs/にこのフォルダが見えていれば成功。