Gerenciadores de pacote: apt e brew
Instalar programas sem baixar instalador nenhum — e por que 'sudo' em tudo, sem pensar, é o hábito mais arriscado desta lição.
Instalar um programa fora do terminal normalmente significa baixar um arquivo, abrir um instalador, clicar em "avançar" algumas vezes. No terminal, esse trabalho é feito por um gerenciador de pacotes — uma ferramenta que baixa, instala, atualiza e remove programas a partir de um repositório confiável, tudo com um único comando.
apt — o gerenciador padrão em distribuições baseadas em Debian/Ubuntu
Em servidores Linux (a grande maioria roda Ubuntu ou Debian), o gerenciador mais comum é o apt. Antes de instalar qualquer coisa nova, o primeiro passo quase sempre é atualizar a lista de pacotes disponíveis:
sudo apt updateapt update não instala nem atualiza programa nenhum ainda — ele só baixa a lista mais recente de quais versões estão disponíveis em cada repositório configurado. Sem rodar isso primeiro, o apt pode tentar instalar uma versão desatualizada, ou nem encontrar um pacote que foi adicionado recentemente ao repositório.
sudo apt install htopsudo apt upgrade # atualiza todos os pacotes instalados pra versão mais recente
sudo apt remove htop # remove o pacotebrew — o gerenciador mais comum no macOS
O macOS não vem com apt nem com gerenciador de pacotes nenhum instalado por padrão — o Homebrew (comando brew) preenche esse espaço e virou o padrão de facto entre quem desenvolve em Mac. A lógica dos comandos é praticamente a mesma do apt:
brew update
brew install htop
brew upgrade
brew uninstall htopUma diferença notável: o brew instala pacotes na pasta do próprio usuário (normalmente sem precisar de sudo), enquanto o apt instala em pastas do sistema que exigem privilégio de administrador — por isso os exemplos de apt acima levam sudo e os de brew não.
Por que sudo em tudo, sem entender, é arriscado
sudo (superuser do) executa um comando com privilégios de administrador — sem as restrições normais de permissão que protegem o sistema de mudanças acidentais. É necessário pra várias operações legítimas, como o apt install acima. O problema é o hábito de colar sudo na frente de qualquer comando que dá erro de permissão, sem entender por que ele pediu privilégio.
Um comando rodado com sudo tem poder de alterar ou apagar praticamente qualquer arquivo do sistema, inclusive arquivos essenciais pro sistema operacional funcionar. Rodar sudo rm -rf num caminho errado, por exemplo, não tem a proteção que normalmente impediria apagar arquivos de sistema sem privilégio — o sudo remove justamente essa proteção. A regra prática: use sudo quando você entende por que aquele comando específico precisa de privilégio elevado, nunca como reflexo automático pra "fazer o erro sumir".
Exercício
Num servidor Ubuntu novo, você precisa instalar o curl. Escreva a sequência completa de comandos, na ordem certa, explicando o motivo do primeiro passo.