Explicação
Em 25 de agosto de 1991, um estudante finlandês de 21 anos chamado Linus Torvalds postou na newsgroup comp.os.minix:
"Hello everybody out there using minix, I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)..."
Era uma mensagem que mudaria a computação. Em outubro do mesmo ano, o Linux 0.02 foi liberado publicamente.
Antes disso, Richard Stallman havia lançado o Projeto GNU em 1983 com o objetivo de criar um sistema operacional completamente livre. O GNU criou ferramentas essenciais: o compilador gcc, o shell bash, a biblioteca C glibc. Mas faltava o componente central: o kernel. Linus completou o quebra-cabeça.
Exemplo Concreto
A evolução do Linux em números:
1991: Linux 0.01, ~10.000 linhas de código, só rodava em x86
1994: Linux 1.0, 176.250 linhas, suporte a rede
2003: Linux 2.6, suporte a SMP, 64-bit, mobile
2011: Linux 3.0, 15 milhões de linhas de código
2024: Linux 6.x, 30+ milhões de linhas, 4.000+ contribuidores
Hoje: Android (2,5 bi dispositivos), 96% dos servidores web,
100% dos supercomputadores do TOP500, todos rodando Linux.
O que você precisa guardar
- Linus Torvalds anunciou o Linux em agosto de 1991, com 21 anos
- O Projeto GNU (1983) criou as ferramentas; o Linux completou com o kernel
- GPL: a licença que garantiu que o Linux permanecesse livre
- Hoje domina servidores, mobile (Android), supercomputadores e nuvem
Explicação
Esses quatro conceitos descrevem camadas distintas do sistema:
Kernel: o núcleo. Gerencia hardware (CPU, memória, disco, rede), processos e o sistema de arquivos. Você nunca interage com ele diretamente. É a ponte entre o software e o hardware físico.
Distro (Distribuição): tudo em volta do kernel: as ferramentas, o ambiente, o gerenciador de pacotes (apt, dnf, pacman), a documentação e as escolhas de configuração padrão. Cada distro tem sua filosofia.
Shell: o intérprete de comandos. É o programa que lê o que você digita no terminal e pede ao kernel que execute. O shell mais comum é o bash. Outros: zsh, fish, sh.
Desktop Environment (DE): a interface gráfica, janelas, menus, ícones. GNOME, KDE Plasma e XFCE são exemplos. Completamente opcional. Servidores Linux geralmente rodam sem nenhum DE.
Exemplo Concreto
# As camadas de baixo para cima:
Hardware (CPU, RAM, Disco, Rede)
↑
Kernel Linux (gerencia o hardware)
↑
Bibliotecas GNU (glibc, etc.)
↑
Shell (bash, zsh) ← você digita aqui
↑
Aplicativos (firefox, vim, nginx, python)
↑
Desktop Environment (GNOME, KDE) ← opcional
echo $SHELL # /bin/bash ou /usr/bin/zsh
uname -r # 6.8.0-41-generic
Erros comuns
"Linux é o sistema operacional": tecnicamente errado. Linux é o kernel. O sistema operacional completo seria "GNU/Linux". Na prática, todo mundo diz Linux e entende o conjunto inteiro.
"Shell e terminal são a mesma coisa": o terminal é o programa que abre a janela preta. O shell (bash, zsh) é o programa que roda dentro e interpreta seus comandos.
Explicação
Open-source significa que o código-fonte é público: qualquer pessoa pode ler, auditar, modificar e distribuir o software, respeitando os termos da licença.
- GPL (General Public License): criada por Stallman. É copyleft: modificações devem ser abertas. O kernel Linux usa a GPLv2.
- MIT / BSD: permissivas. Você pode usar em software proprietário. Muito usadas em bibliotecas.
- Apache 2.0: similar ao MIT, com cláusula de patentes.
Por que importa? Porque você pode auditar o que o software faz. Nenhuma backdoor escondida. A comunidade encontra e corrige vulnerabilidades.
💡
Analogia: Receita de culinária
Software proprietário é como um prato de restaurante: você come, mas a receita é segredo. Open-source é como um livro de receitas público: você vê os ingredientes, pode reproduzir em casa e compartilhar sua versão melhorada.
O que você precisa guardar
- Open-source = código público, auditável, modificável
- GPL (copyleft): modificações devem ser abertas, garantindo que o ecossistema permaneça livre
- MIT/BSD: permissivas, podem ser usadas em software fechado
- Red Hat/Canonical faturam bilhões com suporte e serviços em torno do Linux open-source
Explicação
Linux está em toda parte onde o dinheiro da tecnologia está concentrado:
- 96% dos servidores web do mundo rodam Linux (Netcraft)
- 100% dos supercomputadores do TOP500 usam Linux
- AWS, Azure e Google Cloud: a infraestrutura de nuvem é Linux
- Android: 2,5 bilhões de dispositivos rodando kernel Linux
- Containers Docker/Kubernetes: dependem de recursos do kernel Linux
- Dispositivos embarcados: roteadores, TVs, câmeras IP, carros
Carreiras que exigem Linux: DevOps/SRE, Engenharia de Dados, Segurança da Informação, Desenvolvimento Backend, Cloud Architecture.
O que você precisa guardar
- Servidores, nuvem, containers, mobile. Tudo roda Linux
- Linux não é "opção" para quem trabalha com infraestrutura. É requisito
- O conhecimento é transferível: Ubuntu, Debian, CentOS, Alpine. Mesma base
- Terminal Linux no dia a dia torna você significativamente mais produtivo
Explicação
Ubuntu: baseada no Debian. A distro mais usada em servidores cloud. Versões LTS com 5 anos de suporte. Use quando: quer estabilidade e documentação ampla.
Debian: a "avó" de muitas distros. Extremamente estável. Use quando: quer a base sólida do Ubuntu com menos camadas da Canonical.
Fedora: patrocinado pela Red Hat. Adota novas tecnologias mais cedo. Use quando: quer tecnologia de ponta com relativa estabilidade.
Arch Linux: instalação totalmente manual. Rolling release. A Arch Wiki é a melhor documentação Linux existente. Use quando: quer aprender Linux a fundo.
RHEL / CentOS Stream: padrão corporativo. Certificações (RHCSA, RHCE) muito valorizadas. Use quando: ambiente corporativo exige suporte oficial.
Alpine Linux: minimalista, imagem base ~5MB. Use quando: precisa de containers Docker pequenos e seguros.
Exemplo Concreto
# Diferença nos gerenciadores de pacotes:
sudo apt update && sudo apt install nginx # Ubuntu/Debian
sudo dnf install nginx # Fedora/RHEL
sudo pacman -S nginx # Arch Linux
apk add nginx # Alpine
# Mesma filosofia de filesystem, permissões
# e kernel, independente da distro.
O que você precisa guardar
- Iniciante: Ubuntu ou Fedora
- Corporativo: RHEL / CentOS Stream
- Aprender a fundo: Arch Linux
- Containers: Alpine Linux
- Servidor estável: Debian ou Ubuntu LTS