Symlink interrotti con vmhgfs sulla fusione

2

Quando uso VMware Fusion con un guest Ubuntu (ha funzionato molto tempo fa, ma questo problema è esistito su diverse generazioni di ubuntu, almeno includendo natty, onirico e preciso) e cartelle condivise usando vmhgfs, non importa quello che faccio, molti dei miei collegamenti simbolici sono danneggiati.

Quelli che sono guasti sono collegamenti simbolici che puntano a file in sottodirectory, come ad esempio foo - > bar / bla. Sono rotti perché sono presentati a Linux come foo- > bar.

Qualcuno ha idea di cosa sta andando storto? Questo, in passato, ha funzionato per me, ma proprio non ora. Sembra un bug in vmhgfs.

Non suggerire l'uso di NFS, SMB, ecc. Sono specificamente interessato a far funzionare HGFS.

    
posta Nathan Binkert 28.04.2012 - 20:44
fonte

6 risposte

2

la seguente soluzione non si adatta correttamente alla domanda originale, in quanto non fornisce una soluzione per utilizzare i collegamenti simbolici nell'host come collegamenti simbolici all'interno degli ospiti. tuttavia può essere utile in determinate situazioni, specialmente per gli ospiti di Windows :

Aggiunta ...

sharedFolderX.followSymlinks = "TRUE"

al tuo file .vmx , dove X rappresenta una determinata cartella condivisa in questione, rende il collegamento simbolico trasparente al guest. quindi i link simbolici ora vengono visualizzati come normali file o cartelle all'interno dell'ospite. la mappatura avviene nell'host.

questo funziona per le versioni successive e successive

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

dal 24 dicembre 2013.

fai riferimento all'articolo KB VMware Link simbolici Do not Lavora in cartelle condivise tra host Linux / Mac e guest Windows (1007277) per ulteriori dettagli e versioni interessate / supportate.

---- modifica di Martin (come commenti non ancora consentiti).
---- crediti anche per Mike come ha fornito il link al VMware KB nel suo answer .

    
risposta data 23.10.2012 - 02:27
fonte
1

Confermato funziona sotto Ubuntu 10.04 LTS e fallisce sotto 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

Suggerisco di presentare una segnalazione di bug con VMware

    
risposta data 08.05.2012 - 01:49
fonte
0

Forse questo può aiutare. link

    
risposta data 29.04.2012 - 13:30
fonte
0

Ho lavorato su questo utilizzando NFS. Tuttavia, fornisce solo l'accesso in sola lettura .

(configurazione server NFS adattata dal link )

Sull'host modifica / etc / exports:

sudo vi /etc/exports

Aggiungi una linea come la seguente (presumendo che la tua rete host stia usando la subnet 192.168.69.0, che è quella che usa NAT di vmware):

/Users -network 192.168.69.0 -mask 255.255.255.0

Abilita nfsd:

sudo nfsd enable

Metti alla prova il tuo lavoro:

showmount -e

Sul guest Linux installare il client nfs. Su Ubuntu questo è nfs-common:

sudo apt-get install nfs-common

Crea un punto di montaggio, se non esiste già:

sudo mkdir /mnt/host

Aggiungi il mount alla scheda fs:

sudo nano /etc/fstab

Aggiungi una riga come questa a / etc / fsatb:

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

Montare la condivisione (verrà automaticamente montata all'avvio successivo):

sudo mount -a
    
risposta data 21.10.2012 - 21:56
fonte
0

Nuova soluzione: usa la vecchia scuola NFS.

Sull'host OS X (ho Mountain Lion 10.8.2 al momento della stesura):

sudo vi /etc/exports

Aggiungi una riga come

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

dove foo è il tuo nome utente. Nota che ciò significherà che dal punto di vista del guest mount tutti i file sull'host saranno di tua proprietà e avranno il gruppo "staff". Poi

sudo nfsd enable
sudo nfsd start

Sul guest Linux

sudo apt-get install nfs-common

Quindi aggiungi una riga come questa a / etc / fstab

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

poi

sudo mkdir /mnt/foo_nfs
sudo mount /mnt/foo_nfs
    
risposta data 21.02.2013 - 23:32
fonte
-1

Sto lavorando su questo usando la condivisione smb invece di hgfs:

link

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

Aggiungi questa linea a / etc / fstab

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

dove bar è il mio nome utente sull'ospite. Infine

sudo mount /mnt/foo_smb

sul guest.

UNFORTUNATAMENTE, dopo aver aggiornato a os x 10.8.2 di recente, questo ha smesso di funzionare. Apparentemente Apple ha sostituito il proprio server SMB con qualcosa chiamato SMBX.

link

Il tentativo di montare con la voce fstab sopra ora dà

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

Questo può essere parzialmente aggirato aggiungendo le opzioni extra

iocharset=utf8,nounix,noserverinfo,sec=ntlmssp

ma sfortunatamente l'opzione nounix significa che i collegamenti simbolici non funzioneranno .

Un'altra opzione è aggiungere qualcosa come

sharedFolder0.followSymlinks = "TRUE"

nel file vmx, ma ciò significa che i collegamenti simbolici appariranno come normali file, non come collegamenti simbolici.

link

    
risposta data 29.07.2012 - 18:06
fonte

Leggi altre domande sui tag