Vmware平台,Windows实机和Centos虚机共享目录hgfs问题的方法,不一样于Ubuntu

在Vmware搭载Centos安装vmtools过程当中有以下报错node

/tmp/modconfig-ygOywn/vmhgfs-only/inode.c: 
在函数‘HgfsPermission’中: tmp/modconfig-ygOywn/vmhgfs-only/./shared/compat_dcache.h:57:38: 
错误:‘struct dentry’没有名为‘d_count’的成员 
#define compat_d_count(dentry) dentry->d_count ^ /tmp/modconfig-ygOywn/vmhgfs-only/inode.c:1904:23: 
附注:in expansion of macro compat_d_count’ int dcount = compat_d_count(dentry);

这个报错致使虚机centos和实机windows共享目录时, hgfs目录会没法显示。 特别须要留意的是,centos虚机和window实机共享目录的解决办法不一样于ubuntu虚机。 ubuntu通常经过安装open-vm-dkms包, 并主动进行挂载就可解决共享问题。ubuntu

而对于centos虚机,这里,咱们须要修改vmtools源码中的compat_dcacche.h文件并从新安装vim

cd /tmp/vmware-tools-distrib/lib/modules/source/
tar -xf vmhgfs.tar #解压vmhgfs.tar,里面有个vmhgfs-only文件夹
cd vmhgfs-only/shared/ #进入解压后目录
vim compat_dcache.h #打开头文件

下面这块报错了,具体缘由未知windows

if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
    define compat_d_count(dentry) d_count(dentry)
elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
    define compat_d_count(dentry) dentry->d_count
else
    define compat_d_count(dentry) atomic_read(&dentry->d_count);
endif

咱们将 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)下面的#define 改为 define compat_d_count(dentry) d_count(dentry)centos

改完源码后,从新归档bash

tar -cf vmhgfs.tar vmhgfs-only/
cd /tmp/vmware-tools-distrib
./vmware-install.p #从新安装vmtools。

这下成功了, 成功看到hgfs目录函数

相关文章
相关标签/搜索