Instalar Xubuntu en un USB


La siguiente “guía” le ayuda a instalar Xubuntu en una unidad USB externa , que debe tener al menos 8GB de capacidad (la instalación mínima de Xubuntu 20.04 necesita alrededor de 5GB). También necesitará un disco USB externo temporal con al menos 4GB para arrancar desde él la imagen de instalación de Xubuntu (o para grabar un disco óptico ).

Por supuesto si tiene un ordenador con suficientes recursos (al menos 8 GB de RAM), también puedes instalar Xubuntu en una máquina virtual (VirtualBox, por ejemplo). En este caso, necesitará al menos 4 GB de RAM y 8 GB de espacio en disco a Xubuntu.

Xubuntu es un sistema operativo Linux basado en Ubuntu y desarrollado por la comunidad.

Xubuntu es un sistema operativo elegante y fácil de usar. Xubuntu incluye Xfce, que es un entorno de escritorio estable, ligero y configurable.

Es ideal para quien quiera lo mejor de sus PCs, portátiles y netbooks dándoles un aspecto moderno y obteniendo funcionalidades suficientes y eficientes para el día a día. Además, funciona bien en máquinas antiguas.

Para más información, visite el sitio web de Xubuntu.

Acerca del nombre

La «X» en Xubuntu proviene de Xfce, el ambiente de escritorio de Xubuntu. Así también la palabra «ubuntu» muestra la dependencia y el uso del núcleo de Ubuntu, que a su vez representa el núcleo filosófico del sistema operativo. Un significado aproximado de la palabra ubuntu es «humanidad hacia los demás». Para conocer más sobre la filosofía e ideales detrás de Ubuntu y Xubuntu puede ir a la página Filosofía de Ubuntu [En inglés].

Además de utilizar el núcleo de Ubuntu, Xubuntu también utiliza la infraestructura proporcionada y patrocinada por Canonical Ltd., una compañía fundada por Mark Shuttleworth.

 Instalación de Xubuntu en un pen-drive USB

Suponiendo que haya decidido usar Xubuntu 20.04 en un disco USB, estos son los pasos que debe realizar (para instalar Xubuntu en una partición de disco de su computadora, las instrucciones son casi las mismas):

  1. Descargue la imagen de instalación desde aquí .
  2. “Grabe” la unidad USB de 4GB con la imagen. Dependiendo de su sistema operativo actual, use las siguientes instrucciones para Windows , OSX , Ubuntu (y derivados) , o la consola para todos los Linux.
  3. Inicie la imagen desde el puerto USB. Este paso depende de su ordenador. La mayoría de las PC pueden elegir el dispositivo de inicio presionando la tecla F12 cuando la PC se está iniciando. En una Mac, debe mantener presionada la tecla alt cuando se está iniciando.
  4. Seleccione la opción Probar Xubuntu sin instalar .
  5. Cuando el sistema operativo se esté ejecutando, con fi gure la red.
  6. Inserte también la unidad USB de 8GB donde se instalará Xubuntu.
  7. Seleccione Instalar Xubuntu 20.04 LTS .
  8. Seleccione inglés como idioma utilizado durante la instalación y el sistema instalado. Esto le ayudará en caso de que necesite buscar información en Internet, proporcionando las descripciones de los errores en inglés.
  9. Seleccione la distribución de su teclado (probablemente español ).
  10. Abra una terminal y escriba:   df – h para ver todas las particiones de disco montadas y su capacidad. Tenga en cuenta que no se debe montar ninguna partición de / dev / sda (el disco duro) (aunque puede hacerlo, no es necesario montar ninguna partición del disco duro), la partición / dev / sdb1 (con Xubuntu image) debe montarse y, finalmente, si Thunar (el administrador de archivos predeterminado en Xubuntu) ha reconocido la primera partición de la segunda unidad USB externa , debe aparecer como / dev / sdc1. Esta partición debe desmontarse para instalar en ella Xubuntu. De todos modos, si continúa con el proceso de instalación sin desmontarlo, el instalador le pedirá que lo haga. En esta descripción, se ha supuesto que su ordenador  solo tiene un disco duro.
  11. Elija Descargar actualizaciones mientras instala Xubuntu e Instale software de terceros para gráficos y hardware Wi-Fi y formatos de medios adicionales , para tener acceso al último software disponible para Ubuntu (y sus derivados).
  12. Elija Borrar disco e instale Xubuntu . Ignore las funciones avanzadas. Espere un par de minutos
  13. Seleccione la unidad correspondiente a la unidad USB de 8 GB ( / dev / sdc ). ¡No elija / dev / sda (el disco principal de su ordenador  pues podria borrar su contenido)! Seleccione / dev / sdc !!
  14. En este punto de la instalación, debe considerar (dependiendo de la cantidad de memoria RAM instalada en su computadora y el tamaño de la unidad USB) crear una partición específica para realizar el intercambio. La regla del pulgar es crear una partición con el mismo tamaño que la RAM. Sin embargo, probablemente no pueda hacer eso en una unidad USB de 8 GB porque se necesitan al menos 5 GB para una instalación de Xubuntu. De todos modos, tenga en cuenta que este paso es opcional porque siempre puede realizar el intercambio en un archivo (un proceso un poco más lento que usar la partición dedicada). Tenga en cuenta también que PRMC requiere solo algunos MB de memoria para ejecutarse y, por lo tanto, probablemente no necesitará intercambiar ninguna página de memoria en absoluto. Si decide crear una partición de intercambio específica, haga clic en “herramienta avanzada de particionamiento” y realice las modificaciones que desee, y también verifique que el cargador de arranque ( GRUB ) esté instalado en / dev / sdc1 . Pero recuerde, todas las acciones descritas en este punto son opcionales (excepto seleccionar / dev / sdc1 para GRUB).
  15. Haga clic en Instalar ahora. Algo parecido a: Si continúa, los cambios que se enumeran a continuación se escribirán en los discos. De lo contrario, podrá realizar más cambios manualmente. ADVERTENCIA: Esto destruirá todos los datos de las particiones que haya eliminado, así como de las particiones que se formatearán. Se cambian las tablas de particiones de los siguientes dispositivos:  SCSI8 (0,0,0) (sdc) Se formatearán las siguientes particiones:  partición # 1 de SCSI8 (0,0,0) (sdc) como ESP  partición # 2 de SCSI8 (0,0,0) (sdc) como ext4
  16. Elija su zona horaria.
  17. Configure su cuenta personal, nombre de host y proceso de registro.
  18. Espere a que finalice la instalación y arranque su nuevo Xubuntu. No se preocupe si grub etiqueta Xubuntu como Ubuntu. Esto es normal.

Primeros pasos con Terraform


Desde hace un tiempo se oye hablar mucho de DevOps, una fusión que combina las áreas de   Desarrollo,Operaciones y Control de calidad

Es una extensión natural de metodologías Agile y es habitual el uso de los principios CAMS, cuyas siglas vienen de:

  • Cultura relacionada con comunicación humana, procesos y herramientas
  • Automatización de procesos
  • Monitorización
  • Sharing feedback, buenas prácticas y conocimiento

En DevOps son habituales las prácticas siguientes:

  • Planificación ágil
  • Despliegue continuo (CI/CD). La subida de cambios al repositorio de código desencadena la ejecución de pruebas automatizadas que finalmente  realizan el despliegue de los cambios tras superarse las pruebas.
  • Infraestructura como código (Infrastructure as Code). Se trata del desarrollo de scripts para las tareas de despliegue y gestión de la infraestructura
  • Contenedorización. Combinada con la Infraestructura como código permite el despliegue instantáneo de aplicaciones en contenedores.
  • Microservicios. Facilita el aislamiento de problemas y maximiza la producción
  • Infraestructura cloud. Favorece la disponibilidad y la automatización.

 

En este post vamos a ver Terraform, una herramienta para construir, modificar y versionar infraestructura de forma segura y eficiente.

Terraform es una herramienta de orquestación de código abierto desarrollado por Hashicorp que nos permite definir nuestra infraestructura como código, esto quiere decir que es posible escribir en un fichero de texto la definición de nuestra infraestructura usando un lenguaje de programación declarativo y simple.

Terraform tiene soporte para una gran cantidad de proveedores de infraestructura local o en la nube, Amazon Web Services (AWS), Digital Ocean, Microsoft Azure, VMware vSphere, son ejemplos de proveedores de servicios. Puedes ver todos los proveedores soportados en la documentación de Terraform.

 

Estos proveedores de nube cuentan con sus propias herramientas de infraestructura como código, por ejemplo algunos de ellos como Amazon AWS que tiene a CloudFormation que solo soporta la infraestructura en Amazon, OpenStack tiene Heat, Azure tiene Resource Manager, pero Terraform no está cerrado a un proveedor en específico, puede trabajar con todos ellos e incluso de forma simultánea sin ningún inconveniente.

Instalación en sistema operativo Windows

La instalación de Terraform es muy sencilla. Se descarga como un binario que hay que descomprimir y luego se coloca en un directorio incluido en el PATH del sistema y. Probamos su funcionamiento desde la terminal con terraform donde a encontramos el ejecutable.

Bueno, estos son los pasos  a seguir para instalar Terraform en ambiente Windows:

Nos iremos a la  página oficial https://www.terraform.io/downloads.html.

 

Seleccionamos el sistema operativo y la arquitectura, en nuestro caso elegiremos Windows 64­bit puesto que lo instalaremos en una maquina Windows 10.

Creamos un directorio para el ejecutable de Terraform,copiamos el fichero descargado anteriormente al directorio terraform y nos situamos en el directorio terraform.,Justo entonces descomprimimos el ejecutable ( necesitaremos el winzip instlado ) en el interior del directorio creado anteriormente.

Ahora vamos a añadir la variable de entorno de Terraform para el usuario, para ello en el de cortana buscamos «Configuracion avanzada del sistema » y pinchamos en este . A continuacion pulsamos en Variables de entorno

 

En la siguiente pantalla pulsamos el botón Nueva.

Asignamos un nombre a la variable y en el botón Examinar archivo buscamos la ruta del ejecutable de Terraform.

Ahora desde una ventana de símbolo de sistema comprobamos que Terraform funciona escribiendo terraform -v.

 

NOTA:  En el caso de usar Linux seguiriamos unos pasos similares: Seleccionamos desde la pagina de descargas de Terraform el sistema operativo y la arquitectura, ( normalmente Linux 64­bit puesto si por ejemplo lo instalasemos en una maquina Debian jessie) .Creamos un directorio para los binarios de Terraform y moveremos el fichero descargado anteriormente al interior de la carpeta.Nos situamos en el directorio terraform,descomprimimos los binarios de Terraform con el comando unzip.Finalmente exportamos las variables de entorno de Terraform con el comando export PATH=/home/usuario/terraform:$PATH y comprobamos que se ha instalado bien ejecutando terraform –version.

 

Sintaxis

Hashicorp usa su propio lenguaje de configuración para la descripción de la infraestructura.

Los archivos Terraform se pueden escribir en dos formatos:

  • HashiCorp Configuration Language (HCL). El formato preferido es el HCL. Desde Terraform 0.12 está disponible HCL2 y se recomienda usar HCL2La extensión de los archivos es .tf

  • JSON. La extensión de los archivos es .tf.json

El objetivo de Terraform es declarar recursos. Todas las características del lenguaje giran en torno a hacer que la definición de recursos sea más flexible y convniente.

Los recursos puede agruparse en módulos, que crean una unidad de configuración de nivel más alto. Un recurso describe un objeto básico de infraestructura, mientras que un módulo describe un conjunto de objetos y sus relaciones para crear un sistema mayor.

 

Una configuración Terraform consta de un módulo raíz donde comienza la evaluación. El módulo puede contener módulos hijo que se van llamando unos a otros. La configuración más sencilla de módulo contendría sólo un archivo .tf (main.tf) aunque se recomienda una organización como la siguiente:

  • main.tf: Configuración de lo recursos del módulo

  • providers.tf: Proveedor de los recursos del módulo.Terraform puede crear stacks de infraestructura en varios proveedores. Por ejemplo, una configuración podría crear infraestructura en Google Cloud Platform y en OpenStack-DI.Hay gran cantidad de proveedores Terraform, tanto oficiales, mantenidos por Hashicorp, (AWS, Azure, Google Cloud Platform, Heroku, Kubernetes, MongoDB Atlas, OpenStack, VMware Cloud, VMware vSphere, …​) como de la comunidad y terceros (OpenShift, Trello, Telegram, …​).Porejemplo para openstack usarimos este archivo

     

    provider "openstack" {
      user_name   = var.openstack_user_name
      tenant_name = var.openstack_tenant_name
      password    = var.openstack_password
      auth_url    = var.openstack_auth_url
    }
  • variables.tf Variables de entrada-Las variables de entrada se usan como parámetros para los módulos. Se crean mediante bloques variable.Las variables se usan siguiendo esta sintaxis var.<variable>. POr ejemplo para openstack usariamos esta sintaxis:

     

    variable "openstack_user_name" {
        description = "The username for the Tenant."
        default  = "your-openstack-user"
    }
    
    variable "openstack_tenant_name" {
        description = "The name of the Tenant."
        default  = "your-openstack-project"
    }
    
    variable "openstack_password" {
        description = "The password for the Tenant."
        default  = "your-openstack-password"
    }
    
    variable "openstack_auth_url" {
        description = "The endpoint url to connect to OpenStack."
        default  = "http://openstack.di.ual.es:5000/v3"
    }
    
    variable "openstack_keypair" {
        description = "The keypair to be used."
        default  = "your-openstack-keypair-name"
    }



  • output.tf: Variables de salida.Sse usan para pasar valores a otros módulos o para mostrar en el CLI un resultado tras un despliegue con terraform apply.Se definen con bloques output y un identificador único. Normalmente, toman como valor una expresión (p.e. una IP generada para una instancia creada).

NOTA: Para evitar introducir datos sensibles en los archivos de configuración y evitar que queden expuestos en el sistema de control de versiones es buena práctica configurar valores sensibles en variables de entorno.

El convenio de Terraform es que definamos en la shell las variables precedidas de TF_VAR_. Por ejemplo, definimos una variable de entorno TF_VAR_PASSWORD que será accedida por Terraform como PASSWORD.

Seguiremos estos pasos:

  1. Configurar la variables en la shell

    $ export TF_VAR_PASSWORD=xxxx
  2. Cargar la variable en Terraform en el archivo variables.tf

    ...
    variable "PASSWORD" {} 
    ...
      La variable de entorno TF_VAR_PASSWORD es reconocida en Terraform como PASSWORD
  3. Usar la variable en Terraform en el el archivo providers.tf

    provider "openstack" {
      user_name   = var.openstack_user_name
      tenant_name = var.openstack_tenant_name
      password    = var.PASSWORD 
      auth_url    = var.openstack_auth_url
    }

Idenpotencia

Una característica muy interesante de Terraform es la idempotencia, así como la facilidad para aplicar cambios. Si volvemos a ejecutar un despliegue con terraform apply y no ha habido cambios en los archivos de configuración tras el último despliegue (cuyo estado quedó almacenado en el archivo .tfstate), el despliegue quedará intacto. Es decir, no se volverá a crear infraestructura repetida ni se reemplazará la infraestructura creada por una nueva si no hay cambios en los archivos de configuración.

Sin embargo, si modificamos la configuración modificando los archivos Terraform estaremos indicando un nuevo estado al que queremos llegar. En este caso, al aplicar terraform apply sí se desplegarán los cambios realizados en la configuración. Sin embargo, sólo se desplegarán los cambios, manteniendo intacta la configuración no modificada.

Estos son los pasos que se deben seguir para construir, mantener y eliminar una infraestructura con Terraform.

  1. Inicializar el directorio del proyecto Terraform (terraform init). El comando descarga todos los componentes necesarios, incluyendo módulos y plugins.

  2. Crear un plan de ejecución (terraform plan). El comando determina las acciones necesarias para alcanzar el estado deseado especificado en los archivos de configuración.

  3. Crear o modificar la infraestructura (terraform apply). Terraform es idempotente. Al usar este comando sólo se ejecutan los cambios que se hayan realizado en los archivos de configuración sin volver a crear lo que ya existe y no se ha modificado. Para esto se utilizan los archivos de estado.

  4. Mostrar las variables de salida de un despliegue (terraform output).

  5. Eliminar la infraestructura (terraform destroy). Se usa para eliminar la infraestructura creada.

Como lanzar terraform

Dentro de cada carpeta de ejemplos ejecuta:

$ terraform init
$ terraform apply

Tras unos instantes se mostrarán las IPs asignadas a las máquinas virtuales creadas y aprovisionadas.

El comandoterraform init  creará una carpeta .terraform con en plugin de OpenStack instalado y disponible para ser usado en el proyecto.

 

Ejemplos  para probar   todo esto que hemos visto  tanto en Open Stack como Google Cloud Platform se pueden encontar en  https://github.com/ualmtorres/terraform-examples