A veces encuentro problemas con el uso make install
que me da un permission denied
error al escribir en algunas carpetas. Tan instintivamente lo uso sudo make install
. ¿Esto introducirá problemas adicionales?
Estoy usando Debian Etch.
fuente
A veces encuentro problemas con el uso make install
que me da un permission denied
error al escribir en algunas carpetas. Tan instintivamente lo uso sudo make install
. ¿Esto introducirá problemas adicionales?
Estoy usando Debian Etch.
Evite realizar instalaciones locales en los directorios del sistema. Los directorios del sistema, por ejemplo /usr
, están reservados para que los use el sistema de administración de paquetes. Por definición, si lo está haciendo, make install
significa que está realizando una instalación local, y si necesita hacerlo, sudo make install
significa que no tiene permiso para donde quiera que esté escribiendo.
Por lo tanto, si obtiene errores de permisos con make install
, verifique y vea si está intentando instalar en los directorios del sistema, e instale en su lugar /usr/local
o similar. /usr/local
está reservado para instalaciones locales. Es posible que deba darse permiso para escribir /usr/local
, pero esto generalmente se hace fácilmente. En Debian, esto se puede hacer agregándose al staff
grupo. Mejor aún, encuentre o cree un paquete binario e instálelo en su lugar. De esa manera, puede realizar un seguimiento de los paquetes instalados y obtener los otros beneficios de la administración de paquetes.
Tenga en cuenta que, por el contrario, el sistema de administración de paquetes no se instala /usr/local
según el FHS. Consulte la Sección 9.1 del Manual de políticas de Debian: jerarquía del sistema de archivos para obtener una descripción general.
Aquí hay un resumen básico de los comandos es la pregunta:
Dado que el comando sudo ejecuta el comando, lo pasa como root, significa que el comando make tiene privilegios de superusuario. Esto significa que si el archivo MAKE es malicioso, o cualquiera de los scripts que puede llamar es malicioso, podría comprometer su sistema.
En resumen, si no confía en el software, no lo instale. Si confías en el software, ejecutarlo como root no debería dañar nada.
Nota:
sudo make install
es lo mismo que su; make install
en la mayoría de los casos.
Como se ha respondido anteriormente, le
sudo make install
permite instalar los archivos en directorios que de otro modo serían de solo lectura para usted como usuario.El problema que puedo prever es que en una fecha posterior es posible que desee desinstalar o actualizar el programa. Si todavía tiene el árbol del directorio del código fuente
make uninstall
, a desinstalará el programa por usted, pero si, como muchos otros usuarios típicos, ha eliminado el árbol del directorio del código fuente, no tendrá suerte. Y dado que no ha instalado el programa utilizando un sistema de administración de paquetes, es posible que tampoco pueda desinstalar el programa de esa manera.La mejor manera de instalar dichos programas puede ser instalarlos en su directorio de inicio. Pase la opción
--prefix=/home/<user>/<some>/<directory>
a./configure
. Esto le permitirá usar enmake install
lugar desudo make install
ya que/home/<user>/<some>/<directory>
puede escribirlo. También la desinstalación es muy fácil.rm -rf /home/<user>/<some>/<directory>
fuente