Enlaces simbólicos rotos con vmhgfs en la fusión

2

Cuando uso VMware Fusion con un invitado de Ubuntu (funcionó hace mucho tiempo, pero este problema ha existido durante varias generaciones de ubuntu, al menos incluyendo natty, onírica y precisa) y carpetas compartidas que utilizan vmhgfs, no importa lo que haga, muchos de mis enlaces simbólicos están rotos.

Los que están rotos son enlaces simbólicos que apuntan a archivos en subdirectorios, como foo - > bar / bla. Están rotos porque se presentan a Linux como foo- > bar.

¿Alguien tiene alguna idea de qué está mal? Esto me ha funcionado en el pasado, pero ahora no. Parece un error en vmhgfs.

Por favor, no sugiera utilizar NFS, SMB, etc. Estoy especialmente interesado en que HGFS funcione.

    
pregunta Nathan Binkert 28.04.2012 - 20:44

6 respuestas

2

la siguiente solución no se ajusta correctamente a la pregunta original, ya que no proporciona una solución para utilizar enlaces simbólicos en el host como enlaces simbólicos dentro de los invitados. sin embargo, puede ser útil en ciertas situaciones, especialmente para los invitados de Windows :

Añadiendo ...

sharedFolderX.followSymlinks = "TRUE"

a su archivo .vmx , donde X representa cualquier carpeta compartida dada en cuestión, hace que el enlace simbólico sea transparente para el invitado. por lo que los enlaces simbólicos ahora se muestran como un archivo o carpeta normal dentro del invitado. el mapeo se realiza en el host.

esto funciona para las siguientes versiones y anteriores

  • VMware ACE 2.0.x
  • VMware Fusion 2.x
  • VMware Player 2.x (Linux)
  • VMware Workstation 6.x (Linux)

a partir del 24 de diciembre de 2013.

consulte el artículo de VMware KB Enlaces simbólicos No haga Trabaje en carpetas compartidas entre hosts de Linux / Mac e invitados de Windows (1007277) para obtener más detalles y versiones afectadas / compatibles.

---- edite por Martin (ya que los comentarios aún no están permitidos).
---- créditos también para Mike cuando proporcionó el enlace a VMware KB en su answer .

    
respondido por el glennr 23.10.2012 - 02:27
1

Confirmado funciona bajo Ubuntu 10.04 LTS y falla bajo Ubuntu 12.04 LTS:

root$> mkdir bar
root$> touch bar/blah
root$> ls -l bar
total 1
-rw-r--r-- 1 503 80 0 May  7 16:37 blah
root$> ln -s bar/blah foo
root$> ls -l foo
lrwxr-xr-x 1 503 80 8 May  7 16:30 foo -> bar/blah
root$> cat foo
cat: foo: Is a directory
root$> cd foo
root$> ls -l
total 1
drwxr-xr-x 1 503 80 102 May  7 17:02 blah

Sugiero presentar un informe de error con VMware

    
respondido por el Old Pro 08.05.2012 - 01:49
0

Tal vez esto pueda ayudar. enlace

    
respondido por el Mike 29.04.2012 - 13:30
0

Resolví esto usando NFS. Sin embargo, esto solo da acceso de solo lectura .

(Configuración del servidor NFS adaptada de enlace )

En la edición de host / etc / exports:

sudo vi /etc/exports

Agregue una línea como la siguiente (suponiendo que su red host esté usando la subred 192.168.69.0, que es lo que utiliza NAT de vmware):

/Users -network 192.168.69.0 -mask 255.255.255.0

Habilitar nfsd:

sudo nfsd enable

Prueba tu trabajo:

showmount -e

En el invitado de Linux, instale el cliente nfs. En Ubuntu esto es nfs-common:

sudo apt-get install nfs-common

Crea un punto de montaje, si aún no existe:

sudo mkdir /mnt/host

Agregue el montaje a fs-tab:

sudo nano /etc/fstab

Agregue una línea como esta a / etc / fsatb:

/192.168.69.1:/Users /mnt/host nfs _netdev,auto 0 0

Monte el recurso compartido (se montará automáticamente en el próximo arranque):

sudo mount -a
    
respondido por el glennr 21.10.2012 - 21:56
0

Nueva solución: usar NFS de la vieja escuela.

En el host de OS X (tengo Mountain Lion 10.8.2 a partir de este escrito):

sudo vi /etc/exports

Añade una línea como

/Users/foo -mapall=foo:staff -network 172.16.241.0 -mask 255.255.255.0

donde foo es tu nombre de usuario. Tenga en cuenta que esto significará que desde la perspectiva del huésped, todos los archivos en el host serán de su propiedad y tendrán un "personal" de grupo. Entonces

sudo nfsd enable
sudo nfsd start

En el invitado de Linux

sudo apt-get install nfs-common

Luego agregue una línea como esta a / etc / fstab

172.16.241.1:/Users/foo /mnt/foo_nfs nfs auto,soft,intr,rsize=8192,wsize=8192,rw 0 0

entonces

sudo mkdir /mnt/foo_nfs
sudo mount /mnt/foo_nfs
    
respondido por el Marty Vona 21.02.2013 - 23:32
-1

Estoy solucionando esto usando smb sharing en lugar de hgfs:

enlace

sudo apt-get install smbfs
sudo mkdir /mnt/foo_smb
echo "username=foo" > /etc/samba/user # where foo is my username on the host.

Agregue esta línea a / etc / fstab

//172.16.241.1/foo /mnt/foo_smb cifs noauto,credentials=/etc/samba/user,rw,uid=bar 0 0

donde barra es mi nombre de usuario en el invitado. Finalmente

sudo mount /mnt/foo_smb

en el invitado.

DESAFORTUNADAMENTE, después de actualizar a os x 10.8.2 recientemente, esto dejó de funcionar. Apple ha reemplazado su servidor SMB con algo llamado SMBX.

enlace

Intentar montar con la entrada fstab anterior ahora da

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Esto puede solucionarse parcialmente agregando las opciones adicionales

iocharset=utf8,nounix,noserverinfo,sec=ntlmssp

pero desafortunadamente, la opción nounix significa que los enlaces simbólicos no funcionarán .

Otra opción es agregar algo como

sharedFolder0.followSymlinks = "TRUE"

al archivo vmx, pero esto significa que los enlaces simbólicos se verán como archivos normales, no enlaces simbólicos.

enlace

    
respondido por el Marty Vona 29.07.2012 - 18:06

Lea otras preguntas en las etiquetas