Saltar para o conteúdo
010 · Linux Essentials

Escolhendo um Sistema Operacional

TópicoT12Objetivo4.1Peso1PáginasLinux Essentials (010) - Version 4.1

Resumo Conciso

O que é um Sistema Operacional (SO)

  • SO = software central que reside no "coração" do computador e permite executar aplicações.
  • Contém drivers para aceder ao hardware (discos, ecrãs, teclados, placas de rede, etc.).
  • Grupos principais de SO disponíveis:
    • Linux (empresarial / utilizador comum)
    • Unix (BSD comerciais e livres)
    • macOS (Apple)
    • Windows (desktop/servidor Microsoft)

Kernel vs. Distribuição Linux

  • Kernel = o núcleo comum a todas as distribuições Linux. Mantido por uma equipa liderada por Linus Torvalds, sob o consórcio The Linux Foundation (desenvolvimento iniciado em 1991, primeira versão GPL v2 em 1992: 0.12).
  • Distribuição = kernel Linux + ambiente (shell Bash, comandos básicos, frequentemente desktop como GNOME ou KDE).
  • Ver versão do kernel em uso: uname -r (ex.: 4.15.0-1019-aws).

Tipos de distribuições Linux

CategoriaFocoExemplosCaracterísticas
EmpresarialEstabilidade, hardware maduro, suporte longoRHEL, CentOS, SUSE Linux Enterprise Server, Debian, Ubuntu LTSKernel mais antigo mas muito testado; atualizações de segurança retroportadas
Utilizador domésticoHardware recente, drivers novosFedora, Ubuntu não-LTS, openSUSEKernel mais recente; suporte de comunidade mais curto
Experimental / hackersVanguarda, rolling releaseArch, GentooSoftware mais recente, pode quebrar; exige utilizador avançado

Parentescos: Ubuntu baseia-se em Debian (usa dpkg); Fedora é o "banco de testes" do RHEL.

Ciclo de vida e suporte

  • Distribuições empresariais têm vida longa — ex.: RHEL 8 lançado maio/2019, suporte até maio/2029 (10 anos).
  • Ubuntu usa versões datadas YY.MM (ex.: 19.04 = abril 2019). Versões normais: ~3 lançamentos de suporte. LTS (Long Term Support): 5 anos de suporte (atual: 18.04 até 2023) — viável para empresas, com suporte comercial da Canonical.
  • Beta vs. Stable: distribuições experimentais (Arch, Gentoo) seguem modelo rolling release — atualizações contínuas, funcionalidade pode quebrar.

Linux em diferentes contextos

  • Desktop — ambientes como GNOME e KDE (preferência pessoal). Pequenas empresas e casa: fácil, sem custo de licença. Em grandes empresas pode haver resistência (equipas treinadas em Windows, software específico).
  • Servidores — uso muito comum no mundo empresarial; gerido por especialistas; o SO do servidor é transparente para os utilizadores finais.
  • Nuvem — provedores (AWS, Google Cloud, Rackspace, Azure) oferecem imagens de múltiplas distros prontas em minutos.

Sistemas operacionais não-Linux

SONotas
UnixAntecessor do Linux. Variantes comerciais (AIX, HP-UX, Solaris — este último extinto) e livres (FreeBSD, NetBSD, OpenBSD). Em declínio, substituído pelo Linux.
macOS (Apple, desde 2001)Inspirado no BSD Unix; traz o shell Bash. O comando uname -s reporta Darwin. Abre-se o Terminal para linha de comando.
Windows (Microsoft)Domina o mercado de desktop/laptop. Licença proprietária incluída no hardware. Como servidor, permite escolher entre GUI e modo só linha de comando (Server Core) — útil quando a GUI não é usada.

GUI vs. Linha de comando

  • GUI (Graphical User Interface) — interface gráfica; mais amigável para o utilizador final.
  • Linha de comando (CLI) — mais eficiente para administração/servidores; consome menos recursos.
  • Nos servidores Windows modernos a GUI pode ser omitida; nos servidores Linux a CLI é a norma.

🔬 Exercícios Exploratórios (prática no terminal)

Exercícios da autoria do agente para explorar o teu próprio sistema (Linux, macOS ou WSL) e comparar distros. Soluções em <details> para tentares primeiro.

Exploratório 1 — Identificar a tua distribuição

Descobre o nome e versão da distro onde estás, a família de pacotes (Debian/Red Hat) e o release do kernel.

bash
# Nome e versão da distribuição (funciona em qualquer distro moderna)cat /etc/os-release# Alternativas mais legíveislsb_release -a            # pode exigir o pacote lsb-releasehostnamectl               # mostra OS, kernel e arquitetura# Família de pacoteswhich dpkg && echo "Família Debian (.deb)"which rpm  && echo "Família Red Hat/SUSE (.rpm)"# Release do kerneluname -r                  # ex.: 5.15.0-91-genericuname -a                  # tudo: kernel, hostname, arquitetura, data

Como interpretar: em /etc/os-release, ID=ubuntu/debian → Debian family; ID=rhel/fedora/centos → Red Hat family. O uname -r corresponde exatamente ao "kernel release" mencionado no manual.

Exploratório 2 — Classificar distros (empresarial / doméstica / experimental)

Cria um ficheiro distros.txt com 9 distribuições (3 de cada tipo) e usa grep -E para filtrar só as empresariais.

bash
cat > distros.txt <<'EOF'RHELCentOSSUSE Linux Enterprise ServerFedoraUbuntuopenSUSEArchGentooDebianEOF# Empresariais (manual: RHEL, CentOS, SUSE LES, Ubuntu LTS, Debian)grep -E 'RHEL|CentOS|SUSE Linux Enterprise|Debian' distros.txt

Classificação esperada (segundo o manual):

  • Empresarial: RHEL, CentOS, SUSE Linux Enterprise Server, Debian, Ubuntu LTS
  • Utilizador doméstico: Fedora, Ubuntu (não-LTS), openSUSE
  • Experimental / hackers: Arch, Gentoo

Exploratório 3 — Verificar hardware e memória (decidir tipo de distro)

O manual afirma que hardware recente exige distros de utilizador doméstico; hardware maduro combina com distros empresariais. Verifica a tua arquitetura de CPU, memória RAM e espaço em disco para decidir que perfil de hardware tens.

bash
# Arquitetura do CPUuname -m#   x86_64    -> PC/servidor moderno (Intel/AMD 64 bits)#   aarch64   -> ARM (Raspberry Pi, Apple Silicon em VM, servidores AWS Graviton)# Memória RAM (forma legível)free -h# Espaço em disco / partições montadasdf -h# Discos/blocos visíveislsblk

Reflexão (liga ao manual): se tens hardware recente com bastante RAM e um kernel moderno (uname -r ≥ 5.x), uma distro de utilizador doméstico (Ubuntu, Fedora) aproveita melhor os drivers novos. Para servidores de produção com hardware maduro, prefere-se RHEL/CentOS/Debian pela estabilidade e suporte longo.

Exploratório 4 — Comparar ciclo de vida (LTS vs. normal)

Verifica a versão do teu Ubuntu e determina se é LTS ou normal, calculando a data de fim de suporte (LTS = 5 anos; normal = 9 meses). Usa a regra YY.MM do número de versão.

bash
# Versão do Ubuntulsb_release -a 2>/dev/null# oucat /etc/os-release | grep VERSION=# Exemplos de interpretação:#   22.04 (abril 2022)  → LTS, suporte até abril 2027#   24.04 (abril 2024)  → LTS, suporte até abril 2029#   23.10 (out. 2023)   → normal, EOL ~julho 2024

Regra prática: versões YY.04 e YY.10 de anos pares são LTS (abril). As restantes são de curto prazo. Isto justifica a recomendação do manual de usar Ubuntu LTS em empresas (suporte comercial da Canonical durante 5 anos).

Exploratório 5 — Descobrir o SO em macOS / Unix

Se tiveres acesso a um macOS (físico ou via SSH), confirma que o kernel reportado é Darwin e que o shell disponível é Bash/Zsh. Caso só tenhas Linux, compara a tua saída com o esperado.

bash
# No macOS (Terminal.app):uname -s          # Darwinuname -r          # ex.: 23.0.0 (versão do Darwin)echo $SHELL       # /bin/zsh (default desde macOS Catalina) ou /bin/bash# No Linux (comparação):uname -s          # Linuxecho $SHELL       # /bin/bash (habitualmente)# Em FreeBSD/NetBSD/OpenBSD:uname -s          # FreeBSD / NetBSD / OpenBSD

Reflexão: apesar de uname -s reportar nomes diferentes (Linux vs Darwin vs FreeBSD), todos partilham herança Unix — daí a semelhança de comandos, shell e filosofia. Isto explica porque é que o macOS é "amigável para utilizadores Unix/Linux", como refere o manual.