Necesita usar sudo -s para el comando make dependiendo de la versión de Ubuntu

Necesita usar sudo -s para el comando make dependiendo de la versión de Ubuntu

Tenemos un Makefile para compilar el controlador de una interfaz de red. Al llamar al Makefile en una instalación de Ubuntu 9.04, necesitamos llamar simplemente a 'make'. Sin embargo, al llamar al Makefile en una instalación de Ubuntu 10.04, debemos llamar a 'sudo -s make'.

En Ubuntu 9.04, si llamamos a 'sudo -s make', la compilación falla. Y en Ubuntu 10.04, si llamamos a 'make' la compilación también falla.

Aunque la compilación se puede realizar en ambas versiones de Ubuntu emitiendo o no el bit 'sudo -s', nos gustaría tener un único script .sh que llame correctamente al Makefile independientemente de la versión de Ubuntu que esté ejecutando. en. ¿Existe alguna diferencia en la forma en que se trata sudo -s en 9.04 en comparación con 10.04? Y si es así, ¿cuál es la mejor solución para garantizar que ambas versiones se incluyan en un único script .sh al llamar a make?

Respuesta1

Se supone que el makecomando compila el código fuente. Esa es una tarea que no debería requerir ningún privilegio administrativo. Para la instalación en todo el sistema, se necesitan privilegios de root. Esto significa, en su caso, que el archivo MAKE no es correcto. No sé qué hace, pero se supone que no debe hacerlo, ya que requiere privilegios de root.

Considere el siguiente escenario: un usuario desea instalar software. el/ella lanza

./configure --prefix=/home/joe/bin/usr && make && make install

El makecomando no debe requerir acceso root, esto evitaríacualquierusuario que instala su programa. Usted menciona que es un controlador de red, que normalmente no es necesario que lo utilicen usuarios que no sean root; de todos modos, debe arreglar su compilación.

información relacionada