linux

Comentarios en Bash

Posted on

Para hacer comentarios en bash se pueden ocupar varias formas:

  • Usando el símbolo de número: #

#!/bin/bash
# Una simple línea de texto
# Ismael - 19/10/2017

La primer línea se le llama “shebang” o “bang”, esta línea indica la ruta del interprete de comando para poder leer el script y lograr la ejecución (Le dice analiza el siguiente script que no tenga el símbolo de # usando interprete bash shell).

Las siguientes dos líneas indican comentarios del script, estos comentarios sirven para el correcto entendimiento de los Sys Admin o persona futura encargada del mantenimiento del código, támbien sirve para que el interprete ignore por completo las líneas.

  • Ignorando multiples líneas (here document)

En programación existe una técnica para la impresión o salida de cadenas llamado “here document” o “heredoc” y se trata de escribir una extensa cadena en un script, lo podemos usar en textos estaticos y no abusar de ellos. Este tipo de técnica lo podemos encontrar en diferente lenguajes de programación como Ruby, PHP, C, etc. Para usar here document en bash basta con generar un identificador o palabra para abrir y cerrar el segmento de las cadenas a comentar, se hace de la siguiente manera:

script en bash <<IDENTIFICADOR
escribiendo lo que se me antoje
hola
t
$varName
IDENTIFICADOR

 

Todo lo que siga después de  estos símbolos << lo que escriba será ignorado por completo.

 

 

Solución a error: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) en CentOS 7 / RHEL 7 / Fedora 22 al usar MariaDB

Posted on

Este tipo de errores aparece  en la mayoría de distribuciones de Linux empresariales.

Como se debe de instalar MariaDB correctamente

  • En CentOS 7/ Red Hat Enterprise Linux 7 / Oracle Linux 7/ Scientific Linux  7:

yum install mariadb mariadb-server

  • En Fedora 22:

dnf install mariadb

  • Se ejecuta el siguiente comando:  mysql_secure_installation

/usr/bin/mysql_secure_installation: línea 379: find_mysql_client: no se encontró la orden

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user.  If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

  • Se presenta el siguiente error:

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

  • Se revisa si el servicio MariaDB está corriendo:systemctl status mariadb  

Muestra lo siguiente:

● mariadb.service – MariaDB 10.0 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: inactive (dead)

  • El servicio está muerto, se enciende de la siguiente manera:

systemctl mariadb start

  • Activando el servicio MariaDB automáticamente

El servicio MariaDB se enciende automáticamente cuando el kernel de Linux se inicia, ademas de agregar el servicio al sistema systemd y service managers:

systemctl enable mariadb

Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.

  • Se verifica si el servicio se inició

systemctl status mariadb

● mariadb.service – MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since mar 2016-04-19 13:07:55 CDT; 1min 4s ago
Main PID: 2074 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─2074 /bin/sh /usr/bin/mysqld_safe –basedir=/usr
└─2231 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –plugin-dir=/usr/lib…

abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: You can find additional inform…:
abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: http://dev.mysql.com
abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: Support MariaDB development by…B
abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: Corporation Ab. You can contac….
abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: Alternatively consider joining…:
abr 19 13:07:52 localhost.localdomain mariadb-prepare-db-dir[1923]: http://mariadb.com/kb/en/contr…/
abr 19 13:07:52 localhost.localdomain mariadb-wait-ready[2075]: Executing: /usr/libexec/mariadb-wa…4
abr 19 13:07:52 localhost.localdomain mysqld_safe[2074]: Executing: /usr/bin/mysqld_safe –basedi…sr
abr 19 13:07:52 localhost.localdomain mysqld_safe[2074]: 160419 13:07:52 mysqld_safe Logging to ‘…’.
abr 19 13:07:52 localhost.localdomain mysqld_safe[2074]: 160419 13:07:52 mysqld_safe Starting mys…ql
Hint: Some lines were ellipsized, use -l to show in full.

Con esto se ha habilitado el servicio MariaDB

Ahora se configura la contraseña del usuario sin problema: mysql_secure_installation

 

Solución a error Server Responded “Algorithm negotiation failed” Fedora Server 22

Posted on

error//embedr.flickr.com/assets/client-code.js

Si usas  SSH Secure Shell Client como herramienta cliente gráfica para conexión vía ssh y te encuentras con el error: Server Responded “Algorithm negotiation failed.” , la solución es la siguiente:

 

copias el fichero ejecutable sshd, que encuentras en el directorio /usr/sbin/sshd de una versión de fedora anterior a la 22 (Te recomiendo Fedora en su versión 21),  y lo pegas en /usr/sbin/

*No olvides eliminar el fichero sshd que tienes en el directorio /usr/sbin/sshd en fedora server 22.

 

Con esto solucionas el error.

 

Error reportado: https://bugzilla.redhat.com/show_bug.cgi?id=1228013