Requisitos
Esta página descreve um ambiente mínimo para acompanhar os exemplos do curso em Linux, com foco inicial em Debian e Ubuntu. Em outras distribuições, os nomes dos pacotes podem mudar, mas a ideia geral continua a mesma.
Ferramentas utilizadas
Ao longo do material, vamos trabalhar principalmente com:
nasm: assembler usado para montar os arquivos.asm;ld: linker responsável por gerar o executável final;gcc: útil quando quisermos integrar Assembly com código C;strace: ferramenta para observar chamadas de sistema;- utilitários como
hexdump,objdumpereadelf: úteis para inspecionar binários.
Instalação no Debian e Ubuntu
No Debian e no Ubuntu, você pode instalar o conjunto básico com:
sudo apt-get update
sudo apt-get install build-essential \
nasm strace g++-multilib libc6-dev-i386 bsdmainutils
O que cada pacote entrega
build-essential: instala ferramentas básicas de compilação, comogcc,makee headers essenciais;nasm: instala o assembler usado nos exemplos;strace: permite acompanhar syscalls feitas pelos programas;g++-multilib: adiciona suporte à geração de binários 32-bit;libc6-dev-i386: fornece headers e bibliotecas para desenvolvimento emi386;bsdmainutils: inclui utilitários clássicos, comohexdump, dependendo da versão da distribuição.
Verificando o ambiente
Depois da instalação, vale conferir se as ferramentas principais estão disponíveis:
nasm -v
ld -v
gcc --version
strace -V
Se esses comandos responderem corretamente, o ambiente básico já está pronto para os primeiros exemplos.
Observação sobre arquitetura
Boa parte deste material trabalha com exemplos em Linux 32-bit (i386), mesmo em máquinas x86_64. Por isso os pacotes g++-multilib e libc6-dev-i386 são importantes: eles permitem montar, linkar e testar exemplos voltados para essa ABI.
Próximo passo
Com o ambiente instalado, você já pode seguir para: