Skip to content

Latest commit

 

History

History
259 lines (192 loc) · 12.5 KB

File metadata and controls

259 lines (192 loc) · 12.5 KB

📘 Linux Essentials - Tópico 1.1

A evolução do Linux e sistemas operacionais populares

🧭 Introdução ao Linux

Linux é um dos sistemas operacionais mais populares do mundo.

Criado por Linus Torvalds em 1991, inspirado no Unix, sistema operacional da década de 1970 desenvolvido pelos Laboratórios AT&T.

O Unix foi originalmente projetado para computadores "pequenos" (na época, isso significava máquinas que não ocupavam uma sala inteira e custavam menos de 1 milhão de dólares).

Mais tarde, o termo passou a descrever máquinas que podiam ser erguidas por duas pessoas.

O Unix não estava disponível para os computadores baseados na arquitetura x86 (os PCs de escritório).

Linus, então estudante, começou a desenvolver um sistema operacional compatível com a arquitetura x86, com base nos princípios do Unix.


⚙️ Filosofia e Código-fonte

  • O Linux adota os princípios e ideias do Unix, mas não reutiliza seu código. Trata-se de um projeto independente.
  • É mantido por uma comunidade internacional de desenvolvedores voluntários, e não por uma única empresa.
  • Está disponível gratuitamente e pode ser utilizado por qualquer pessoa, sem restrições.

📦 O que é uma distribuição Linux?

Uma distribuição é um pacote que combina:

  • O kernel Linux
  • Um conjunto de aplicativos
  • Ferramentas de gerenciamento e instalação de software

As distribuições são mantidas por empresas ou comunidades, e são otimizadas para diferentes tipos de uso (ex: desktop, servidor, mobile).

  • Distribuições desktop costumam focar na facilidade de uso.
  • Distribuições para servidores priorizam o desempenho e estabilidade.

🧬 Famílias de Distribuições

🟩 Debian e derivados

  • Usam o gerenciador de pacotes dpkg e o formato .deb.
  • Os pacotes .deb contêm o software, sua configuração padrão e documentação.
  • Os pacotes são mantidos por voluntários da comunidade.
  • Ferramentas como apt facilitam a instalação e atualização dos pacotes.

🧱 Debian GNU/Linux

  • Projeto iniciado por Ian Murdock em 1993.
  • Objetivo: fornecer um sistema extremamente confiável.
  • Promove a visão de Richard Stallman sobre software livre:
    • Liberdade de executar, estudar, distribuir e modificar o software.
  • Por isso, não inclui software proprietário por padrão.

🟪 Ubuntu

  • Derivado do Debian, criado por Mark Shuttleworth em 2004.
  • Foco em facilidade de uso no desktop.
  • Missão: tornar o software livre acessível para todos no mundo.
  • Lançamentos:
    • Nova versão a cada 6 meses
    • Versão LTS (Long Term Support) a cada 2 anos

🟥 Red Hat e derivados

  • Utilizam o gerenciador de pacotes rpm.
  • Oferecem soluções voltadas ao mercado corporativo, especialmente servidores.

🧱 Red Hat Enterprise Linux (RHEL)

  • Iniciado como Red Hat Linux em 1994, renomeado para RHEL em 2003.
  • Suporte comercial pago.
  • Inclui ferramentas e software voltados para ambientes corporativos.
  • Parte do código exige licenciamento.
  • Desde 2019, a Red Hat pertence à IBM.

🆓 CentOS

  • Baseado no código-fonte do RHEL.
  • Distribuição gratuita, mas sem suporte oficial/comercial.

🧪 Fedora

  • Criado em 2003 pela Red Hat como um "laboratório de testes".
  • Rápido em adotar tecnologias recentes.
  • Foco no uso desktop.
  • Muitas das inovações testadas no Fedora são incorporadas ao RHEL.

🟦 SUSE e derivados

  • Origem: empresa alemã fundada em 1992 como provedor de serviços Unix.
  • Primeira versão do SUSE Linux em 1994.

🧱 SUSE Linux Enterprise Server (SLES)

  • Edição comercial, com lançamentos menos frequentes.
  • Voltada ao ambiente corporativo.
  • Conhecida pela ferramenta YaST:
    • Facilita a instalação e configuração de software, hardware, redes e servidores.

🧪 openSUSE

  • Projeto comunitário iniciado em 2004.
  • Gratuito, mantido por desenvolvedores e usuários da comunidade.
  • Serve como base de testes para versões comerciais da SUSE.

🔧 Outras distribuições Linux relevantes

  • QubesOS: segurança reforçada, usa virtualização para isolar aplicações.
  • Kali Linux: voltado a testes de segurança/pentest, inclui ferramentas de análise de vulnerabilidades.
  • Distribuições para containers:
    • Ex: criadas para rodar no Docker
    • São mínimas, focadas em tamanho e performance
  • Distribuições embarcadas:
    • Criadas para rodar em hardware específico, como IoT, smart devices e roteadores.

🔌 Sistemas Embarcados

Os sistemas embarcados são uma combinação de hardware e software projetados para cumprir uma função específica dentro de um sistema maior.

  • Normalmente fazem parte de outros dispositivos e ajudam a controlá-los.
  • Estão presentes em aplicações automotivas, médicas e até militares.
  • Devido à diversidade de aplicações, surgiram muitos sistemas operacionais baseados no kernel do Linux voltados ao uso embarcado.

Hoje, uma parte significativa dos dispositivos inteligentes utiliza sistemas Linux embarcados.

Esses sistemas usam software embarcado, cujo principal objetivo é acessar o hardware e torná-lo utilizável.

✅ Vantagens do Linux em sistemas embarcados:

  • Compatibilidade entre plataformas de diferentes fornecedores
  • Facilidade de desenvolvimento
  • Forte suporte comunitário
  • Ausência de taxas de licença

Dois dos projetos mais populares nessa área são:

  • Android – voltado a dispositivos móveis
  • Raspbian – voltado ao Raspberry Pi

🤖 Android

  • O Android é um sistema operacional móvel desenvolvido principalmente pelo Google.
  • A empresa Android Inc. foi fundada em 2003, em Palo Alto, Califórnia.
  • Inicialmente, o sistema foi pensado para rodar em câmeras digitais.
  • Em 2005, o Google comprou a Android Inc. e redirecionou o projeto para dispositivos móveis.

🔧 Estrutura do Android:

  • Baseado em uma versão modificada do kernel do Linux
  • Combina código aberto com componentes proprietários do Google

📱 Aplicações:

  • Desenvolvido principalmente para dispositivos touchscreen
  • Existem versões para:
    • Smart TVs
    • Smartwatches
    • Consoles de jogos
    • Câmeras digitais
    • PCs

🔓 Código aberto + componentes proprietários

  • O código-fonte do Android está disponível no AOSP (Android Open Source Project)
  • O Google fornece componentes proprietários:
    • Google Agenda
    • Google Maps
    • Gmail
    • Chrome
    • Google Play Store

Praticamente todos os dispositivos Android vendidos na Europa e América incluem esses aplicativos proprietários.

🎯 Vantagens do Android para sistemas embarcados:

  • Interface gráfica intuitiva
  • Comunidade ampla de desenvolvedores
  • Suporte por grande parte dos fabricantes de hardware
  • Fácil criação de protótipos e integração com drivers existentes

🍓 Raspbian e Raspberry Pi

  • O Raspberry Pi é um computador de baixo custo, do tamanho de um cartão de crédito.
  • Desenvolvido pela Raspberry Pi Foundation, uma instituição educacional do Reino Unido.
  • Seu principal objetivo é ensinar jovens a programar e entender o funcionamento dos computadores.

Pode ser utilizado como:

  • Computador de mesa completo
  • Componente em sistemas Linux embarcados

🔌 GPIO e projetos de hardware

  • Possui um conjunto de pinos GPIO (General Purpose Input/Output).
  • Esses pinos permitem conexão com sensores, placas e dispositivos eletrônicos.
  • Ideal para projetos caseiros, educacionais e prototipagem industrial.

⚙️ Características técnicas

  • Usa processadores ARM
  • Não possui disco rígido: o sistema operacional é iniciado a partir de um cartão SD

🐧 Raspbian

  • Distribuição Linux baseada no Debian, adaptada ao hardware do Raspberry Pi
  • Oferece mais de 35.000 pacotes otimizados
  • É a distribuição Linux mais popular para o Raspberry Pi

🎛️ Outras distribuições para Raspberry Pi:

  • Kodi: transforma o Raspberry Pi em uma central de mídia
  • Outras distribuições também são utilizadas dependendo do uso desejado

☁️ Linux e a Computação em Nuvem

Cloud computing (computação em nuvem) é uma forma padronizada de consumir recursos computacionais, seja por:

  • Provedores públicos de nuvem
  • Ambientes de nuvem privados

📈 Linux nas nuvens públicas

  • De acordo com relatórios de 2017, o Linux está presente em 90% das cargas de trabalho nas nuvens públicas.
  • Todos os principais provedores oferecem distribuições Linux:
    • Amazon Web Services (AWS)
    • Google Cloud Platform (GCP)
    • Microsoft Azure (também oferece VMs Linux)

🏗️ Linux e IaaS (Infraestrutura como Serviço)

  • O Linux é amplamente utilizado em ofertas de IaaS.
  • IaaS são máquinas virtuais provisionadas rapidamente na nuvem.
  • O usuário escolhe uma imagem de sistema operacional pronta para uso, que é aplicada à instância virtual.

Características das imagens de IaaS:

  • Contêm distribuições Linux populares ou versões personalizadas dos provedores
  • Vêm com ferramentas específicas da nuvem para:
    • Expandir automaticamente o sistema de arquivos da imagem
    • Adaptar o sistema ao ambiente da instância
    • Gerenciar o disco virtual de forma eficiente

💡 Vantagens:

  • Rápida implantação de ambientes Linux
  • Flexibilidade na escolha da distribuição
  • Acesso quase instantâneo a servidores baseados em Linux
  • Escalabilidade e personalização com ferramentas específicas de nuvem

📚 Conclusão

O Linux é um sistema operacional robusto, versátil e em constante evolução. Sua criação em 1991 por Linus Torvalds foi um marco que democratizou o acesso a um sistema baseado nos princípios do Unix, mas com liberdade total de uso, modificação e distribuição. Desde então, o Linux passou a ser sustentado por uma comunidade global de colaboradores e apoiado por grandes empresas, tornando-se um dos pilares da computação moderna.

Neste tópico, aprendemos que:

  • Distribuições Linux são combinações do kernel com aplicativos e ferramentas específicas, adaptadas para diferentes usos (desktop, servidor, nuvem, dispositivos móveis e embarcados).
  • As principais famílias de distribuições (Debian, Red Hat, SUSE) possuem características técnicas, ideológicas e administrativas distintas, incluindo diferentes formatos de pacotes (.deb, .rpm) e modelos de suporte (comercial, comunitário).
  • A filosofia do Linux, fortemente influenciada pelo movimento de software livre, valoriza as liberdades do usuário, como estudar, compartilhar e modificar o código.
  • Distribuições derivadas como Ubuntu, CentOS, Fedora, openSUSE, entre outras, mostram a diversidade de propósitos que o Linux pode atender, seja para uso pessoal, educacional, corporativo ou experimental.
  • O Linux também está profundamente inserido em sistemas embarcados, controlando desde equipamentos médicos até automóveis, com projetos como Android e Raspberry Pi desempenhando papel essencial nesse ecossistema.
  • O Android, baseado no kernel Linux, domina o mercado de dispositivos móveis e serve como exemplo de como o Linux pode ser adaptado, personalizado e escalado para aplicações massivas.
  • O Raspberry Pi, com o Raspbian, democratiza o aprendizado de programação e a prototipagem de hardware, inclusive em ambientes industriais e educacionais.
  • O Linux é onipresente na computação em nuvem, operando a maioria dos servidores que sustentam serviços críticos no mundo. Em ambientes de Infraestrutura como Serviço (IaaS), o provisionamento rápido de instâncias Linux se tornou padrão devido à sua estabilidade e flexibilidade.

Portanto, o estudo da evolução do Linux e dos sistemas operacionais populares não apenas nos apresenta a história e os conceitos técnicos, mas também reforça a importância estratégica que o Linux possui em praticamente todas as áreas da tecnologia atual.

➡️ Dominar esses conceitos é o primeiro passo para construir uma carreira sólida com Linux, seja como usuário, administrador de sistemas, desenvolvedor ou profissional de infraestrutura em nuvem.