GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear una caja vagabunda a partir de una caja existente

Hemos cruzado la mitad de esta serie y, en este momento, es posible que tenga una buena comprensión de lo que Vagrant hace y cómo usar aprovisionadores en vagrant.

Hasta ahora, está utilizando cajas vagabundas precompiladas descargadas del sitio de la nube vagabunda. Algunas cajas están preconfiguradas para cumplir diferentes propósitos, como la caja de whisky escocés que viene con una LÁMPARA. stack, trusty64cdh que viene con una distribución CDH Hadoop de un solo nodo. También puede crear su caja como la mencionada y compartirla con la comunidad o con otros geeks que trabajen con usted en el mismo proyecto.

Aquí hay dos formas de crear una caja vagabunda. Puede elegir cualquier hipervisor e instalar manualmente el sistema operativo invitado y endurecer el sistema operativo y luego empaquetarlo en formato de caja. Alternativamente, puede descargar cajas que ya están disponibles en la nube vagabunda, personalizarlas según sus requisitos y volver a empaquetarlas en formato de caja. Esto es bastante fácil en comparación con construir la caja desde cero.

Crear una nueva caja de vagabundos

1. Elija la casilla que se utilizará. En mi caso estoy descargando la caja ubuntu/focal64. Cree un nuevo directorio y ejecute vagrant init comando.

$ mkdir ubuntu
$ cd rebuild
$ vagrant init -m "ubuntu/focal64"

2. Inicie la máquina virtual ejecutando vagrant init comando.

$ vagrant init

3. Conéctese a la máquina virtual invitada usando:

$ vagrant ssh

Habilitar basado en contraseña autenticación si es necesario, por defecto está deshabilitado.

$ sudo sed -i "/^[^#]*PasswordAuthentication[[:space:]]no/c\PasswordAuthentication yes" /etc/ssh/sshd_config
$ sudo service sshd restart

4. Quiero instalar PostgreSQL en esta máquina virtual y vuelva a empaquetarla.

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get -y install postgresql

Cambiar como Postgres usuario y escriba psql para conectarse a la carcasa. Ahora, si todo va bien, la instalación es exitosa.

$ sudo su - postgres
$ psql

5. Antes de volver a empaquetar la caja, debemos poner a cero la unidad subyacente para lograr una mejor compresión.

$ sudo dd if=/dev/zero of=/EMPTY bs=1M
$ sudo rm -f /EMPTY

Crear un nuevo Vagrant Box usando el Vagrant Box existente

6. Cree una nueva caja a partir de la máquina virtual existente ejecutando el siguiente comando.

$ vagrant package --output ubuntu_repacked.box

7. Eche un vistazo a la imagen de arriba donde puede ver que se crea un nuevo cuadro "ubuntu_repacked.box ”. Ahora, este cuadro debe agregarse al vagabundo para importar.

$ vagrant box add repacked ubuntu_repacked.box

8. Ahora puedo usar este cuadro y activar una nueva máquina virtual invitada. Cree un nuevo directorio de proyectos y haga un vagrant init .

$ mkdir repacked
$ cd repacked
$ vagrant init -m "repacked"
$ vagrant up

En la imagen de arriba, puede ver que está importando la caja reempaquetada que creamos. Conéctese a la máquina virtual y ejecute psql comando para trabajar con PostgreSQL.

$ vagrant ssh
$ sudo su - postgres
$ psql

Hemos llegado al final de este artículo. Le he mostrado cómo crear una caja a partir de la caja vagabunda existente. En este ejemplo, le mostré cómo instalar PostgreSQL en el cuadro vagabundo. El caso de uso en tiempo real puede ser cualquier cosa y este proceso será muy útil.


Linux
  1. Cómo crear un montaje a partir de imágenes en Linux

  2. Cómo crear un video a partir de archivos PDF en Linux

  3. Cómo crear un USB de arranque de Linux desde la línea de comandos de Linux

  4. ¿Cómo crear una máquina virtual desde cero con Virsh?

  5. Cómo crear una imagen personalizada desde un contenedor Docker

Cómo crear un video a partir de imágenes en Linux

¿Cómo crear un cuadro de mensaje desde la línea de comandos?

¿Cómo crear una cuenta de revendedor desde WHM?

¿Cómo crear un sitio web desde RVSiteBuilder en cPanel?

¿Cómo crear una cuenta de cPanel desde WHM?

¿Cómo transferir una base de datos MySQL existente?