GNU/Linux >> Tutoriales Linux >  >> Linux

Instalación de Alpine (u otro Linux) en VPS o Bare Metal Server

Cuando obtiene un VPS o un servidor dedicado (bare metal), el proveedor de alojamiento le permite elegir el sistema operativo que desea instalar.

Por lo general, puede elegir de una lista de unos diez sistemas. ¿Qué sucede si su sistema Linux favorito no está incluido en esa lista?

Quizás haya varios métodos para instalar una distribución particular de Linux de su elección en un servidor remoto .

Quería usar el Alpine Linux ultraligero. Está disponible como opción en Linode pero no en OVH. Principalmente uso OVH, así que utilicé este método para tener Alpine en mi servidor.

También puede ser apropiado para otras distribuciones en otros proveedores de servidores:

  1. Instale un "SO predeterminado", el que ofrece su proveedor de servidor.
  2. Utilice este sistema para descargar una imagen del SO deseado; esa imagen debe poder utilizarse como un entorno en vivo .
  3. Reiniciar en este entorno en vivo.
  4. Instalar el nuevo sistema operativo (junto al sistema operativo predeterminado).

Los pasos 3 y 4 son similares a la instalación de un sistema operativo en una computadora portátil o de escritorio a través de un "medio en vivo", excepto que el medio físico se reemplaza por un archivo ISO.

Las herramientas clave para usar en este tutorial son:

  • IPMI/KVM sobre IP, o cualquier herramienta similar.
  • GNU GRUB, el conocido gestor de arranque.

El primero debe ser respaldado por el proveedor (de lo contrario no comience a aplicar las siguientes instrucciones), y le permite monitorear y controlar el proceso de arranque de la máquina.

Este último generalmente ya está instalado junto con el sistema operativo predeterminado, pero se puede (re)instalar y modificar para satisfacer sus necesidades.

Cualquiera que sea su caso, lea atentamente esta guía y asegúrese de entenderla antes de hacer nada. Experimente en un servidor que no sea de producción, para el cual puede operar reinicios y reinstalaciones en cualquier momento a través del servicio web del proveedor. Este método no funcionará para todos los sistemas; Probé con Void Linux pero fallé, probablemente debido a mi relativa falta de conocimiento sobre los esquemas de inicio de Linux. Comparto esta guía porque en mi experiencia, Alpine Linux funciona de maravilla cuando se instala de esta manera.

Paso 1:Instale el sistema operativo predeterminado en el nuevo servidor

Una opción común es Debian GNU/Linux, pero elija lo que elija, es mejor mantenerlo después de instalar Alpine (haremos un arranque dual).

De esta manera, Debian será su sistema de "rescate" personalizado, más rápido de acceder que el modo de rescate habitual que ofrece el proveedor. Dado que esta forma de instalar un sistema operativo parece algo "experimental", es posible que necesite un sistema alternativo.

En el resto de este artículo, se supone que el sistema operativo principal predeterminado es Debian .

Una vez que Debian esté listo y ejecutándose, acceda a él mediante SSH. No necesita conectarse a una cuenta raíz, pero es posible que necesite sudo porque descargará el nuevo sistema operativo y es posible que desee almacenarlo en una ubicación propiedad de root (por ejemplo, /boot/ o incluso / ).

Y si necesita seguir el paso 3.1, necesitará privilegios de root nuevamente.

Asegúrese de que GRUB esta instalado. Si hay un directorio como /boot/grub/ , ¡puedes apostar que está bien!

Paso 2:Obtenga el sistema operativo deseado (Alpine Linux en nuestro caso)

¡Obtengamos el último lanzamiento de Alpine! Visite la página de descarga para copiar el enlace al sabor deseado. Por lo general, elegirá un x86_64 imagen. Para un VPS, que se asemeja a un servidor bare metal pero de hecho es una máquina virtual (como indica la "V"), probablemente necesite el "virtual " Archivo ISO.

Los ejemplos de este artículo muestran el virtual, pero, por supuesto, reemplácelo por el que se ajuste a sus necesidades.

Descargue Alpine Linux usando el enlace que copió anteriormente.

cd /
sudo wget https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.2-x86_64.iso

Compruebe si el archivo está bien o está dañado:puede ejecutar sha256sum ...

sha256sum alpine-virt-3.14.2-x86_64.iso
fcba6ecc8419da955d326a12b2f6d9d8f885a420a1112e0cf1910914c4c814a7  alpine-virt-3.14.2-x86_64.iso

…y compare el valor hash con el que puede encontrar en la página de descarga. Si las dos cadenas coinciden, está bien.

Paso 3:Arrancar el archivo de imagen

¡El juego real comienza ahora!

3.1:Mirar la estructura ISO

Primero, debe encontrar la ubicación de dos archivos importantes dentro del archivo ISO que acaba de descargar:el kernel y los initramfs (o initrd ).

Una solución es montar el ISO e inspeccionarlo:

$ sudo mount -o loop alpine-virt-3.14.2-x86_64.iso /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
$ ls -l /mnt/
total 6
dr-xr-xr-x 1 root root 2048 August  27 11:11 apks
dr-xr-xr-x 1 root root 2048 August  27 11:11 boot
dr-xr-xr-x 1 root root 2048 August  27 11:11 efi
$ ls -l /mnt/boot/
total 28554
-r--r--r-- 1 root root   123781 August  27 11:11 config-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 dtbs-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 grub
-r--r--r-- 1 root root  6022546 August  27 11:11 initramfs-virt
-r--r--r-- 1 root root 13258752 August  27 11:11 modloop-virt
dr-xr-xr-x 1 root root     2048 August  27 11:11 syslinux
-r--r--r-- 1 root root  3632749 August  27 11:11 System.map-virt
-r--r--r-- 1 root root  6194624 August  27 11:11 vmlinuz-virt

Los hemos encontrado:boot/vmlinuz-virt y boot/initramfs-virt . Ahora puedes sudo umount /mnt .

No es obvio que vmlinuz sea el kernel de Linux. Si no lo vio antes, sepa que es un nombre común para el archivo del kernel, con una "z" (donde esperaría una "x") para indicar que el archivo está comprimido.

3.2:Reiniciar

Cierre las sesiones SSH. Es hora de usar KVM (o tecnología similar), normalmente lo encuentra en la interfaz web:

Te lleva a algo como la consola que se muestra en la captura de pantalla a continuación. Es la pantalla que tendrías si estuvieras frente a un monitor conectado físicamente al servidor.

Aquí, hay un "Enviar CtrlAltDel ", por lo que solo tiene que hacer clic en él. Pero también puede iniciar sesión y sudo reboot .

Después de usar KVM para iniciar sesión en una cuenta en un servidor, recomendaría cambiar su contraseña lo antes posible, con una conexión SSH normal. Quién sabe por cuántas capas de software pasa su contraseña sin cifrar, desde su navegador web hasta el sistema operativo remoto.

3.3:Use el archivo ISO

Una vez reiniciada, la máquina muestra el menú de GRUB. Rápidamente , haga clic en la consola para asegurarse de que este elemento de la página web tenga el foco, luego presione una tecla de flecha para que se detenga la cuenta regresiva de GRUB.

Si desea detener este tutorial y volver a ejecutar Debian, elija la primera opción. Para continuar con este tutorial, presione c para acceder al indicador de línea de comandos de GRUB .

Es posible que deba seleccionar la partición en la que almacenó la imagen del sistema operativo descargada (el archivo ISO). Cuando es posible, GRUB monta la primera partición del primer disco y lo selecciona implícitamente como el dispositivo raíz .

Si su partición Debian es la primera partición y almacenó el archivo ISO en ella (como hicimos en el paso 2), no tiene nada que hacer. De lo contrario, debe redefinir el dispositivo raíz con un comando como set root=(hd0,2) . Consulte el manual de GRUB para obtener más explicaciones.

Dígale a GRUB que monte el archivo ISO como un dispositivo de bloque virtual:

grub> loopback l /alpine-virt-3.14.2-x86_64.iso

Aquí he elegido un identificador simple, l , pero puede usar cualquier cosa que desee que no entre en conflicto con otra cosa (un nombre de comando de GRUB o un nombre de archivo). Tenga en cuenta que en el paso 2, elegí colocar el archivo en la raíz del sistema de archivos, por eso escribo /alpine… .

A continuación, defina el linux (núcleo) y el initrd objetos, usando los resultados que obtuviste en el paso 3.1:

grub> linux (l)/boot/vmlinuz-virt
grub> initrd (l)/boot/initramfs-virt

Los paréntesis alrededor del objeto de bucle invertido son obligatorios. (l)/ actúa como directorio raíz para el sistema de archivos interno del archivo ISO.

Inicie el sistema definido, que es el initrd entorno basado en linux núcleo. El conjunto es un mini init temporal. system para cargar y ejecutar el sistema en vivo "real".

grub> boot
A partir de este punto, puede aparecer la verdadera pesadilla. Dependiendo del sistema operativo de destino, es posible que tenga varios problemas. Recuerde que siempre puede reiniciar su servidor (por defecto será Debian); por ahora, los datos en el (los) disco (s) aún no se modifican (con la excepción de la presencia de la imagen que descargó). Ahora, los pasos descritos serán específicos de Alpine, pero le darán una idea de lo que probablemente encontrará al instalar otros sistemas Linux.

Unos segundos después de ingresar al boot comando, el sistema init se detiene con un mensaje de error como "Mounting boot media:failure ".

Esto se debe a que este proceso necesita cargar el entorno en vivo de Alpine, pero la imagen ISO ya no está montada (salió de GRUB para ingresar a otro sistema). Se le presenta un proyectil de emergencia con el que puedes volver a montar la imagen:

Método A:si no planea cambiar el tamaño o mover la partición que contiene el archivo ISO

Si ya cambió el tamaño de la partición y le dio lugar a Alpine, puede volver a montar el sistema en vivo de la forma más sencilla:

$ mount /dev/sda1 /media/sda1
$ mount -o loop -t iso9660 /media/sda1/alpine-virt-3.14.2-x86_64.iso /media/cdrom

En el paso 4 no podrá cambiar el tamaño de sda1 (al menos, es difícil).
Por supuesto, reemplaza sda1 con el nombre de dispositivo apropiado si el archivo ISO no está almacenado en la primera partición del primer disco. Directorios de puntos de montaje /media/sdXN ya están creados de acuerdo con las particiones detectadas.

Usted debe agregue el -t iso9660 opción y especifique /media/cdrom como el directorio de destino, o de lo contrario no funcionará.

Método B:si desea redimensionar o mover la partición que contiene el Archivo ISO

Si la partición de Debian ocupa todo el espacio disponible en el disco, o por cualquier otra razón tiene que modificar la partición que contiene el archivo ISO, el hecho de que el archivo ISO en sí contenga el sistema en vivo le impedirá desmontar el sistema de archivos de la partición.

Una solución es copiar el archivo ISO a la RAM y luego volver a montar esta copia:

Su máquina debe tener suficiente RAM para manejar tanto el archivo ISO como el sistema en ejecución. Alpine tiene un tamaño muy pequeño, por lo que 1G es suficiente. Para sistemas más grandes, 4G de memoria debería estar bien.
# mount /dev/sda1 /media/sda1
# cp /media/sda1/alpine-virt-3.14.2-x86_64.iso /dev/shm
# umount /dev/sda1
# mount -o loop -t iso9660 /dev/shm/alpine-virt-3.14.2-x86_64.iso /media/cdrom

Se aplican las mismas observaciones que para el método A (sobre los detalles de la línea de comandos). Aquí montamos temporalmente sda1 , solo para obtener una copia del archivo ISO.

Si siguió el método A o B, ingresando el exit (o presionando ^D) luego continúa el proceso de inicio del sistema Alpine en vivo.

A partir de las letras minúsculas en la captura de pantalla anterior, puede adivinar que el sistema en vivo de Alpine se está ejecutando correctamente y espera un inicio de sesión, aunque un menor ocurrió un error.

Paso 4:Instale el nuevo sistema operativo (Alpine Linux)

Ya casi estás.

4.1:Usar el instalador

El proceso exacto de instalación del sistema operativo está más allá del alcance de este tutorial. Use el instalador y otras herramientas que ofrece el entorno en vivo para administrar particiones (es posible que necesite LVM) e instalar el sistema operativo.

Para Alpine, inicie sesión como root (sin contraseña de forma predeterminada) y pruebe setup-* comandos Puede apk add parted e2fsprogs e2fsprogs-extra para obtener herramientas útiles para administrar sistemas de archivos y particiones. Más información en Alpine wiki.

En todos los casos:

  • Recuerde que todavía está usando KVM; elija contraseñas temporales para usuarios root y normales.
  • Asegúrese de que la red esté configurada correctamente no solo para el sistema en vivo, sino también para el sistema que se está instalando en el disco . Además, se debe instalar un servidor SSH junto con el sistema operativo.
  • A menos que sepa lo que está haciendo, no reinstale GRUB ni cambie su configuración desde aquí . Es más fácil modificar la configuración de GRUB desde su instalación alternativa de Debian de "rescate".

Digamos que ha instalado Alpine en sda2 . Ahora puede decirle al sistema en vivo que reboot el servidor, o puede cerrar la sesión y luego hacer clic en Enviar CtrlAltDel botón (si lo hay).

4.2:Agregar una entrada de GRUB

Arrancar Debian. Puede mantener abierta la ventana de KVM, pero debe iniciar sesión utilizando una conexión SSH normal desde su shell local. Necesitará raíz acceso.
El punto ahora es decirle a GRUB que hay otro sistema operativo disponible en otra partición, así que agregaremos una entrada al menú de GRUB .

Primero, mount /dev/sda2 /mnt e inspeccione /mnt/boot . Compruebe el nombre del kernel y el initrd para el nuevo sistema operativo que acaba de instalar. Deben ser los mismos que encontró cuando inspeccionó la carpeta de inicio del archivo ISO en el paso 3.1, pero eso no es obligatorio. umount /mnt .
Ejecute blkid y tenga en cuenta el UUID asociado a /dev/sda2 .

Edite /etc/grub.d/40_custom . Agregue la sección "Alpine Linux" con la información que acaba de obtener (reemplace {UUID} con la cadena UUID concreta):

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Alpine Linux" {
    search --no-floppy --fs-uuid --set=root {UUID}
    linux /boot/vmlinuz-virt root=UUID={UUID} modules=sd-mod,ext4
    initrd /boot/initramfs-virt
}

Esta es una entrada de menú mínima y es probable que agregue otras opciones y módulos al linux línea, a medida que refina su instalación. Necesitas el sd-mod módulo para que el kernel pueda leer sus discos, y el ext4 uno si instaló Alpine en un sistema de archivos Ext4.

"Alpine Linux" es el título que aparecerá en el menú de GRUB, puede cambiarlo por el que desee.

Además, tal vez le gustaría que Alpine fuera el predeterminado elección cuando el servidor se reinicia. Edite /etc/default/grub y modificar el GRUB_DEFAULT línea . De forma predeterminada, este parámetro se establece en 0 y se refiere a la primera entrada. En nuestro ejemplo, Alpine es la tercera entrada, así que configúrelo en 2 .

Para tener en cuenta los cambios en estos archivos, debe volver a generar /boot/grub/grub.cfg . Debian tiene una herramienta fácil para eso:simplemente ejecute update-grub . Pruebe sus cambios reiniciando el servidor y monitoreando lo que sucede a través de KVM.

Inicie Alpine (si lo convirtió en la opción de entrada predeterminada, debería iniciarse automáticamente) y vea si se inicia y se comporta correctamente o requiere cambios en la entrada de GRUB. Si desea probar los cambios en la entrada de GRUB sin hacerlos permanentes, presione e en lugar de Entrar una vez que se selecciona la entrada Alpine en el menú de arranque:

4.3:Consideraciones finales

Una vez que el sistema operativo recién instalado funcione correctamente, puede usar SSH y cambiar las contraseñas. que definió previamente a través de KVM. Cierre la herramienta KVM en su navegador web. Utilice KVM solo para reiniciar en Debian o monitorear el proceso de inicio de Alpine .

Ahora puede instalar programas y modificar su sistema. ¡Buena suerte!

Información del autor:Paul Desplanque es 100% autodidacta en todo lo relacionado con la informática. Con 8 años de experiencia en el desarrollo de PHP a sus espaldas, Paul es bastante experto en alojamiento propio.


Linux
  1. Cómo medir el rendimiento en su servidor Linux VPS

  2. Instalación de Tomcat 8 en un VPS CentOS 7 Linux

  3. ¿Cómo instalar Minecraft Game Server en Linux VPS?

  4. ¿Cómo instalar el complemento CloudFlare cPanel en Linux VPS?

  5. Servidor Linux de administración

Cómo instalar el servidor web Nginx en Alpine Linux

Cómo instalar el servidor web Apache en Alpine Linux

Cómo instalar el servidor OpenSSH en Alpine Linux

12 cosas que hacer después de instalar un servidor Linux

¿Cómo instalar el servidor de radio SHOUTCast en Linux VPS?

Cómo verificar los parámetros del servidor VPS con el comando Linux