Instalando Alpine ou outro Linux em VPS ou Bare Metal Server
Os provedores de VPS e servidores em nuvem oferecem uma seleção restrita de distribuições Linux. Veja como instalei uma distro de minha escolha no meu servidor OVH.
Quando você obtém um VPS ou um servidor dedicado (bare metal), o provedor de hospedagem permite que você escolha o sistema operacional que deseja instalar.
Normalmente, você pode escolher em uma lista de cerca de dez sistemas. E se o seu sistema Linux favorito não estiver incluído nessa lista?
Talvez existam vários métodos para instalar uma distribuição Linux específica de sua escolha em um servidor remoto.
Eu queria usar o Alpine Linux ultraleve. Está disponível como opção no Linode, mas não na OVH. Eu uso principalmente OVH, então usei esse método para obter o Alpine no meu servidor.
Também pode ser apropriado para outras distribuições em outros provedores de servidores:
Instale um “sistema operacional padrão”, aquele que o seu provedor de servidor oferece.
Utilize este sistema para baixar uma imagem do SO desejado; essa imagem deve ser utilizável como um ambiente ativo.
Reinicie neste ambiente ativo.
Instale o novo sistema operacional (ao lado do sistema operacional padrão).
As etapas 3 e 4 são semelhantes à instalação de um sistema operacional em um laptop ou computador desktop por meio de uma "mídia ativa", exceto que a mídia física é substituída por um arquivo ISO.
As principais ferramentas a serem usadas neste tutorial são:
IPMI/KVM sobre IP ou qualquer ferramenta semelhante.
GNU GRUB, o gerenciador de inicialização bem conhecido.
O primeiro deve ser suportado pelo provedor (caso contrário não comece a aplicar as instruções a seguir!), e permite monitorar e controlar o processo de inicialização da máquina.
Este último geralmente já está instalado junto com o sistema operacional padrão, mas pode ser (re)instalado e ajustado para atender às suas necessidades.
Etapa 1: Instale o sistema operacional padrão no novo servidor
Uma escolha comum é o Debian GNU/Linux, mas seja qual for sua escolha, é melhor mantê-lo após a instalação do Alpine (faremos inicialização dupla).
Desta forma, o Debian será o seu sistema de “resgate” customizado, de acesso mais rápido do que o modo de resgate usual oferecido pelo provedor. Como esta forma de instalar um sistema operacional parece um tanto "experimental", você pode precisar de um sistema alternativo.
No restante deste artigo, o sistema operacional principal padrão é considerado Debian.
Assim que o Debian estiver pronto e em execução, faça SSH para ele. Você não precisa se conectar a uma conta root, mas pode precisar de sudo porque irá baixar o novo sistema operacional e pode querer armazená-lo em um local de propriedade do root (por exemplo /boot/ ou mesmo /).
E se precisar seguir a etapa 3.1, você precisará de privilégios de root novamente.
Certifique-se de que o GRUB esteja instalado. Se houver um diretório como /boot/grub/, você pode apostar que está tudo bem!
Etapa 2: Obtenha o sistema operacional desejado (Alpine Linux em nosso caso)
Vamos obter o último lançamento da Alpine! Visite a página de download para copiar o link do sabor desejado. Geralmente, você escolhe uma imagem x86_64. Para um VPS, que se assemelha a um servidor bare metal, mas na verdade é uma máquina virtual (como indica o "V"), você provavelmente precisará do arquivo ISO "virtual".
Os exemplos deste artigo mostram o virtual, mas claro, substitua-o por aquele que atenda às suas necessidades.
Baixe o Alpine Linux usando o link que você copiou anteriormente.
cd /
sudo wget https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.2-x86_64.iso
Verifique se o arquivo está OK ou corrompido: você pode executar sha256sum...
sha256sum alpine-virt-3.14.2-x86_64.iso
fcba6ecc8419da955d326a12b2f6d9d8f885a420a1112e0cf1910914c4c814a7 alpine-virt-3.14.2-x86_64.iso
…e compare o valor do hash com aquele que você encontra na página de download. Se as duas strings corresponderem, tudo bem.
Etapa 3: inicialize o arquivo de imagem
O jogo real começa agora!
3.1: Observe a estrutura ISO
Primeiro, você precisa encontrar a localização de dois arquivos importantes dentro do arquivo ISO que acabou de baixar: o kernel e o initramfs (ou initrd) .
Uma solução é montar o ISO e inspecioná-lo:
$ 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
Nós os encontramos: boot/vmlinuz-virt e boot/initramfs-virt. Agora você pode sudo umount /mnt.
3.2: Reinicializar
Feche a(s) sessão(ões) SSH. É hora de usar KVM (ou tecnologia similar), você normalmente encontra na interface web:
Isso leva você a algo como o console mostrado na imagem abaixo. É a tela que você teria se estivesse diante de um monitor conectado fisicamente ao servidor.
Aqui existe um botão "Enviar CtrlAltDel", basta clicar nele. Mas você também pode fazer login e sudo reboot.
3.3: Use o arquivo ISO
Depois de reinicializada, a máquina exibe o menu GRUB. Rapidamente, clique no console para garantir que este elemento da página da web esteja em foco e pressione uma tecla de seta para que a contagem regressiva do GRUB seja interrompida.
Se você quiser interromper este tutorial e executar o Debian novamente, escolha a primeira opção. Para continuar este tutorial, pressione c para acessar o prompt de linha de comando do GRUB.
Talvez seja necessário selecionar a partição na qual armazenou a imagem do sistema operacional baixada (o arquivo ISO). Quando possível, o GRUB monta a primeira partição do primeiro disco e a seleciona implicitamente como o dispositivo raiz.
Se a sua partição Debian for a primeira partição e você armazenou o arquivo ISO nela (como fizemos na etapa 2), você não precisa fazer nada. Caso contrário, você deverá redefinir o dispositivo raiz, com um comando como set root=(hd0,2). Por favor, dê uma olhada no manual do GRUB para mais explicações.
Diga ao GRUB para montar o arquivo ISO como um dispositivo de bloco virtual:
grub> loopback l /alpine-virt-3.14.2-x86_64.iso
Aqui eu escolhi um identificador simples, l, mas você pode usar qualquer coisa que não entre em conflito com outra coisa (um nome de comando GRUB ou um nome de arquivo). Observe que no passo 2, optei por colocar o arquivo na raiz do sistema de arquivos, por isso escrevo /alpine….
A seguir, defina os objetos linux (kernel) e initrd, usando os resultados obtidos na etapa 3.1:
grub> linux (l)/boot/vmlinuz-virt
grub> initrd (l)/boot/initramfs-virt
Os parênteses ao redor do objeto loopback são obrigatórios. (l)/ atua como o diretório raiz do sistema de arquivos interno do arquivo ISO.
Inicie o sistema definido, que é o ambiente initrd baseado no kernel linux. O todo é um mini sistema init temporário para carregar e executar o sistema live "real".
grub> boot
Alguns segundos depois de você inserir o comando boot, o sistema init para com uma mensagem de erro como "Montagem da mídia de inicialização: falha".
Isso porque esse processo precisa carregar o ambiente Alpine live, mas a imagem ISO não está mais montada (você saiu do GRUB para entrar em outro sistema). Você verá um shell de emergência com o qual poderá montar a imagem novamente:
Método A: Se você não planeja redimensionar ou mover a partição que contém o arquivo ISO
Se você já redimensionou a partição e criou espaço para o Alpine, poderá remontar o sistema ativo da maneira mais simples:
$ mount /dev/sda1 /media/sda1
$ mount -o loop -t iso9660 /media/sda1/alpine-virt-3.14.2-x86_64.iso /media/cdrom
Na etapa 4 você não será capaz de redimensionar sda1 (pelo menos, é difícil).
Claro, substitua sda1 pelo nome do dispositivo apropriado se o O arquivo ISO não é armazenado na primeira partição do primeiro disco. Os diretórios de ponto de montagem /media/sdXN já foram criados de acordo com as partições detectadas.
Você deve adicionar a opção -t iso9660 e especificar /media/cdrom como o diretório de destino, caso contrário não funcionará.
Método B: Se você deseja redimensionar ou mover a partição que contém o arquivo ISO
Se a partição Debian ocupar todo o espaço disponível em disco, ou por qualquer outro motivo você tiver que modificar a partição que contém o arquivo ISO, o fato de o próprio arquivo ISO conter o sistema ativo impedirá que você desmonte o sistema de arquivos da partição.
Uma solução é copiar o arquivo ISO para a RAM e remontar esta cópia:
# 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
As mesmas observações do método A (sobre detalhes da linha de comando) se aplicam. Aqui montamos temporariamente o sda1, apenas para obter uma cópia do arquivo ISO.
Quer você tenha seguido o método A ou B, digitando o comando exit (ou pressionando ^D) e então continua o processo de inicialização do sistema Alpine ativo.
Pelas letras minúsculas na captura de tela acima, você pode adivinhar que o sistema Alpine live está funcionando corretamente e aguarda um login, embora tenha ocorrido um pequeno erro.
Etapa 4: Instale o novo sistema operacional (Alpine Linux)
Você está quase lá.
4.1: Use o instalador
O processo exato de instalação do sistema operacional está além do escopo deste tutorial. Use o instalador e outras ferramentas oferecidas pelo ambiente live para gerenciar partições (você pode precisar do LVM) e instalar o sistema operacional.
Para Alpine, faça login como root (sem senha por padrão) e tente os comandos setup-*. Você pode apk add parted e2fsprogs e2fsprogs-extra para obter ferramentas úteis para gerenciar sistemas de arquivos e partições. Mais informações no wiki Alpine.
Em todos os casos:
Lembre-se de que você ainda está usando KVM; escolha senhas temporárias para usuários root e normais.
Certifique-se de que a rede esteja configurada corretamente não apenas para o sistema ativo, mas também para o sistema que está sendo instalado no disco. Além disso, um servidor SSH deve ser instalado junto com o sistema operacional.
A menos que você saiba o que está fazendo, não reinstale o GRUB, nem altere sua configuração a partir daqui. É mais fácil modificar a configuração do GRUB a partir de sua instalação alternativa de "resgate" do Debian.
Digamos que você instalou o Alpine no sda2. Agora você pode dizer ao sistema ativo para reiniciar o servidor ou pode sair e clicar no botão Enviar CtrlAltDel (se houver).
4.2: Adicione uma entrada GRUB
Inicialize o Debian. Você pode manter a janela KVM aberta, mas deve fazer login usando uma conexão SSH normal do seu shell local. Você precisará de acesso root.
O objetivo agora é informar ao GRUB que há outro sistema operacional disponível em outra partição, então adicionaremos uma entrada ao menu GRUB.
Primeiro, monte /dev/sda2 /mnt e inspecione /mnt/boot. Verifique o nome do kernel e do initrd do novo sistema operacional que você acabou de instalar. Eles devem ser os mesmos que você encontrou quando inspecionou a pasta de inicialização do arquivo ISO na etapa 3.1, mas isso não é obrigatório. umount /mnt.
Execute blkid e anote o UUID associado a /dev/sda2.
Edite /etc/grub.d/40_custom. Adicione a seção "Alpine Linux" com as informações que você acabou de obter (substitua {UUID} pela string 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 é uma entrada de menu mínima e é provável que você adicione outras opções e módulos à linha linux, à medida que refina sua instalação. Você precisa do módulo sd-mod para que o kernel possa ler seus discos, e do módulo ext4 se você instalou o Alpine em um sistema de arquivos Ext4.
"Alpine Linux" é o título que aparecerá no menu GRUB, você pode alterá-lo para o que quiser.
Além disso, talvez você queira que o Alpine seja a opção padrão quando o servidor for reinicializado. Edite /etc/default/grub e modifique a linha GRUB_DEFAULT. Por padrão, este parâmetro é definido como 0 e refere-se à primeira entrada. No nosso exemplo, Alpine é a terceira entrada, então defina-a como 2.
Para levar em consideração as alterações nesses arquivos, você deve gerar novamente /boot/grub/grub.cfg. O Debian tem uma ferramenta fácil para isso: basta executar update-grub. Teste suas alterações reiniciando o servidor e monitorando o que está acontecendo via KVM.
Inicie o Alpine (se você tiver escolhido a opção de entrada padrão, ele deverá iniciar automaticamente) e veja se ele inicializa e se comporta corretamente ou requer alterações na entrada do GRUB. Se você quiser testar alterações na entrada do GRUB sem torná-las permanentes, pressione e em vez de Enter quando a entrada Alpine for selecionada no menu de inicialização:
4.3: Considerações finais
Assim que o sistema operacional recém-instalado estiver funcionando corretamente, você poderá SSH para ele e alterar as senhas definidas anteriormente via KVM. Feche a ferramenta KVM em seu navegador. Use KVM apenas para reinicializar no Debian ou monitorar o processo de inicialização do Alpine.
Agora você pode instalar programas e ajustar seu sistema. Boa sorte!
Informações do autor: Paul Desplanque é 100% autodidata em assuntos relacionados a computadores. Com 8 anos de experiência em desenvolvimento de PHP, Paul é bastante adepto da auto-hospedagem.







