Alisson Machado
21 December 2020

Capítulo 1: Começando com o Linux

Este capítulo irá apresentá-lo ao mundo Linux com foco em Servidores, portanto, não vou explicar sobre Desktops.

Dentro do conteúdo que sera apresentado vamos ver os seguintes tópicos:


O que é Linux 

  • Distribuições 
  • Servidores 
  • Configuração do ambiente 


Instalando o VirtualBox 

  • Instalando um Sistema Linux 
  • Acessando via SSH 


Introdução a Bash 

  • Comandos úteis 
  • Arquivos básicos e como editá-los 
  • Personalizando sua Shell 
  • Instalação de pacotes


O que é Linux 

Se você comprou este livro provavelmente você já tem uma ideia básica do que é Linux, porem resumindo, Linux é um Sistema Operacional com um Código de Código Aberto e ele funciona semelhante ao Windows, mas ele não pertence a nenhuma Empresa.

Tendo o código aberto, todo mundo pode baixar o Núcleo do Linux usando este site: 

https://www.kernel.org/

E se você estiver interessado em dar uma olhada em torno do código Fonte pode ser encontrado neste link https://git.kernel.org/ . 

 

Linux tem esse nome por causa de seu criador, ele se chama Linus Torvalds, então as primeiras 3 letras são as iniciais de Linus e as últimas 2 vieram de outro O.S chamado Minix, qual foi criado por um cara chamado Andrew Tanenbaum. 

 

É comum você ver o Linux vinculado a outras iniciais, GNU, isso acontece porque quando Linus Torvalds estava criando o Linux ele usou muitas ferramentas que foram criadas pelo projeto GNU https://www.gnu.org/home.en.html .


O projeto GNU começou com Richard Stallman que foi o criador da Free Software Foundation https://www.fsf.org para licenciar Open Source, o que isso significa?

Que cada software escrito pelo Projeto GNU tem seu código aberto para todos que querem trabalhar nele.

Então como o Linus Torvalds usou as ferramentas do Projeto GNU, ele decidiu usar a mesma filosofia do Código Aberto e ele lança o sistema Linux com as ferramentas do GNU Project, ele explica o termo GNU/Linux.  



Distribuições  

 

Pelo fato do Linux ser Open Source muitas pessoas e empresas começaram a criar suas próprias versões do Linux, que são chamadas de Distribuições.

Todo mundo que tem conhecimento em programação de computadores pode fazer sua própria Distribuição Linux, um exemplo disso é o Kurumin Linux, ele foi criado por um programador brasileiro chamado Carlos Morimoto e pode ser encontrado neste link: https://distrowatch.com/table.php?distribution=kurumin, infelizmente, foi descontinuado, porque manter sua própria distribuição não é uma tarefa fácil, você tem que se preocupar com atualizações, novas versões, novos softwares, correção de bugs e coisas infinitas que são basicamente impossíveis para apenas uma pessoa e sem ser pago por isso. Assim, esse é um tópico importante para você decidir qual distribuição você está planejando instalar em sua infraestrutura, imagine a situação, você começou com uma distribuição, um ano depois ela é descontinuada e você tem que reinstalar toda a sua infraestrutura com mais de 300 servidores, nós, como profissionais, precisamos ficar atentos a esses detalhes antes de colocar algo em produção.

 

Em relação à distribuição que podemos escolher para a nossa infraestrutura, existe várias delas, mas algumas são realmente mais utilizadas, por causa do some das razões que vou explicar. 

 

RedHat Enterprise Linux: Essa é a distribuição mais famosa e corporativa por causa da RedHat Company, que é uma das empresas mais famosas do mundo Linux, tem suporte incrível, atualizações frequentes e 100% de compatibilidade com os Softwares RedHat como JBoss, OpenStack, RedHat Enterprise Virtualization Manager e muito mais opções. Mas para usar o RHEL necessário para fazer uma assinatura com a empresa e pagar por isso, caso contrário, você não vai receber atualizações e nenhum acesso ao repositório. 

 

Community Enterprise Operating System: CentOS é a versão comunitária do RHEL, é a distribuição mais comum entre as empresas que optaram por não usar a versão paga e querem usar a versão community do software RedHat. 

 

SUSE: É a distribuição Novell(Microsoft) que é uma boa opção porque a Microsoft é uma das maiores empresas do mundo, portanto a probabilidade de ela ter sido descontinuada é zero e você sempre terá atualizações e novos softwares que é publicado pela empresa, ele também tem uma versão comunitária chamada OpenSUSE e segue os mesmos princípios do CentOS. 

 

Debian: Essa é a opção para quem está mais envolvido na comunidade e não quer ser bound para qualquer empresa como os distros mencionados anteriormente, o Debian é 100% mantido pela comunidade e um dos distros mais antigos que também temos rodando em muitos servidores, é muito estável um confiável, frequentemente utilizado pelas empresas e usuários comuns. 

 

Ubuntu: Esse distro foi feito na África por uma empresa chamada Canonical que estava distribuindo CDs em todo o mundo para as pessoas que estão chegando mais sobre o Linux e executá-lo em seus próprios desktops. Os usuários finais foram alvos da canônica no início, então acredito que para desktops o Ubuntu é o distro mais usada e para servidores CentOS. O Ubuntu também tem uma versão para Servidores que é a minha distribuição favorita, por isso vou escrever este livro usando ubuntu, mas o conhecimento que você vai adquirir aqui você pode usar para todas as distribuições. 

 

Servidores 

Os servidores nada mais são do que computadores, geralmente mais poderosos que os PCs, que são criados e instalados para atender a um propósito. Por exemplo, podemos instalar um Servidor Linux para agir como e o WebServer, em outros words para executar um site nele, como o Facebook, amazon ou google, ele também pode agir como um Servidor de Banco de Dados, onde podemos instalar um PostgreSQL, SQLServer, MySQL, Oracle ou outro, pode ser FileServer onde a empresa armazena todos os dados dentro dele e em muitos cases todos eles juntos, um exemplo disso é o que chamamos de LAMP, Linux Apache MySQL PHP, geralmente chamamos um servidor como LAMP quando temos um Sistema Linux, um WebServer nesse caso Apache, um Banco de Dados de Servidor (MySQL) e um intérpretede linguagem de programação, no casothi, PHP, também podemos chamar isso de Stack. Stack significa um conjunto de ferramentas que você pode usar para resolver um problema, então uma das minhas Stacks favoritas é NPM, Nginx, Python e MongoDB, tenho usado para resolver muitos problemas nas empresas que trabalhei. Este Stack pode ser instalado em um Servidor, que pode ser virtual ou físico e vamos fazer isso nos próximos capítulos. 

 

On-premise é um termo frequentemente usado para o Server que são instalados dentro da infraestrutura da nossa empresa muitas vezes em um datacenter, e às vezes sob a mesa sysadmin, máquinas virtuais também podem funcionar em uma infraestrutura on-premise quando usamos ferramentas como OpenStack ou oVirt para criá-los no Top of Physical Servers, é uma estratégia adotada pelas empresas para ter mais resiliência, flexibilidade e um melhor aproveitamento de nossos recursos. Um exemplo é que você tem que trocar um ou mais servidores em seu datacenter, pelo fato de ser muito antigo e não ser capaz de ter o mesmo desempenho que os outros servidores, portanto você pode migrar as máquinas Virtual Mde um servidorpara outro, trocar a máquina física e depois de instalar um novo, 

você pode migrar todos os VMs de volta. 

 

Cloud é o nome usado para descrever quando os servidores virtuais são instalados dentro da infraestrutura de outra pessoa, ouseja, a maioria dos casos, empresas como AWS, Azure e GCP, essas empresas têm sua própria infraestrutura on-premise e alugam para nós, então não precisamos cuidar da manutenção, como trocar discos quando eles falham, trocar o servidor quando eles estão depredou mesmo eletricidade e internet. Além disso, você pode economizar custos desligando-os fora do dia útil e começando-os no dia seguinte, todos esses provedores eles só cobram pelo tempo que a máquina é ligada, caso contrário você está indog para pagarapenas pelo armazenamento. 

 

Conclusão 

Agora que já temos uma explicação em breve sobre os servidores, máquinas virtuais, Linux e distribuições. Estamos prontos para começar o Hands-on. Configurando nosso primeiro ambiente Linux e conhecer o básico e muito mais.


Configuração do seu ambiente 

Uma das tarefas mais importantes para um profissional de Linux é a habilidade de configurar diferentes tipos de ambiente, instalar servidores web, bancos de dados, sistemas de arquivos e muitos serviços diferentes pelos mais diferentes fornecedores. Neste capítulo vamos baixar uma distribuição Linux, como instalar uma ferramenta de virtualização para criar seus próprios ambientes de teste, criar uma imagem base para facilitar a criação de novos laboratórios e se você quebrar seu ambiente de testes, o que acontece muitas vezes quando estamos aprendendo. 

 

Para executar máquinas virtuais em seu laptop ou computador pessoal, você precisa habilitar a virtualização na BIOS ou UEFI do seu computador, essa configuração pode ser diferente de acordo com o seu equipamento, mas em quase todos os casos isso pode ser encontrado na opção "Advanced" ou "Security" com o nome Intel Virtualization Technology. 

 

Instalando o VirtualBox

Hoje em dia temos muitas opções de ferramentas de virtualização para rodar em seu laptop, como VMWare Player, KVM, QEMU, HyperV mas na minha opinião o VirtualBox é o mais fácil e tem todos os recursos que precisamos para criar nossos laboratórios. 

 

Para instalar o VirtualBox, você pode baixar a versão mais recente do site oficial: 

https://www.virtualbox.org/wiki/Downloads 

 

Estou usando o Sistema Windows então vou baixar a versão do Windows, mas se você tem o conhecimento básico do Linux ou está usando o macOS os passos são basicamente os mesmos. 

 

Depois de baixar o arquivo, você tem que fazer um clique duplo e a instalação é basicamente Next, Next e Finish. 

 

Essa primeira janela está apenas explicando que você está prestes a instalar o VirtualBox. 

 

 

 

Essa segunda janela é importante para você selecionar todos os recursos, pois muitas vezes eles são necessários, principalmente quando você quer compartilhar arquivos entre o seu pc e o VM, ou mesmo configurar redes. 

 

 

Aqui apenas opções básicas sobre atalhos se você quiser adicioná-los ao seu desktop. 

 

 


Nesta parte a instalação lhe pedirá permissões de Administrador porque o Virtual Box precisa criar uma Bridge Interface, essa interface é responsável pela comunicação entre a máquina host e a Máquina Virtual, sem essa interface você não conseguira acessar via ssh. 


 


 

 

 

 

Após a conclusão da instalação, você poderá abrir o VirtualBox, e abaixo está a tela principal. 

 

 

 

Agora estamos prontos para configurar nosso primeiro ambiente Linux, o VirtualBox tem um varias opções para serem exploradas, mas eu não vou focar nele porque temos um Sistema Linux para instalar. 

 

Instalação do Sistema Linux 

Usaremos o Servidor do Ubuntu para fazer tudo neste livro, você pode baixar a versão mais recente neste link: 

https://ubuntu.com/download/server 

 

Então baixei este arquivo: ubuntu-18.04.3-live-server-amd64.iso 

 

Agora vamos iniciar a instalação, o primeiro passo é abrir o VirtualBox, clique em Novo e digite o nome do nosso servidor como: Ubuntu Server

 

 

Depois de clicar em Next você precisa definir a quantidade de memória que deseja ter em seu VM, o Sistema Linux geralmente não precisa de muita memória para funcionar, mas depois de instalar seus serviços e testá-los você precisará de mais memória, por enquanto 1GB é suficiente. Em seguida, clique em Next. 

 

Esta parte podemos criar um Novo Disco, o disco é basicamente um arquivo em seu disco onde o VM armazenará todos os dados. Clicando em Criar você verá a janela a seguir. 

 

 

 

VDI é o tipo padrão usado pelo VirtualBox, você pode alterar o tipo se você pretende importar esta máquina em outra ferramenta de virtualização, VMDK por exemplo é o tipo usado pela VMWare. Clique em Next. 

 

 

Essa janela é muito importante, em seus laboratórios sempre usaremos a opção Alocada Dinamicamente porque o VirtualBox criará um pequeno arquivo e aumentará o tamanho de acordo com o uso do disco. 

 

O Tamanho Fixo é recomendado para ambientes de produção, pois a Ferramenta de Virtualização reservará esse espaço para a sua VM, mesmo que você não esteja usando todo o espaço de disco alocado, ele evitará que você tenha mais Espaço Virtual do que Espaço Físico, em alguns casos quando você está usando o tamanho alocado dinamicamente em ambientes de produção você pode ultrapassar o espaço total do seu Armazenamento mas suas máquinas virtuais ainda têm espaço livre. Um outro motivo para escolher essa opção é evitar que sua Ferramenta de Virtualização recalcule o espaço do disco após cada gravação.

 

Aqui você pode definir onde os dados VM serão armazenados e qual é o tamanho do disco, para nós 10GB é suficiente para executar nossos testes. 

 

 


Agora a sua VM foi criada!


Instalando seu Sistema Linux 

Uma vez que tenhamos todos os pré-requisitos, como criar o VM e definir todas as configurações é hora de instalar o sistema, portanto, fazer um duplo clique em sua máquina virtual. 

 

 

 

Você não tem nenhum sistema operacional instalado nessa VM, então selecione a ISO que baixamos clicando na Pasta Amarela e selecionando no arquivo baixado. 

 

 

 

Clique em Adicionar e selecione o arquivo ISO que você já baixou, selecione-o, clique em escolher e Iniciar. 

 

 

Essa parte você pode selecionar o seu idioma, geralmente eu sempre uso ingles, mesmo quando eu estava morando no Brasil, selecionando essa opção com certeza você vai evitar uma série de problemas em relação à collation como: pontuação, caracteres especiais e etc.