https://foro.gambas-es.org/viewtopic.php?f=6&t=4701
-----------------------------------
tincho
Lunes, 15 Junio 2015, 11:14

Script De Instlacion De Paquetes Sencillo
-----------------------------------
Hola a todos.

Aquí les dejo un script muy útil para instalar paquetes listados en un fichero de texto.

Viene bien para instalar en varios ordenadores los mismos paquetes o para reinstalar y aplicar la selección de paquetes que se ha ido adecuando a nuestro uso con el tiempo.

Es sencillo, para usarlo deben crear un fichero de texto con los paquetes a instalar uno debajo del otro con nombre "instalar-paquetes.txt" y ponerlo en la misma carpeta que el .sh

! Siempre hay que ver lo que hace el script antes de ejecutarlo !!

Un saludo.


-----------------------------------
jguardon
Lunes, 15 Junio 2015, 15:57

Re: Script De Instlacion De Paquetes Sencillo
-----------------------------------
Las órdenes "update" y "dist-upgrade" ¿no deberían de estar fuera del bucle?

No veo la necesidad de ejecutarlas antes instalar cada paquete, sino una sola vez al principio...

Por otro lado, yo colocaría al principio del script una comprobación del usuario para ver si tiene privilegios, y si no los tiene, abortar el script antes de entrar en el bucle do..while:

[code linenumbers=false syntax=bash]if [ "$(id -u)" != "0" ]; then
	echo "Debes ser root para correr este script" 2>&1
	exit 1
fi[/code]

Saludos


-----------------------------------
tincho
Lunes, 15 Junio 2015, 19:23

Re: Script De Instlacion De Paquetes Sencillo
-----------------------------------
[quote user="jguardon" post="26997"]Las órdenes "update" y "dist-upgrade" ¿no deberían de estar fuera del bucle?[/quote]

Si tienes razón las pondré fuera del bucle

[quote user="jguardon" post="26997"]Por otro lado, yo colocaría al principio del script una comprobación del usuario para ver si tiene privilegios[/quote]

Si es la opción mas extendida supongo, pero este script esta preparado para instalaciones debian con la cuenta root desactivada y se pide el ingreso de la contraseña de mantenimiento sudo.


-----------------------------------
jguardon
Lunes, 15 Junio 2015, 22:48

Re: Script De Instlacion De Paquetes Sencillo
-----------------------------------
[quote user="tincho" post="27002"]
[quote user="jguardon" post="26997"]Por otro lado, yo colocaría al principio del script una comprobación del usuario para ver si tiene privilegios[/quote]

Si es la opción mas extendida supongo, pero este script esta preparado para instalaciones debian con la cuenta root desactivada y se pide el ingreso de la contraseña de mantenimiento sudo.[/quote]

La cuenta root desactivada no cambia la comprobación de usuario con privilegios tras el uso de sudo, pero si desde el mismo script se pide la contraseña de sudoer sin comprobar que ya lo eres eventualmente, es algo que deberías controlar.

El ID de usuario con privilegios es siempre '0', ya sea root o sea otro usuario usando sudo:

[code linenumbers=false syntax=bash]sudo id -u[/code]

La salida es 0, o sea, root.

Hay varias formas de enfocar este problema: 

[list]
[*]comprobar si se es root (o sudo) al ejecutar el script y dependiendo del resultado, continuar o abortar el script con un aviso.

[*]comprobar si se es root (o sudo) al ejecutar el script y si no lo es, pedir la contraseña en consola y usarla dentro del script con sudo -S

[*]al principio del script, llamar a gksudo (o kdesudo) de forma interactiva y ejecutar el resto del script si tiene éxito la acción.
[/list]

En cualquier caso, suscribo tu consejo sobre mirar bien qué hace el script antes de ejecutarlo  :mryellow: 

Saludos


