¡Escribir un Script Bash de instalación en GNU/Linux Ubuntu!

Ramsés Leal
Escrito por Ramsés Leal -
¡Escribir un Script Bash de instalación en GNU/Linux Ubuntu!

Introducción


Si eres fiel usuario de Linux y estás continuamente probando nuevas distros o bien formateas tu PC cada X tiempo, estarás harto de volver instalar tus aplicaciones o temas una y otra vez, es un proceso tedioso en el cual se pierde bastante tiempo. Podemos automatizar estos pasos gracias a los scripts utilizando Bash.


Creación y ejecución de un Script


Para crear un script puedes abrir una terminal y escribir el siguiente comando:

touch script.sh && chmod +x script.sh

Básicamente creamos el script con touch y seguidamente damos permisos de ejecución utilizando chmod, puedes utilizar la orden cd para ubicarte en el directorio donde desees almacenar tu script. Es recomendable añadir la extensión .sh a tu archivo, por último no olvides dar los permisos de ejecución. Ya puedes modificar tu script y añadir órdenes.

Para ejecutar un script existen varias formas, recomiendo estas dos que son las más sencillas:

./script.sh

bash script.sh


Ejemplo - (A)fter (i)nstall Linux - AiLinux


Aquí puedes ver un script creado por mí que tengo almacenado en un repositorio de mi cuenta de GitHub (enlace a mi perfil a final de página):


#! /bin/bash
# Función que realiza las tareas pertinentes.
function ailinux(){
  # Variables.
  let proc=9
  s_null="/dev/null"
  current_user=$(whoami)
  # Texto de introducción.
  echo "================================================================================"
  echo -e " Bienvenido \e[1;34m"$current_user"\e[0m - Script Bash de instalación de recursos básicos tras la "
  echo " instalación de Sistemas Operativos GNU/Linux basados en Debian (Ubuntu - Mint) "
  echo "================================================================================"
  # Indicamos al usuario que comenzamos las tareas.
  echo
  echo "[Realizando tareas, espere un momento por favor (No cierre la terminal)...]"
  echo
  echo "Procesos restantes: "$proc
  # Tareas.
  #
  add-apt-repository -y ppa:tualatrix/ppa &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt-get update &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt-get upgrade -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt install ubuntu-restricted-extras -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt install rar unace p7zip-full p7zip-rar sharutils mpack arj -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt install synaptic -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt install aptitude -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt install ubuntu-tweak -y &> $s_null #
  let "proc -= 1"
  echo "Procesos restantes: "$proc
  #
  apt-get autoremove -y &> $s_null #
  # Indicamos al usuario que hemos finalizado las tareas.
  echo
  echo "[Tareas finalizadas con éxito]"
  echo
  # Liberamos Variables.
  proc=
  s_null=
  current_user=
}
# Limpiamos terminal de comandos ejecutados anteriormente.
clear
# Comprobamos que el fichero Bash ha sido ejecutado como SuperUsuario - root.
# En caso FALSE informamos al usuario de que ejecute de nuevo como root.
# En caso TRUE se llama a la función AiLinux.
if [ "$(id -u)" != "0" ]; then
   echo
   echo "============================================================================"
   echo "¡Este Script debe ejecutarse como SuperUsuario!" 1>&2
   echo "============================================================================"
   echo
    exit 1
else
  ailinux
    exit 1
fi

Suelo utilizar este script en ordenadores que han sido formateados. Realiza la actualización de paquetes, instalación de Ubuntu Tweak, plugins (como por ejemplo Flash), codecs de audio e incluso compresores de archivos como rar o zip. La parte final del script es una sentencia condicional para obligar al usuario a ejecutar el fichero como SuperUsuario.


Conclusión


Como ves las posibilidades son infinitas y puedes crear un script adecuado a tus necesidades, tengo intención de ampliar el mío para que instale otras herramientas o programas que también uso con asiduidad como por ejemplo Atom, GIMP o PlayOnLinux.

¡Te animo a probar y crear los tuyos!

Rating:
Ramsés Leal

Ramsés Leal

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum ut enim et neque cursus tristique venenatis non dolor. Vivamus non sapien non sagittis consequat. Es que no sé que poner sobre mi... xd.

Comentarios

comments powered by Disqus