martes, 22 de febrero de 2022

Configurar programa de inicio (on startup) en Linux

Cómo configurar programa de inicio (on startup) en Linux 


Hola.

En este post voy a explicar cómo ejecutar un programa de inicio (on startup) en Linux

Esto es útil cuando requerimos que un programa esté disponible desde que prendemos la máquina. Ya sea que este programa sea requerido por otros servicios o por comodidad de no estar iniciándolo manualmente cada que prendemos la máquina.

En esta ocasión estoy configurando TIBCO EMS Server como programa de inicio

Para poner el programa on startup utilizo el siguiente script que pongo abajo. Para usarlo únicamente tienen que cambiar la ruta del programa en el parámetro ExecStart y las opciones que sean adecuadas para ustedes. No olviden guardarlo con extension .sh y dar permisos de ejecución con chmod 777 sobre el archivo para volverlo ejecutable. 

De manera general el programa realiza lo siguiente:
  • Crea el archivo del servicio tibco_ems.service en la ruta /etc/systemd/system 
  • Da permisos de ejecución al archivo creado. 
  • El contenido del archivo contiene las configuraciones del servicio a iniciar on startup. En este contenido esta la ruta del archivo ejecutable y parámetros necesarios para la ejecución. De los parámetros importantes a considerar: User (este usuario debe tener permiso de ejecutar el programa) y ExecStart
  • Registra el servicio, lo activa y lo inicia con systemctl


Script


ems_startup.sh


#! /bin/bash
echo create tibco_ems.service
touch /etc/systemd/system/tibco_ems.service
chmod 644 /etc/systemd/system/tibco_ems.service
cat <<EOT >> /etc/systemd/system/tibco_ems.service
[Unit]
Description=Tibco EMS server
After=syslog.target network.target

[Service]
Type=oneshot
RemainAfterExit=yes
User=oracle
ExecStart=/home/oracle/tibco/ems/8.2/bin/tibemsd64 -config "/home/oracle/TIBCO_HOME/tibco/cfgmgmt/ems/data/tibemsd.conf"

[Install]
WantedBy=multi-user.target
EOT

echo enable tibco_ems.service
systemctl daemon-reload
systemctl enable tibco_ems.service
systemctl start tibco_ems.service



Les dejo aquí también un video de cómo hacerlo.


Espero les sirva.


lunes, 14 de febrero de 2022

Cómo instalar TIBCO BusinessWorks 5.13 en Linux

Cómo instalar TIBCO BusinessWorks 5.13 en Linux


Hola.

En este post voy a explicar cómo instalar TIBCO BusinessWorks 5.13 en Linux.

TIBCO BusinessWorks es una herramienta de integración que permite a las organizaciones crear,  orquestar servicios, capturar y publicar eventos desde aplicaciones internas o externas. 

Para instalar TIBCO BusinessWorks es necesario primero instalar TIBCO Rendezvous y TIBCO Runtime Agent

Es importante checar que las versiones a instalar sean compatibles entre ellas, de otra manera no se podrá instalar TIBCO BusinessWorks correctamente.

Las versiones que estoy instalando en este caso son:

TIBCO Rendezvous 8.4.4

TIBCO Runtime Agent 5.10.0

TIBCO BusinessWorks 5.13.0

Para realizar la instalación de estos productos es necesario realizar la descarga correspondiente en la página de TIBCO: https://edelivery.tibco.com

Una vez con la descarga del software para Linux es necesario descomprimir los archivos y ejecutar el TIBCOUniversalInstaller.bin con el cual el comienza el proceso de instalación.

Les dejo aquí abajo un video de cómo instalar TIBCO BusinessWorks 5.13.0 en Oracle Linux.



Espero les sirva.

martes, 11 de enero de 2022

Cómo checar los puertos usados en Linux (listening ports)

Cómo checar los puertos usados en Linux (listening ports)


Hola.

En este post voy a explicar cómo ver cuales puertos están siendo usados o que están en estado LISTEN en Linux.

Estoy intentando levantar un servicio y obtengo un error relacionado a un puerto que está siendo ocupado y que es necesario para poder levantar mi servicio. Lo que necesito es ver si el puerto en cuestión está siendo usado por algún otro proceso.

Para esto se utiliza el comando netstat

Checar listening ports con el comando netstat


netstat -tunlp

Las opciones usadas son las siguientes:
-t - Muestra los puertos TCP.
-u - Muestra los puertos UDP.
-n - Muestra direcciones numéricas.
-l - Muestra solamente puertos en estado LISTEN.
-p - Muestra el PID y nombre del proceso que está usando o escuchando en ese puerto. Este parámetro sólo funciona cuando el comando se corre con sudo.

La salida del comando se ve así con los puertos que están en estado LISTEN:

[@myhost:/home/user] ->sudo -u myuser netstat -tunlp

sudo: /opt/quest/lib64/libsudo_vas.so: No such file or directory

(Not all processes could be identified, non-owned process info

 will not be shown, you would have to be root to see it all.)

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   

tcp        0      0 0.0.0.0:37167               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:38223               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:39857               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:7474                0.0.0.0:*                   LISTEN      19340/rvd           

tcp        0      0 0.0.0.0:1556                0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:53                  0.0.0.0:*                   LISTEN      -                   

tcp        0      0 127.0.0.1:1557              0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:13782               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      -                   

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      -                   

tcp        0      0 0.0.0.0:7580                0.0.0.0:*                   LISTEN      19340/rvd           

tcp        0      0 0.0.0.0:13724               0.0.0.0:*                   LISTEN      -                   

tcp        0      0 127.0.0.1:35912             0.0.0.0:*                   LISTEN      -                   

tcp        0      0 :::111                      :::*                        LISTEN      -                   

tcp        0      0 :::37776                    :::*                        LISTEN      -                   

tcp        0      0 :::8081                     :::*                        LISTEN      -                   

tcp        0      0 :::1556                     :::*                        LISTEN      -                   

tcp        0      0 :::53                       :::*                        LISTEN      -                   

tcp        0      0 :::22                       :::*                        LISTEN      -                   

tcp        0      0 ::1:631                     :::*                        LISTEN      -                   

tcp        0      0 :::53303                    :::*                        LISTEN      -                   

tcp        0      0 :::41209                    :::*                        LISTEN      -                   


Espero les sirva.


jueves, 11 de noviembre de 2021

Crear web hosting con Amazon S3

Cómo crear web hosting con Amazon S3 

Hola.

En este post voy a describir cómo usar un bucket de Amazon S3 como hosting de un sitio web.

Amazon S3 es un servicio de Amazon para almacenamiento de contenido a través de una interfaz web. Utiliza la misma estructura escalable de almacenamiento que Amazon.com usa para su red de comercio electrónico global.

Es muy popular debido a su facilidad para escalar el almacenamiento de información y por su alta disponibilidad. Además de que puede integrarse con otros servicios de Amazon fácilmente.

Les dejo aquí los pasos y un video para crear un website hosting con Amazon S3.

1.- Desde la consola de Amazon, buscar S3.

2.- Click on Create bucket

  • Introducir un nombre para el bucket. El nombre debe ser globalmente único.

3.- Deseleccionar la opción Block all public access

  • Esto es porque el bucket debe ser de acceso público para ser un web hosting.

4.- Create bucket para continuar.

5.- Seleccionar el bucket creado e ir a la opción de Properties.

  • En la sección de Static website hosting click en Edit y seleccionar Enable para activarlo como hosting.
  • Click en Save changes.
  • La url para acceder al website hosting estará disponible después de guardar como en la imagen siguiente.
Static website hosting con Amazon S3

6.- Ir a la opción Permissions del bucket. Este paso es para permitir el acceso a los objetos del bucket.

  • En la sección de Bucket policy click en Edit 
  • Click en Policy generator
    • Policy Type: S3 Bucket Policy
    • Add Statement(s): 
      • Effect = Allow
      • Principal = *
      • Actions = GetObject
      • ARN = Bucket ARN/* (no olviden agregar /* al final del ARN)
    • Click on Add Statement
    • Click en Generate Policy
    • Copiar el Policy que genera en formato JSON 
  • Pegar el contenido en el cuadro de texto de Policy
  • Click en Save changes.
7.- Subir los archivos web estáticos al bucket (html, jpg, etc). Esto se puede hacer desde el inicio.

8.- Acceder a la url del website hosting desde un navegador y listo.


Aquí les dejo link al video donde explico lo mismo.




Espero les sirva.

jueves, 16 de septiembre de 2021

Cómo ver contraseña oculta en un navegador de internet

Cómo ver contraseña oculta en un navegador


Hola.

En este post voy a describir cómo ver una contraseña guardada en un navegador de internet. 

Seguramente entraron a este post intentando hackear la contraseña de alguien (tú sabes quién eres) pero es importante mencionar que este procedimiento requiere que la contraseña esté guardada en el navegador. 

Osea que tendrían que estar en la máquina de la persona que quieren hackear y que esta persona guarde sus contraseñas en el navegador pero Dios! Quién hace eso! Qué fea gente!

En la actualidad la mayoría de los sitios importantes ofrecen la posibilidad de ver la contraseña guardada con el botón del ojito que ponen a la derecha en la caja de texto.

Botón ver ocultar contraseña

Pero también todavía existen muchos sitios web que no ofrecen esta posibilidad. Para estos sitios hay una manera fácil para visualizar el contenido de las contraseñas.

Este procedimiento se puede realizar en versiones recientes de navegadores como: Chrome, Firefox y Microsoft Edge.

Procedimiento.

1.- Seleccionar la caja de password con click derecho y seleccionar la opción de Inspect. Es importante hacerlo sobre la caja del password. 

Esto va a abrir una ventana dentro del navegador que te lleva directamente al código HTML que define a la caja que contiene el password. Esta sección es editable por la que pueden modificarla y ver los resultados al instante.

La definición de una caja de password es con el atributo type="password"

<input type="password" ..... />

Por lo que lo único que tienen que hacer es modificarla por una caja de texto como muestro abajo.

<input type="text" ..... />

2.- Es decir cambiar la palabra password por text y Voilà! 

Les dejo link al video que hice mostrando cómo se hace. 


Usenlo responsablemente. No les vaya a suceder lo del gato por andarle jugando al hacker.

Después de ver algo que no debí


Espero les sirva.

miércoles, 1 de septiembre de 2021

Cómo saber el número de procesadores en linux

 Cómo saber el número de procesadores en Linux


Hola.

En este post voy a escribir acerca de cómo saber el número de procesadores que tiene una máquina con Linux.

Esta información siempre es muy útil cuando estamos realizando actividades como: análisis de performance, investigando consumo de recursos, requisitos de instalación de software, descripción de ambientes, etc.

En la actualidad existen diversos conceptos relacionados con un procesador que no necesariamente significan lo mismo. Ejemplo de esto son: CPU, procesador, core, virtual core. 

El objetivo de este post es saber el número de procesadores físicos que existen en una máquina. 

Les dejo dos versiones del comando más común  que yo he usado para saber el número de procesadores de un servidor. El primero es para ver toda la información de todos los procesadores y el segundo es más específico para saber cuántos procesadores hay en el servidor.

En mi caso tengo un servidor con dos procesadores como se puede ver en la salida del comando.

cat /proc/cpuinfo


[@] ->cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R)
stepping : 7
microcode : 1812
cpu MHz : 2600.000
cache size : 20480 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
bogomips : 5200.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R)
stepping : 7
microcode : 1812
cpu MHz : 2600.000
cache size : 20480 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
bogomips : 5200.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:


cat /proc/cpuinfo | grep process


[@] ->cat /proc/cpuinfo | grep process
processor : 0
processor : 1


Espero les sirva.

miércoles, 18 de agosto de 2021

Filename too long error al hacer git clone

 Filename too long error al hacer git clone


Hola.

Estoy intentando hacer un git checkout de un repositorio en gitlab y me sale el siguiente error:

git.exe checkout -b mibranch remotes/origin/mibranch 
error: cannot stat 'folder1/folder2/../../algunarchivoconunnombresote.xsd': Filename too long 
error: The following untracked working tree files would be overwritten by checkout:
...
...
Aborting

git did not exit cleanly (exit code 1) (359 ms @ 7/26/2021 1:41:45 PM)


Estoy utilizando TortoiseGit para el control de versiones de código por lo que el error de arriba lo veo al intentar hacer Git Clone

Solución.

Para resolver esto tenemos que usar el parámetro core.longpaths=true al hacer el clone. Esto lo hago usando la línea de comandos de Git Bash desde el folder donde quiero clonar el repositorio. Aquí abajo les dejo la instrucción:


git.exe clone -c core.longpaths=true --progress -v "https://gitlab.mycompany.com/folder/repository.git" "C:\Users\martin\Documents\actividades\branches\repository"


Ya con eso deben poder clonar su repositorio sin problemas con las rutas largas.

Espero les sirva.