Como instalar o Rust no Ubuntu 24.04 LTS
Rust continua sendo uma das poucas linguagens que combina alto desempenho com proteção contra uma classe inteira de erros de memória — estouros de buffer, condições de corrida (data races) e acesso a memória já liberada. O compilador verifica a posse (ownership) e o tempo de vida dos objetos antes mesmo de o programa rodar, por isso boa parte dos bugs típicos de C e C++ nunca chega à produção. É exatamente essa característica que leva equipes a migrar para Rust componentes críticos em termos de confiabilidade.
Nos últimos anos, o uso da linguagem foi muito além da programação de sistemas. Hoje se escreve em Rust desde back-ends web até utilitários de linha de comando, drivers, partes do kernel Linux e trechos de motores de navegadores. Neste guia, vamos direto ao ponto prático: como instalar o Rust no Ubuntu 24.04 LTS sem depender de versões desatualizadas ou lidar depois com bagunça na variável PATH.
O Ubuntu 24.04 LTS, codinome Noble Numbat, recebe suporte oficial até abril de 2029 — por isso muitas equipes escolhem essa versão como imagem base para servidores e estações de desenvolvimento. A seguir está o passo a passo: da preparação do sistema até o primeiro projeto rodando, além de uma explicação sobre para que serve o rustup e no que ele difere da instalação via apt.
Por que o Rust é escolhido para novos projetos
O compilador do Rust analisa o código na etapa de compilação e recusa gerar o binário se encontrar uma possível condição de corrida ou acesso a memória já liberada. Para quem desenvolve, isso significa mais atenção ao escrever o código, mas bem menos plantões de madrugada por causa de falhas em produção. Ao mesmo tempo, o desempenho do programa compilado fica próximo ao de C e C++ — o Rust não usa coletor de lixo; em vez disso, gerencia memória por meio do sistema de ownership.
O ecossistema de pacotes em torno do Cargo também cresceu: o crates.io já reúne mais de 150 mil bibliotecas, com soluções prontas para servidores web, acesso a bancos de dados, I/O assíncrono e serialização. Em outras palavras, para a maioria das tarefas já não é preciso escrever tudo do zero.
Características do Ubuntu 24.04 LTS para desenvolvimento
O Ubuntu 24.04 LTS traz um conjunto atualizado de bibliotecas de sistema e o GCC 13, algo relevante na hora de compilar dependências nativas de alguns crates. O pacote rustc do repositório padrão do Ubuntu costuma ficar atrás dos lançamentos da própria linguagem, por causa do ciclo de testes da distribuição. Por isso recomendamos instalar o Rust pelo instalador oficial rustup, e não pelo apt: ele não está preso ao ciclo de lançamentos da distribuição e se atualiza de forma independente.
Terminologia
Antes de partir para a instalação, vale revisar os termos que vão aparecer ao longo do texto — eles também ajudam na leitura da documentação oficial.
- rustc — o compilador propriamente dito, transforma o código-fonte em Rust em um executável.
- Cargo — gerenciador de pacotes e build do projeto: baixa dependências, compila o código, roda os testes.
- rustup — ferramenta para instalar e alternar entre versões (toolchains) do Rust e seus componentes.
- crate — unidade de empacotamento de código no ecossistema Rust, equivalente a uma biblioteca ou pacote em outras linguagens.
- toolchain — conjunto formado pelo compilador, biblioteca padrão e ferramentas associadas para uma plataforma específica.
- canal de lançamento — stable, beta ou nightly: diferentes graus de estabilidade e conjunto de recursos disponíveis da linguagem.
- edition — edição da linguagem (2015, 2018, 2021, 2024), fixa a sintaxe do projeto sem quebrar compatibilidade.
Como funciona
O rustup funciona como um despachante sobre vários toolchains. Ele não substitui o compilador diretamente — em vez disso, direciona para a versão correta por meio de binários-proxy na pasta ~/.cargo/bin. Ao chamar cargo ou rustc, o sistema primeiro passa por esse proxy, que decide qual toolchain usar: o padrão definido globalmente ou o indicado para o projeto atual no arquivo rust-toolchain.toml.
Quais componentes fazem parte do rustup
Além do compilador e do Cargo, o rustup gerencia componentes adicionais: o rustfmt formata o código seguindo um estilo único, o clippy aponta construções pouco idiomáticas e possíveis erros, e o rust-analyzer oferece autocompletar e sugestões no editor. Cada componente pode ser adicionado ou removido separadamente, sem reinstalar todo o toolchain — algo útil quando um servidor de CI precisa só do compilador, sem as ferramentas voltadas para IDE.
Como o Cargo gerencia dependências
As dependências do projeto ficam descritas no arquivo Cargo.toml, enquanto as versões exatas usadas na última compilação ficam registradas no Cargo.lock — isso garante que o build seja igual em máquinas diferentes. Ao rodar cargo build, o gerenciador de pacotes baixa os crates do registro crates.io, compila tudo e guarda o resultado em cache; por isso a próxima compilação costuma ser bem mais rápida que a primeira.
Aplicação prática
Na prática, o Rust em um servidor Ubuntu aparece em alguns cenários bem típicos.
Serviços de back-end e APIs
Frameworks como Axum, Actix Web e Rocket permitem montar uma API HTTP com baixo consumo de memória e latência previsível. Esses serviços costumam ser distribuídos como um único binário compilado, sem dependências externas de runtime — o que simplifica o deploy e reduz o tamanho da imagem do contêiner.
Utilitários de linha de comando para automação
Várias ferramentas de terminal populares — ripgrep, bat, fd, exa — são escritas em Rust e vêm substituindo aos poucos os equivalentes clássicos em scripts de administração, graças à velocidade e a mensagens de erro mais claras. Criar utilitários de CLI próprios para tarefas internas é outro cenário comum: a tipagem reduz boa parte dos erros típicos de scripts em bash.
Software de sistema e embarcado
O Rust é usado hoje em áreas antes dominadas quase só por C: drivers, agentes de monitoramento, componentes com acesso direto a hardware. O suporte ao modo no_std permite compilar código sem a biblioteca padrão — necessário para microcontroladores e outros ambientes com recursos limitados.
Módulos WebAssembly
Compilar para WebAssembly usando o target wasm32-unknown-unknown permite rodar código Rust no navegador ou em runtimes isolados no servidor. Para cálculos pesados — processamento de imagem, criptografia, parsing — isso traz ganho de desempenho em relação ao JavaScript puro.
Um exemplo de arquitetura na prática
Um esquema típico funciona assim: o binário compilado em modo release do serviço em Rust roda via systemd em uma VPS da Serverspace, com um nginx na frente como reverse proxy e certificado TLS, enquanto logs e métricas seguem para um sistema externo de monitoramento. Essa combinação exige pouquíssima administração manual depois do primeiro deploy — o systemd reinicia o processo sozinho em caso de falha.
Guia prático
Passo 1. Atualizar o sistema
Antes de instalar, atualize a lista de pacotes e as versões já instaladas — isso reduz o risco de conflito com bibliotecas do sistema.
Passo 2. Instalar pacotes auxiliares
Para compilar alguns crates, o compilador do Rust precisa de ferramentas do sistema: o linker do gcc, o curl para baixar o instalador e os headers do OpenSSL.
Passo 3. Instalar o Rust via rustup
O instalador oficial é baixado e executado com um único comando. As flags --proto e --tlsv1.2 garantem uma conexão segura no download do script.
O instalador mostra um menu interativo com três opções. Na maioria dos casos, a primeira já resolve — «1) Proceed with installation (default)» — ela instala o canal stable com o conjunto padrão de componentes.
Passo 4. Ativar o ambiente
Depois da instalação, é preciso carregar as variáveis de ambiente na sessão atual do terminal — reiniciando o terminal ou executando o comando manualmente.
Passo 5. Verificar a instalação
Confirme que o compilador e o gerenciador de pacotes estão visíveis para o sistema e mostrando a versão correta.
cargo --version
A saída do comando deve ser parecida com esta:
cargo 1.82.0 (8f40fc59f 2024-08-21)
Alternativa: instalação via apt
Também é possível instalar o Rust direto do repositório do Ubuntu — um único comando, sem menu interativo.
Vale a pena usar esse caminho, já que o rustup existe? Na maioria dos cenários, não: a versão do repositório fica meses atrás do lançamento mais recente da linguagem, e não dá para atualizá-la antes do próximo lançamento do Ubuntu. Serve, no máximo, para um teste rápido em contêiner, onde o que importa é uma instalação mínima — e não a versão mais nova.
| Critério | rustup | apt install rustc cargo |
|---|---|---|
| Versão do Rust | Versão stable mais recente ou canal escolhido | Versão do repositório, muitas vezes desatualizada |
| Atualização | rustup update — um único comando | Depende das atualizações de pacotes da distribuição |
| Múltiplos toolchains | Suportado, com troca por projeto | Apenas uma versão do sistema |
| Componentes (clippy, rustfmt) | rustup component add, já integrado | Pacotes separados, nem sempre atualizados |
| Recomendado para | Desenvolvimento e builds de produção | Testes rápidos, contêineres mínimos |
Passo 6. Primeiro projeto em Rust
O Cargo cria sozinho a estrutura do projeto, o arquivo de configuração e a pasta com o código-fonte.
cd hello_world
cargo run
Na primeira execução, o Cargo compila o projeto e já roda o binário gerado:
Finished dev [unoptimized + debuginfo] target(s) in 0.42s
Running `target/debug/hello_world`
Hello, world!
Passo 7. Atualização e componentes adicionais
O compilador e o Cargo são atualizados com um único comando, e o linter e o formatador são adicionados conforme a necessidade.
rustup component add rustfmt clippy rust-analyzer
Como remover o Rust, caso não seja mais necessário
O rustup consegue desfazer completamente suas próprias mudanças — o comando remove todos os toolchains, o cache e as entradas na variável PATH.
Conclusão
Instalar o Rust no Ubuntu 24.04 LTS pelo rustup leva poucos minutos e quase não exige ajustes manuais depois: compilador, Cargo e ferramentas como rustfmt e clippy ficam prontos em uma única sequência de comandos. Resumindo — o caminho via apt continua sendo uma opção de reserva para ambientes mínimos, enquanto para desenvolvimento e builds de produção o rustup é mais prático: entrega versões atualizadas, atualização independente e gerenciamento de vários toolchains na mesma máquina. Os próximos passos podem seguir para um framework específico — Axum ou Actix Web para um serviço web — ou já partir para o primeiro protótipo em produção, testando o comportamento sob carga real.
FAQ
Qual é a melhor forma de instalar o Rust no Ubuntu 24.04?
Para desenvolvimento e builds de produção, a opção recomendada é instalar o Rust pelo rustup. Ele permite usar versões atualizadas da linguagem, gerenciar diferentes toolchains e atualizar o compilador independentemente do ciclo de pacotes do Ubuntu.
Qual é a diferença entre instalar Rust com rustup e apt?
O rustup instala a versão stable mais recente ou outro canal escolhido e permite alternar entre vários toolchains. Já o comando apt install rustc cargo instala a versão disponível nos repositórios do Ubuntu, que pode ficar meses atrás dos lançamentos oficiais do Rust.
O Cargo é instalado junto com o Rust?
Sim. Ao instalar o Rust pelo rustup com a configuração padrão, o Cargo também é instalado. Ele funciona como gerenciador de pacotes e sistema de build, permitindo adicionar dependências, compilar projetos, executar testes e iniciar aplicações Rust.
Como verificar se o Rust foi instalado corretamente?
Depois de carregar o ambiente com source "$HOME/.cargo/env", execute rustc --version e cargo --version. Se os dois comandos retornarem suas respectivas versões, o compilador e o Cargo estão disponíveis corretamente no sistema.
Como atualizar o Rust e instalar componentes como Clippy e rustfmt?
Para atualizar o toolchain instalado, execute rustup update. Componentes adicionais podem ser instalados com rustup component add. Por exemplo, rustup component add rustfmt clippy rust-analyzer adiciona o formatador, o linter e o suporte de análise de código para editores.
Como remover completamente o Rust instalado pelo rustup?
O próprio rustup pode remover a instalação com o comando rustup self uninstall. Esse processo exclui os toolchains instalados, arquivos de cache e as alterações de ambiente criadas pelo rustup.