Mostrando entradas con la etiqueta script. Mostrar todas las entradas
Mostrando entradas con la etiqueta script. Mostrar todas las entradas

Qué significa #!/bin/bash al comienzo de un archivo Bash Shell

Es posible que hayamos descargado un script de Bash, para por ejemplo, descargar e instalar alguna aplicación o realizar ciertas tareas en nuestra distribución Linux.
En algunos caso nos podemos encontrar que si editamos el ejecutable con nuestro procesador de texto, nos encontremos que en la primera línea aparezca algo parecido a:

#!/bin/bash
#!/usr/bin/env python3

#!/bin/sh

Es un  Shebang. En esta línea indicaremos la ruta completa del intérprete de órdenes, para que este sea localizado independientemente de donde sea ejecutado nuestro script. 

Con este comando el programador se asegura que al interpretar los comandos siguientes sean ejecutados correctamente y no se detenga, por que no sabe donde se encuentran. 

Ejemplo de script Bash para la instalación y configuración de Pi-Hole

Script instalación y configuración de la aplicación Pi-Hole


 

Los directorios de Linux II

Continuando con el post Los directorios de Linux. Otro directorio de utilidad en Ubuntu y derivados, si queremos que nuestros script, sean ejecutados desde cualquier directorio, es:

~/.local/bin/

Aquellos ejecutables o archivos bash que se encuentren en este directorio, podrán ser invocados desde cualquier directorio en que el que te encuentres en ese momento en el terminal.

Si acaso no estuviera habilitado, por ejemplo en una Raspberry, utilizaremos el siguiente script para habilitar esta función:

 export PATH="$HOME/.local/bin:$PATH"

Instalar servidor base de datos MariaDB

Uno de los primeros gestores de bases de datos con licencia GNU GPL que utilice, en un proyecto anterior, fue MySQL. En aquel entonces cree una pagina web dinámica, programada en PHP que obtenía los datos, utilizando SQL. Aquella idea quedó aparcada por falta de tiempo, pero ahora quería retomar parte de aquel antiguo proyecto.
Años después me he encontrado que los creadores de MySQL abandonaron la compañía para crear una nueva, MariaDB. Un nuevo gestor que evolucionó y han mejoró con respecto al su predecesor.


MySql vs MariaDB
Para instalar el servidor MariaDB podemos descargarla de la página oficial. Pero también se encuentra en los repositorios oficiales:

sudo apt install mariadb-server mariadb-client
 
Con este script instalaremos el servidor y el cliente del gestor. Seguidamente arrancaremos el servicio

sudo systemctl start mariadb.service

Y lo habilitamos para que cuando lo haga el sistema.

sudo systemctl enable mariadb.service

 Una vez instalada el servidor y el cliente en nuestra distribución. Aseguramos la instalación lanzando el comando:

sudo mysql_secure_installation 

 Enter current password for root (enter for none): Pulsa enter Introduzca la contraseña actual para root (ingrese para none): Pulse Enter
 Set root password? [Y/n]: Y ¿Establecer contraseña del root? [Y/n]: Y
 New password: Enter password Nueva contraseña: Introduzca contraseña
 Re-enter new password: Repeat password Reescribir nueva contraseña: Repetir contraseña
 Remove anonymous users? [Y/n]: Y¿ Borrar usuarios anónimos? [Y/n]: Y
 Disallow root login remotely? [Y/n]: Y¿No permitir el acceso al root desde remoto? [Y/n]: Y
 Remove test database and access to it? [Y/n]:  Y ¿Borrar Bases de datos Test y su acceso? [Y/n]: Y
 Reload privilege tables now? [Y/n]:  Y ¿Recargar privilegios a las tablas ahora? [Y/n]: Y



En este caso solo le vamos a permitir el acceso al administrador solo en local. De forma predeterminada no esta permitida el acceso en remoto a ningún usuario. Si tenemos la necesidad de hacerlo en este post te explico como.


Comprobaremos que funciona accediendo con el mismo cliente que hemos instalado:

sudo mariadb
 

Accediendo al gestor MariaDB