lunes, 28 de septiembre de 2020

Como ejecutar programas de instalación con extension .sh en Linux

Como ejecutar programas de instalación con extension .sh en Linux

Linux tiene diversas forma en las que los desarrolladores de aplicaciones pueden empaquetar sus rutinas de instalación en este sistema operativa, y una de ellas son archivos .sh, que son una especie de .exe de Windows, o sea, ejecutables.

Para poder instalar un archivo de este tipo, evidentemente tenemos que tener ya el archivo descargado para luego proceder a instalar el programa.

No sabemos nunca que tipo de instalación tendremos que hacer hasta que en el sitio web en el momento de descargarlo lo podamos ver o nos los informa en la parte de instrucciones de descarga.

O puede que no nos diga nada y de cualquier manera los identificaremos indudablemente unas vez que lo tengamos descargado.

Por defecto Linux obliga a que cualquier archivo ejecutable de este tipo tenga permiso para ser ejecutado, y lo ideal es ejecutarlo desde consola.

Voy a tomar una archivo típico para los programadores de java que usan el IDE  Netbeans, que pondré como ejemplo para instalarlo en un Linux Ubuntu 20.04.

En este ejemplo instalaremos la versión 12 de Netbeans.

1er. Paso

Ubicar donde ha sido descargado el archivo que se quiere ejecutar.-

Normalmente los archivos son descargados en la carpeta denominada Descargas o Download, pero dependiendo como este configurado el navegador, puede pedir que se indique donde descargarlos y hay que estar atento en donde lo descarga.

En este ejemplo se descargó en la carpeta en Descargas que es donde es mas común descargar archivos. Iremos entonces a al carpeta Descarga.

Con Ctrl+Alt+t abrimos nuestro terminal o consola de Linux y escribimos:

cd Descargas 




 

y pulsamos Enter

 


 

Escribimos ls  y pulsamos Enter y se nos mostrará una lista de todo lo que contenga la carpeta Descargas

ls


En la imagen de arriba ya esta sombreado en blanco el archivo que he descargado, que en este caso es el IDE Netbeans, el archivo es 

Apache-NetBeans-12.1-bin-linux-x64.sh

2do Paso

Dar permiso de ejecución al archivo que se quiere ejecutar.

Ahora hay que presta atención a los que vamos hacer, porque este tipo de archivo tal y como está no puede ser ejecutado en Linux, por falta de permiso.

Por eso vamos a proceder dándole permiso de ejecución al archivo mediante el comando

chmod +x

Escribimos el comando y a continuación escribimos exactamente igual, con mayúsculas, guiones, puntos, números etc.. el nombre del archivo al cual vamos a darle permiso de ejecución, que es el Apache-NetBeans-12.1-bin-linux-x64.she, en el terminal:

chmod +x  Apache-NetBeans-12.1-bin-linux-x64.sh y pulsamos Enter




 El resultado debe ser este de la imagen de abajo, es decir no salir ningún error.



3er Paso

Correr el programa ejecutable con extensión.sh

En este paso si solo falta escribir los siguientes símbolos ./ delante del archivo a ejecutar,  ./nombre_archivo.sh en el terminal, así como se indica abajo con nuestro ejemplo:

 ./Apache-NetBeans-12.1-bin-linux-x64.sh  y pulsamos Enter


Y nuestro programa empezará a ejecutarse. En este caso estamos corriendo un programa instalador del IDE NetBeans, pero puede ser cualquier otro programa que realice algún función o tarea.

Hasta aquí para algunos que tienen algo de experiencia con Linux es suficiente y ya saben que hacer de aquí en adelante.

Aquí vemos el programa iniciado

 

Pero los novatos puede que sigan algo perdidos y no encuentren como ejecutar el programa ya instalado. Eso es normal y lo que tocaría ahora es ponerse a buscar por Google como encontrar nuestro programa o en que lugar podemos mirar.

Alguna veces olvidamos ver partes de la instalación y no nos fijamos en donde se instaló el programa, o como tenemos el nombre con el que hay que llamarlo para que se ejecute y en que lugar se encuentra. 

Normalmente otras distro de Linux tiene un Menú y una barra de herramientas y lo que hay que hacer es ir allí a buscar alguna pestaña que diga Aplicaciones y ahí encontrarán el programa y podrá ponerse en la barra de favoritos

En Ubuntu en relativamente fácil buscarlo, porque por lo general todos los programas se registran en Aplicaciones en la barra vertical que tiene en su lado izquierdo y abajo. En las ultimas versiones desde Ubuntu 18.04 el icono del menú de Aplicaciones es este que se muestra en la imagen de abajo:

 


 













 

Se pulsa allí y simplemente se escribe en el recuadro superior el nombre del programa y debe aparecer un icono del mismo.



Después de escribir el nombre nos debe aparecer la aplicación.



 

En esta otra sección de este tutorial quiera incluir la parte de como desinstalar, pero creo que es mejor jacerlo en otro tutorial aparte, para no hacer muy largo este, ya que trato de ser lo mas detalado posible para perosnas que no dominan mucho Linux.


Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

miércoles, 16 de septiembre de 2020

Como instalar Docker en Windows - Howto install Docker for Windows

Howto como instalar Docker para Windows

Windows ha terminado por aceptar que tiene que ceder parte de su exclusividad en cuanto a Docker se refiere, simplemente porque para correr Docker es necesario un ambiente Linux muy básico,corriendo en su sistema Windows.

Lo que hace la instalación es mas o menos esto: instalar el docker host en un ambiente Linux, que antes se hacia mediante un Toolbox para docker y ahora la instalación integra todo el paquete. Como lo entiendo yo, el Docker cree que esta corriendo en un Linux, lo que sería relativamente cierto.

Hasta ahora esto es cierto y esperemos Bill Gates no logre hacerse con la empresa o que esta decida privatizar Docker. Ahora mismo no todos los productos Docker para Windows son gratuitos. Tengo entendido que los Windows Server son de pago. Por otro lado, son pocas versiones de Windows los que soportan Docker y necesitan ser actualizadas para que funcione.

Pero de momento disfrutemos de lo gratuito sobre todo en la fase de aprendizaje del sistema de contenedores Docker.

Para proceder a instalar Docker en Windows accedemos a este enlace:

Docker Docs

Aparecerá la siguiente página al día de hoy, Septiembre, 14 de 2020. Puede que en futuro sea algo parecido o totalmente distinta e incluso las diferentes opciones de instalación de Docker las tengamos que buscar.


Pulsamos sobre Download and Install, y aparece la siguiente imagen, donde nos aparecen la tres opciones des descarga que tenemos para Docker claramente identificadas. Para Mac, Window y Linux.

Por supuesto, el cometido del tutorial es seguir paso a paso la instalación para Windows, así que pulsamos sobre la opción Docker Desktop for Windows, y aparecerá la siguiente página.

Aquí debemos fijarnos lo que nos dice el párrafo inmediatamente a continuación del titulo Install Docker Desktop on Windows


Veamos en detalle lo que nos informa:

Nos dice que la versión de Docker es la community edition, que también podemos descargarla misma desde el Docker Hub.

Además nos dice que ésta página contiene información acerca de la instalación de Docker sobre Windows Pro, Enterprise y Educación. Si que lo que buscamos es información sobre instalarlo en el Window 10 Home, se siga el enlace en azul Install Docker Desktop on Windows Home.

Nosotros instalaremos Docker en un Windows 10 Pro, así que pulsaremos dentro del recuadro azul claro Download from Docker Hub.

Aparece la siguiente pantalla:


Vemos en esta pantalla que estamos ahora en Docker Hub, podemos bajar el Docker de aquí sin tener que registrarnos. Es aconsejable bajar la versión Stable, que como su nombre lo indica ha mostrado estabilidad de funcionamiento.

 Pulsamos sobre esa opción Stable.

Nota.- Una vez que descargues Docker es buena idea crear nuestra cuenta que luego utilizaremos para guardar las imágenes de nuestros propios desarrollos y proyectos. Por supuesto, puedes hacer en cualquier momento mas tarde.

Dependiendo de tu navegador y si tienes la opción activada en el mismo para que te pregunte donde quieres la descarga, te saltará una ventana pidiéndote que deseas hacer con el archivo, pulsa Guardar y guardalo donde quieras, pero te sugiero la carpeta Descargas. Si no tienes esta opción activada, por defecto los navegadores inician la descargas por si solos y los meten en la carpeta Descargas.

Yo tengo activada la opción de que me deje guardarlo en donde yo quiera, y por eso me salta esta ventana: 

 
Se pulsa en Guardar y salta la siguiente: 


Dejamos el nombre que nos muestra Windows y se pulsa de nuevo en Guardar

Se iniciará la descargar que puede tardar un tiempo dependiendo de la velocidad de tu tarifa contratada a internet, y una vez que esté descargada te dejará en el Escritorio

Si no salta la ventana de Guardar archivo, que ir a la carpeta Descargas, y ejecutar el programa instalador desde ahí, o se lo deseas moverlo a Escritorio y hacerlo desde ahí.

Para ejecutar la instalación se pulsa dos veces sobre el icono azul claro Docker Desktop Installer.


Eso inicia la ejecución del instalador, pulsamos en para continuar.

Una vez inicializado verás una pantalla como la siguiente, que ira mostrando diferentes fases al principio y que analizara la versión del Windows instalado y sus dependencias

 

Durante esta fase si algo va mal el instalador te lo informara, el instalador revisa que tu versión de Windows 10 es para 64-bit y también que sea Pro, Enterprise o Education o Windows 10 Home.

Si falla te saldrá el siguiente mensaje desde el instalador por pantalla, diciendo que falta o no está actualizado, se debe corregir si es posible y volver a correr el instalador.

 

Si por el contrario todo va bien la pantalla deber mostrar algo igual o similar a la siguiente imagen.

Se marca las casillas para que se instalen la características del Hyper-V y se añada un icono al Escritorio, luego se pulsa en Ok, para terminar de instalar y configurar Docker

Una vez que termina exitosamente la instalación debe aparecer la siguiente imagen en pantalla o similar.


Se pulsa sobre el recuadro azul claro que dice Close and restart, y el equipo mostrara alguna actualización si es necesaria y iniciará el reiniciado del equipo

Y  ya está instalado el sistema de Contenedores Docker en Windows 10. En este caso es una versión Enterprise.


Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

domingo, 6 de septiembre de 2020

Qué es Docker? Simple y brevemente explicado.

 Que es Docker? Simple y brevemente explicado

Docker en Inglés significa estibador, que es el típico trabajador portuario que carga y descarga mercancías de los barcos que atracan en puertos, distribuyendo los convenientemente los pesos según sea el caso. Actualmente todo viene o va en containers (contenedores), cada uno totalmente aislado de los demás y con cnontenidos diferentes o pueden ser iguales, pero no se mezclan.

El concepto de la traducción, no nos aclara nada, y en muchos blogs y webs nadie explica exactamente que es Docker, de forma sencilla, y la razón es que no tratan a Docker como un sistema de virtualización, cuando efectivamente, aunque no es un una maquina virtual (VM ) tal como se conoce,  si es una variante muy similar en el sentido que se consigue el efecto deseado de correr aisladamente programas o procesos, a mucho menor coste de recursos y tiempo en todos los sentidos, en comparación con las (VM) tradicionales.

Docker es un Sistema Gestionador de Contenedores basado en el paradigma de la virtualización a nivel de Sistema Operativo en el que el kernel de Linux permite la coexistencia de múltiples instancias de espacio (Contenedores) de usuario totalmente independientes y aisladas.

Es complejo de entender? Pues sí, ya que es muy difícil de expresar en palabras el concepto. Veamos si lo aclaro mejor con lo siguiente

Para usar Docker, si tiene que instalar el mismo en el PC en donde ser utilizará con cualquiera de los tres sistema operativos, MacOS , Windows 10 o Linux. Este creará un pequeño equipo virtual, con las funciones mínimas básicas de Linux para conectarse con el hardware disponible en el equipo que anfitrión físico. A partir de aquí, vendrán los llamados namespaces (nombres de espacio) y control groups que son característicos de Linux, para crear los llamados contenedores, que serán procesos e hilos de procesos, que se ejecutaran por parte Docker.

Podríamos decir que en un PC físico el Docker dividiera en pequeños pc mas pequeños para hacer tarjetas o placas Arduino,(si no sabes que es Arduino pulsa en el enlace) que son esas pequeñas placas base (motherboards) que tienen el hardware mínimo básico, y en cada uno le asignará una aplicación o servicio.

Claro, en la realidad, todo esto a nivel de software y precisamente Docker hace precisamente eso. Optimiza al máximo posible en hardware del equipo en donde se encuentra instalado para distribuirlo en tre los contenedores de tenga en su Docker Host, que viene siendo ese PC capaz de hacer esa división, sin que físicamente sea real.

Estos espacios donde corren los contenedores, son la virtualización cada uno de equipos pseudo-reales adaptados para la aplicación que corra en ese contenedor, Es decir, la aplicación o servicio que aporta cada uno de esos contenedores, tiene todo lo  básico que necesita para que funcione correctamente y por lo tanto la aplicación cree que se esta ejecutando un PC real completo con todo lo necesario para su correcto funcionamiento, que incluye el sistema operativo específico que necesita y todos las aplicaciones, bibliotecas y dependencias que necesita para su correcto funcionamiento.
 
Resumiendo, Docker administra la gestión de mini equipos virtuales (Contenedores) basados en el kernel dedicados exclusivamente aplicaciones o servicios específicos que corren aisladamente en un equipo PC anfitrión, y que permite la gestión de estos por parte del usuario.
 
Hay que aclarar que Docker es capaz de correr un sistema de administración financiera completo, pero que esto impactaría negativamente en el funcionamiento del contenedor y efectividad, porque rompe precisamente el aislamiento de partes que deberían ser independientes.

El funcionamiento final correcto de Docker es correr contenedores definidos por el usuario, dentro de los cuales habrá implementado aplicaciones y servicios, con total independencia entre ellos, en el equipo PC real anfitrión (host)  que los contenga.

Usando Docker hay evidentes y totalmente ventajosas diferencias sobre sistemas de virtualización como VMware, Virtual Box, Hyper-V Server de Microsot, Citrix, etc..
 

Analicemos la forma de virtualización tradicional y los problemas que los desarrolladores de aplicaciones se suelen tener.

Cuando un desarrollador necesita un entorno en virtualizado tradicional (VM), lo necesita con un sistema operativo X (Linux,Windows,Mac) y la versión donde haya probado ya esa aplicación, así mismo debe instalar y configurar tanto la aplicación en si misma como todas las bibliotecas y dependencias y que estas tengan la versiones ya probadas en la aplicación. En fin todo lo necesario que necesite, para reproducir el entorno en el cual desarrollo la aplicación 

El uso de tipo de virtualización tradicional, para ejecutar aplicaciones tiene varios problemas:

• Poner en marcha una máquina virtual completamente nueva e instalar un sistema operativo para ejecutar una única aplicación.

• Configurar e instalar todos los programas, bibliotecas y dependencias para el funcionamiento de la aplicación manualmente cada vez que desee instalar la aplicación en otros anfitriones.

• Tienen una gran sobrecarga sobre su potencia del equipo donde se instalan, ya que emulan un equipo completo, memoria, número de nucleos de CPU, etc.

• Aunque son portables a través de diferentes hipervisores VMware, VirutalBox, etc.) y están completamente aislados de su máquina host, tienen un gran tamaño de archivo en términos de portabilidad y del disco del host.

• Es común que suceda que "Mi equipo funciona perfectamente pero no en este otro no!".

Docker nos ayuda a resolver estos problemas de virtualización. Veamos con una descripción general de la forma de virtualización de Docker y veamos los diferentes componentes de Docker y cómo funcionan.

Como se adelantó al principio, Docker es un Sistema, o sea una aplicación, cuya función es gestionar contenedores desde tu creación y configurar, a su puesta en marcha, detención, modificación o actualización, volver a poner en marcha, detenerlos y si es necesario eliminarlos.

Ahora se va a entender mejor esto, y si Docker es un tipo de virtualización pero mas simplificada de cara a instalarlo en el anfitrión y correr nuestras aplicaciones finales, sin tener que usar una Maquina Virtual.

Docker es un programa que debemos instalar en el equipo anfitrión y consta de 5 partes principales:

• Imagen de Docker y Dockerfile

• Docker Registry y Docker Hub

• Docker Daemon

• Cliente Docker

• Host de Docker


Representación de la parte operativa de Docker
 
Realmente lo que ejecuta Docker es lo representado en la imagen superior, una aplicación, donde sus diferente partes realizan una función. 
 
Al instalar Docker en un equipo anfitrión o host, un programa demonio Docker Daemon se pone a la escucha para atender las petciones del cliente Docker y transmite las órdenes al Docker Host para las diferentes tareas que el cliente le indique.
 
Y aquí es cuando empezamos a preguntarnos y como hago yo para poner mi aplicación a funcionar con Docker, que es lo que debemos hacer? 
 
La respuesta es empezar generando un proyecto indique como debe ser el contenedor que deseamos crear, y ese proyecto no es otra cosa que un un plano o indicaciones que serán escritas en un archivo Dockerfile el cual sirve de guía a Docker para crear una imagen de lo que quiere el desarrollador o usuario, en un contenedor.
 
Es decir, obtener del DockerFile, el equipo con un sistema operativo x con x versión, las bibliotecas que necesite, dependencias, etc para que su aplicación se ejecute perfectamente. Este pseudo-equipo es en realidad el contenedor final.
 
Para ser mas claro, lo que hace DockerFile es indicar paso a paso lo que tendría que hacer el usuario para instalar una maquina virtual tradicional, indicándole uno por uno cada comandos y sus parámetros, para cada unos de los programas y aplicaciones necesarias.
 
Un ejemplo de un archivo Dockerfile
 
FROM ubuntu:20.04 # Sistema Operativo 

ADD . /app # se añade un directorio app

RUN apt-get update # actualiza versiones ya instaladas
RUN apt-get upgrade -y # actualizar a versiones mas nuevas
  
RUN apt-get install -y nodejs # instalar node js
RUN cd /app && npm install  # entra en app e instala npm

CMD npm start # ejecuta npm
 
Como vemos, este contenido simplemente tiene una secuencia instalación de aplicaciones y comandos que deseamos instalar en nuestro futuro contenedor
 
Aquí diríamos, huy!, esto se esta complicando mucho, pero no!. A nuestro rescate tenemos lo que es Docker Registry y Docker Hub, que es una especie de github donde ya podemos encontrar parte del trabajo hecho, sobre todo en la parte de los sistemas operativos y bases de datos, que nos ahorran mucho tiempo para generar la imagen o imágenes que necesitamos para nuestro uso particular.

Esta parte anterior es lo más difícil  de entender y llevar a cabo. Una vez dominemos este proceso, veremos que en realidad Docker tiene poco o nada que ver con el.

Es simplemente un proceso previo imprescindible para generar contenedores y podremos distribuir nuestras aplicaciones como copias exactas y funcionando perfectamente donde quiera que se ejecuten. aunque hay que dejar claro que siempre debe estar Docker instalado en ese equipo. 


El resto es conocer los comandos para construir la imagen, para obtener el contenedor, luego ejecutarlo, detenerlo, actualizarlo o modificarlo, volver a ejecutarlo y hasta eliminarlo.

Esto parece muy complicado, sobre todo para novatos, pero realmente es muy fácil y sencillo, pero laborioso en un principio, pero a la larga los beneficios son palpables. 

Hasta aquí la parte prevía, para darse una idea de que es Docker y para que se usa. Iré colocando enlaces para ir tratando de ir paso a paso entrando en este interesante mundo virtual Docker.

Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.

Vistas de página en total