git - No se puede clonar a la carpeta compartida VMWare
vmware-fusion (6)
Problema raro esta mañana: no puedo clonar desde un repositorio público en GitHub a mi carpeta VMWare compartida con SSH o HTTPS. Estoy trabajando en Fedora 22, y si intento este comando en cualquier lugar del sistema que no sea la carpeta compartida, funciona perfectamente.
git clone https://github.com/twbs/bootstrap.git
Cloning into ''bootstrap''...
fatal: ''origin'' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Pasos que he intentado:
- Reiniciar VM y host Mac (ejecutando El Capitan)
- Reinstalando git
- Comprobando los permisos (drwxr-xr-x)
¿Alguien tiene alguna idea de por qué la carpeta compartida podría estar causando esto?
Aquí está mi solución. Dado que en VMware Machine no se puede clonar, y cuando se usan otros comandos, puede causar problemas. Así que me cloné en sistemas de Windows y realicé mis trabajos en mi sistema de Windows. Y funciona para mi.
Como señaló Laurence, este es un problema de VMWare versión 0.6.0. Esto es porque:
VMware cambió el paquete de herramientas y se movió de HGFS a FUSE en lugar de estar en el kernel.
No hay carpetas en /mnt/hgfs
y las carpetas compartidas se crean bajo una carpeta denominada shared_folder
.
Síntomas :
- No se puede acceder a una carpeta compartida en una máquina virtual desde otras máquinas en la red.
- No se puede acceder a una carpeta compartida con los permisos adecuados en una máquina virtual a través de la red
El error similar a:
You cannot access ip_address/folder_name
You do not have permission to access ip_address/folder_name. Contact your network administrator to request access.
Porque:
Por lo que veo, esta es la razón detrás de este problema y otros errores relacionados con otras operaciones del sistema de archivos. Más apropiadamente,
Este problema ocurre si el objeto de auditoría tiene acceso a GPO está habilitado en la carpeta compartida y la carpeta compartida reside en un dispositivo de conexión activa.
Solución:
Montar carpetas compartidas. Referir this
Ubique las carpetas compartidas.
Desactive el acceso al archivo de auditoría en la carpeta compartida y elimine todos los dispositivos conectables en caliente.
Espero que esto ayude
Hace algunos meses, mi equipo de desarrollo se enfrentó a un problema similar con respecto al cual un colega se comunicó con el equipo de soporte en nombre de la organización.
Alvaro Aguilera, del Hashicorp support
de Hashicorp support
tuvo la gentileza de señalar el problema. Inicialmente, el equipo de soporte había sugerido pasar a Fusion 8.0.2, que también funciona en caso de que uno quiera evitar la molestia.
A continuación se muestra el mensaje final del equipo de soporte el 20 de mayo de 2016 :
Gracias por ponerte en contacto con nosotros.
Según el registro, parece que el módulo HGFS no está presente en la máquina virtual.
Además, hay un problema de fusión de VMWare con 8.1. * Y puertos reenviados, intente acceder a Fusion 8.0.2 ya que es el último que se sabe que funciona sin problemas.
Utilice cajas antiguas para su caso de uso en lugar de la última versión de VMware Fusion, ya que el equipo de desarrolladores ha confirmado que se espera que se resuelva en el primer trimestre de 2017 .
Gracias por entender.
Nos habíamos movido a Fusion 8.0.0 y este problema fue resuelto.
Encontré la solución hoy. No estoy seguro si es igual para todos, pero necesita configurar su carpeta de sincronización VM para usar smb
y también mfsymlinks
config.vm.synced_folder ".", "/vagrant", type: "smb", mount_options: [''vers=3.02'', ''mfsymlinks'']
Ahora puedo usar Git y symlinks correctamente dentro de la VM sin problema.
No tengo una configuración relevante aquí, así que podría equivocarme, pero - dices que el problema solo ocurre en las carpetas compartidas. Una opción que podría pensar es que SSH / HTTPS utiliza una clave diferente a la suya cuando está en una carpeta de ese tipo.
Si este es el caso, una posible solución es definir claves para quien VMWare considere como usuario.
Por cierto, ¿ha intentado clonar un repositorio en una carpeta privada y luego compartirlo? Es interesante si funcionará de esa manera (lo que podría indicar que el problema solo ocurre con la creación local de las carpetas) o si falla con un error similar o diferente al intentar tirar o empujar (lo que podría indicar que el problema está en el conexión en sí, pero no necesariamente).
Tengo el mismo problema. Creo que esto puede deberse a que el sistema de archivos de la carpeta compartida VMWare no admite todas las operaciones del sistema de archivos de manera adecuada. Por ejemplo, no puedes crear un enlace fijo:
$ touch foo
$ ln foo bar
ln: bar: Operation not supported
... y no puedes copiar un enlace simbólico:
$ touch foo
$ ln -s foo bar
$ cp -R bar baz
cp: bar: could not copy extended attributes to baz: Invalid argument
Además, una vez que la clonación de git falla, el nombre de archivo de la caja no se puede volver a utilizar nunca más:
$ git clone https://github.com/twbs/bootstrap.git
Cloning into ''bootstrap''...
[...]
fatal: index-pack failed
$ touch bootstrap
touch: bootstrap: Input/output error
Otros han notado los problemas con hardlinks y git clone en las carpetas compartidas de VMWare. Nadie ha encontrado una solución.
He solucionado este problema al utilizar un invitado OS X guardando una imagen de disco en la carpeta compartida, montando la imagen del disco en el invitado y luego clonando git en el sistema de archivos montado. Una técnica similar puede funcionar en Linux, pero no lo he probado.
Tuve el mismo problema pero encontré una solución. Mi configuración usa VMware Workstation 12.5.5 y Linux kernel 4.4 para el invitado. El host ejecuta Linux kernel 4.10.8. Necesita clonar las últimas herramientas de openvm en su invitado Linux bajo $ HOME (no bajo su directorio de montaje HGFS por supuesto): https://github.com/vmware/open-vm-tools
siga las instrucciones y compile openvm-tools desde la fuente. Después de compilar, haga una copia de seguridad de / usr / bin / vmhgfs-fusible (cd / usr / bin; mv vmhgfs-fuse vmhgfs-fuse.bak) y copie $ HOME / open-vm- tools / open-vm-tools / vmhgfs-fusible / .libs / vmhgfs-fusible a / usr / bin.
Luego copie $ HOME / open-vm-tools / open-vm-tools / libvmtools / .libs / libvmtools.so.0.0.0 en / lib64 y cree un enlace al mismo: ln -s libvmtools.so.0.0.0 libvmtools .so.0
Busque otras bibliotecas que podrían ser necesarias. (use ldd / usr / bin / vmhgfs-fusible para saber qué bibliotecas faltan y cópielas en consecuencia)
Eso es todo, reinicie la máquina de invitado de vmware y podrá usar el directorio montado de sus hosts a través de HGFS para almacenar repositorios de Git, clonar, extraer, empujar, funcionan bien ahora :)