Instalar uma VM Linux CentOS 7 no VirtualBox

CompTIABeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como preparar e configurar um ambiente CentOS 7. Embora uma abordagem tradicional pudesse utilizar uma máquina virtual completa no VirtualBox, este laboratório utiliza um método mais moderno e eficiente através do uso de containers Docker. Você trabalhará em um ambiente baseado em nuvem para implantar um container CentOS 7 leve e isolado, fornecendo um sistema Linux funcional sem a sobrecarga de uma VM tradicional.

O processo começa com a obtenção da imagem oficial do CentOS 7 a partir do registro Docker Hub. Em seguida, você criará e configurará um novo container baseado nesta imagem. Por fim, você personalizará o sistema em execução instalando o ambiente de desktop GNOME e habilitando o login gráfico, resultando em uma instância do CentOS 7 totalmente operacional com uma interface gráfica de usuário.

Baixar e Instalar o VirtualBox e a ISO do CentOS 7

Nesta etapa, prepararemos nosso ambiente obtendo um sistema CentOS 7. O exercício original utiliza o VirtualBox para instalar uma máquina virtual completa. No entanto, neste ambiente de laboratório baseado em nuvem, uma abordagem mais eficiente e moderna é usar containers Docker. O Docker nos permite executar aplicativos e sistemas operacionais isolados em ambientes leves chamados containers, que iniciam muito mais rápido e usam menos recursos do que as máquinas virtuais tradicionais.

Começaremos baixando (ou fazendo o "pull", na terminologia do Docker) a imagem oficial do CentOS 7 do Docker Hub, que é um registro público de imagens de container.

Primeiro, vamos baixar a imagem do CentOS 7. O comando docker pull busca uma imagem de um registro. Especificaremos centos como o nome da imagem e 7 como a tag, que corresponde à versão CentOS 7.

Execute o seguinte comando no seu terminal:

docker pull centos:7

Você verá uma saída mostrando o progresso do download. O Docker baixa a imagem em camadas. Assim que for concluído, a saída será semelhante a esta:

7: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:0f4ec88e21daf75124b8a9e5ca03c37a5e937e0e108a255d890492430789b60e
Status: Downloaded newer image for centos:7
docker.io/library/centos:7

Agora que a imagem foi baixada, vamos verificar se ela está disponível em nosso sistema local. Podemos listar todas as imagens Docker que temos localmente usando o comando docker images.

docker images

A saída deve incluir uma entrada para centos com a tag 7. O IMAGE ID e a data em CREATED podem ser diferentes no seu sistema.

REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       7         eeb6ee3f44bd   2 years ago    204MB

Com a imagem do CentOS 7 baixada com sucesso, estamos prontos para criar e executar um container a partir dela na próxima etapa.

Criar e Configurar uma Nova Máquina Virtual para o CentOS 7

Nesta etapa, criaremos e configuraremos nosso ambiente CentOS 7. Em vez de uma máquina virtual tradicional, usaremos a imagem Docker centos:7 que baixamos para iniciar um container. Um container é uma instância em execução de uma imagem. Isso servirá como nossa "máquina virtual" para o restante deste laboratório.

Usaremos o comando docker run para criar e iniciar o container. Incluiremos algumas opções importantes:

  • -it: Esta combinação de sinalizadores conecta nosso terminal ao terminal do container, permitindo-nos executar comandos de forma interativa.
  • --name centos_workstation: Isso atribui um nome fácil de lembrar, centos_workstation, ao nosso container. Isso facilita o gerenciamento (iniciar, parar, remover) posteriormente.
  • centos:7: Especifica a imagem que queremos executar.
  • /bin/bash: Este é o comando que será executado dentro do container quando ele iniciar. Ele lançará o shell Bash, fornecendo-nos um prompt de comando.

Agora, execute o seguinte comando para iniciar seu container CentOS:

docker run -it --name centos_workstation centos:7 /bin/bash

Após executar o comando, você notará que o prompt do seu terminal mudará. Ele será parecido com isto:

[root@a1b2c3d4e5f6 /]#

Este novo prompt indica que você está agora dentro do container CentOS 7 como usuário root. A sequência de letras e números (por exemplo, a1b2c3d4e5f6) é o ID exclusivo do seu container. Você não está mais no shell do ambiente hospedeiro do LabEx.

Seguindo o plano do exercício original, vamos criar um usuário comum (não root). Criaremos um usuário chamado student1. Use o comando useradd para isso:

useradd student1

Em seguida, defina uma senha para o student1. Usaremos student1 como senha para manter as coisas simples. O comando passwd solicitará que você digite e redigite a nova senha.

passwd student1

Quando solicitado, digite student1, pressione Enter, depois digite student1 novamente e pressione Enter.

Changing password for user student1.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Para concluir esta etapa, precisamos retornar ao nosso terminal principal do LabEx. Digite exit e pressione Enter para sair do shell do container.

exit

Isso interrompe o container e retorna você ao prompt do diretório ~/project. O container centos_workstation agora existe e pode ser iniciado novamente em etapas futuras.

Realizar a Instalação do CentOS 7 com Partições Personalizadas

Nesta etapa, configuraremos nosso novo ambiente CentOS 7. O exercício original envolve um processo de instalação detalhado com particionamento de disco personalizado. Em nosso ambiente baseado em Docker, este processo é diferente. A "instalação" já está feita porque estamos usando uma imagem pré-construída. O conceito de criar partições manuais como /, /home e /var não se aplica a um container Docker padrão, pois ele utiliza o sistema de arquivos do hospedeiro de forma estruturada em camadas.

Em vez disso, nosso foco será na configuração inicial do container em execução, que é uma tarefa comum após a implantação de um novo sistema. Iniciaremos o container, atualizaremos seus pacotes de software e instalaremos o sudo para permitir que nosso usuário comum realize tarefas administrativas.

Primeiro, vamos iniciar o container que criamos na etapa anterior. Ele está atualmente parado. Use o comando docker start:

docker start centos_workstation

Este comando retornará o nome do container, centos_workstation, confirmando que ele foi iniciado. Agora, conecte seu terminal ao container em execução usando docker attach:

docker attach centos_workstation

O prompt do seu terminal mudará para o shell root do container, semelhante a antes:

[root@a1b2c3d4e5f6 /]#

Agora configure os serviços necessários e prepare o ambiente. Primeiro, precisamos corrigir a configuração do repositório do CentOS 7, já que ele atingiu o fim de sua vida útil (EOL):

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|http://mirror.centos.org|http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all

A imagem mínima do CentOS 7 é muito básica. Vamos começar atualizando todos os pacotes instalados para suas versões mais recentes usando o yum, o gerenciador de pacotes do CentOS. O sinalizador -y responde automaticamente "sim" a qualquer solicitação de confirmação.

yum update -y

Este processo pode levar alguns minutos para ser concluído. Assim que terminar, instalaremos o pacote sudo, que não está incluído na imagem mínima. O sudo permite que usuários autorizados executem comandos como outro usuário, normalmente o usuário root.

yum install -y sudo

Após a conclusão da instalação, precisamos conceder privilégios de sudo ao usuário student1 que criamos anteriormente. No CentOS, isso é normalmente feito adicionando o usuário ao grupo wheel.

usermod -aG wheel student1
  • usermod é um comando para modificar uma conta de usuário.
  • Os sinalizadores -aG instruem o comando a adicionar (append) o usuário a um grupo (Group) suplementar, que neste caso é o wheel.

Para verificar se o student1 agora tem acesso ao sudo, vamos alternar para esse usuário e testá-lo.

su - student1

Seu prompt mudará para [student1@a1b2c3d4e5f6 ~]$. Agora, tente executar o comando whoami com sudo. Ele deve informar que você é root.

sudo whoami

A saída esperada é:

root

Excelente! Nosso container agora está configurado com um sistema atualizado e um usuário com direitos de sudo. Para continuar para a próxima etapa, precisamos sair do container, mas deixá-lo rodando em segundo plano. Não digite exit. Em vez disso, pressione a sequência de teclas Ctrl+P seguida de Ctrl+Q. Isso desconectará seu terminal do container, retornando você ao prompt do LabEx, enquanto o container continua em execução.

Instalar o Desktop GNOME e Habilitar o Login Gráfico

Nesta etapa, adaptaremos o objetivo do exercício original de instalar um desktop gráfico. Em um ambiente de container como o que estamos usando, instalar uma interface gráfica de usuário (GUI) completa, como o GNOME, não é uma prática padrão. Containers são projetados para serem leves e são tipicamente gerenciados via linha de comando.

Em vez disso, praticaremos a mesma habilidade — instalar grupos de pacotes de software relacionados — instalando um conjunto comum de ferramentas de linha de comando. Também instalaremos um navegador web baseado em texto para cumprir o objetivo original de ter acesso a um navegador em nosso novo ambiente.

Primeiro, precisamos entrar em nosso container em execução. Na etapa anterior, deixamos o container centos_workstation rodando em segundo plano. Usaremos o comando docker exec para abrir um novo shell dentro dele como o usuário student1.

Se você já estiver dentro do container, pode pular este comando.

docker exec -it centos_workstation su - student1

O prompt do seu comando mudará para [student1@a1b2c3d4e5f6 ~]$, indicando que você está agora logado como student1 dentro do container.

Agora, vamos usar o yum para instalar o grupo de pacotes "Development Tools". Este grupo contém ferramentas essenciais para compilar software a partir do código-fonte, como gcc, make e git. Como o student1 tem privilégios de sudo, podemos realizar esta instalação. O sinalizador -y responde automaticamente "sim" a qualquer pergunta.

sudo yum groupinstall -y "Development Tools"

Esta instalação baixará e instalará muitos pacotes e pode levar vários minutos. Você verá muita saída de texto enquanto os pacotes são instalados.

Em seguida, para completar nossa configuração, vamos instalar o lynx, um navegador web leve e baseado em texto. Esta é uma ferramenta útil para verificar sites rapidamente ou baixar arquivos diretamente da linha de comando.

sudo yum install -y lynx

A instalação do lynx deve ser muito rápida. Vamos testar nosso novo navegador navegando até um site simples.

lynx example.com

Você verá o conteúdo de texto da página inicial do example.com renderizado em seu terminal. Você pode usar as teclas de seta para navegar. Para sair do lynx, pressione a tecla q no seu teclado. Quando solicitado a confirmar (Are you sure you want to quit? [Y/N]), pressione y.

Você configurou com sucesso seu ambiente CentOS com ferramentas de desenvolvimento importantes e um navegador de linha de comando. Para finalizar este laboratório, saia do container.

Digite exit para deslogar do usuário student1 e, em seguida, digite exit novamente para sair do shell do container e retornar ao seu terminal principal do LabEx.

exit
exit

Resumo

Neste laboratório, você aprendeu como configurar um ambiente CentOS 7 usando uma abordagem moderna baseada em containers com Docker. Você começou baixando a imagem oficial do CentOS 7 do registro público Docker Hub usando o comando docker pull centos:7. Em seguida, verificou que a imagem foi baixada com sucesso e estava disponível em seu sistema local listando todas as imagens Docker locais com o comando docker images.

Esta configuração inicial prepara a base para as etapas subsequentes, onde você criará e executará um container a partir desta imagem. O objetivo geral foi realizar uma configuração completa do CentOS 7, incluindo ajustes personalizados e a instalação de ferramentas essenciais, tudo dentro da eficiência e leveza de um container Docker.