Tengo una pregunta muy molesta sobre la construcción a partir de fuentes. He buscado una respuesta durante mucho tiempo y en ninguna parte puedo encontrarla ... He compilado software de fuentes antes y esto me desconcertó.
Así que estoy tratando de instalar Python 2.7.2 desde las fuentes. Puedo hacer un éxito ./configure, también makeparece funcionar bien. Pero cuando lo hago sudo make install, obtengo una variedad de errores ...
Primero, sudo make installme da esto:
make: stat: GNUmakefile: Permission denied
make: stat: makefile: Permission denied
make: stat: Makefile: Permission denied
make: stat: install: Permission denied
make: *** No rule to make target `install'. Stop.
Entonces lo hice chmod +rx Makefile*. En vano.
Entonces, sudo ls .dice
ls: cannot access .: Permission denied
Luego ls -d .dice que los permisos sondrwxr-x---
Entonces, como una medida desesperada, chmod +rx .. Eso me dio:
make: stat: Modules/config.c.in: Permission denied
make: *** No rule to make target `Modules/config.c.in', needed by `Makefile'. Stop.
Entonces algo de progreso ... ¿Qué está pasando aquí? Parece un problema de permiso. Supuse que sudo sería la solución, pero claramente hay algo más aquí ... Lo intenté sudo -spero vuelvo a tener esos problemas de permisos ...
Estoy usando Ubuntu 10.04LTS.
fuente

Respuestas:
Creo que lo que estás golpeando es en realidad una política NFS llamada "root squash". No es raro que los usuarios necesiten root en un host en particular, pero no desea que tengan el mismo tipo de privilegios en los volúmenes NFS compartidos. Por lo tanto, otorgar acceso a la raíz local no permite que un usuario ejecute bruscamente sobre ningún volumen NFS montado y acceda / modifique los archivos de otros usuarios: el servidor NFS asignará el uid de la raíz de 0 a 65534 (
nobody), por lo que puede ni siquiera enumere el directorio en su ejemplo.Entonces, eso te deja con un par de opciones:
nobodyen su compilación haciendo unchmod -R o+rw .directorio en el nivel superior, otorgando a "otros" permisos de lectura / escritura en sus archivos (puede o no ser suficiente; por ejemplo, puede necesitaro+xdirectorios si necesita buscarlos)./etc/exportsarchivo del servidor NFS , puede deshabilitar el squash raíz (quizás no sea una buena idea)./usr/local/src,/usr/src,/tmpetc, o simplemente crear su propio directorio local (que incluso puede hacer que sea propiedad de su usuario) desea/scratch/myuser. Esta es probablemente la opción que causa la menor cantidad de dolores de cabeza.fuente
~/downloads/ruby-2.4.0../configure, makefuncionó, perosudo make installdio error::~/downloads/ruby-2.4.0$ sudo make install make: stat: GNUmakefile: Permission denied make: stat: makefile: Permission denied make: stat: Makefile: Permission denied make: stat: install: Permission denied make: *** No rule to make targetinstalar '. Detener. `` ``. Ejecuté los pasos anteriores copiando los archivos de origen a / tmp ysudo make installfuncionó bien./usr/local/src, /usr/srcno funcionó debido a errores de permisoIntenta compartirlo con tu usuario. Es decir, use "sudo chown user ./*" (reemplazando usuario con su nombre de usuario) cuando esté en el directorio y le cambiará el propietario de todos los archivos en el directorio.
fuente
Si está usando sshfs, monte usando la
-o allow_otheropciónantes de eso tienes que configurar
user_allow_otheren /etc/fuse.conffuente