9 - Administração Avançada e Troubleshooting

Gerenciamento de Processos ps - Process Status 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # Todos processos ps aux # Processos do usuário ps -u usuario # Árvore de processos ps auxf pstree # Processos por CPU ps aux --sort=-%cpu | head # Processos por memória ps aux --sort=-%mem | head # Informações específicas ps -eo pid,user,cmd,%cpu,%mem top - Monitor em Tempo Real 1 2 3 4 5 6 7 8 9 10 # Iniciar top top # Comandos dentro do top: # h - ajuda # k - matar processo # r - renice processo # M - ordenar por memória # P - ordenar por CPU # q - sair htop - Top Melhorado 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Instalar sudo apt install htop # Executar htop # Recursos: # F2 - configuração # F3 - buscar # F4 - filtrar # F5 - árvore # F6 - ordenar # F9 - matar # F10 - sair kill - Terminar Processos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Matar por PID kill 1234 # Forçar término kill -9 1234 kill -SIGKILL 1234 # Término gracioso kill -15 1234 kill -SIGTERM 1234 # Matar por nome killall firefox pkill firefox # Matar processos do usuário pkill -u usuario nice e renice - Prioridade 1 2 3 4 5 6 7 8 # Iniciar com prioridade (-20 a 19, menor = maior prioridade) nice -n 10 comando # Alterar prioridade renice -n 5 -p 1234 # Prioridade por usuário renice -n 10 -u usuario Processos em Background 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # Executar em background comando & # Listar jobs jobs # Trazer para foreground fg %1 # Enviar para background bg %1 # Suspender processo (Ctrl+Z) # Depois: bg para continuar em background # Desassociar do terminal nohup comando & systemd - Gerenciamento de Serviços systemctl - Controle de Serviços 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # Status do serviço systemctl status nginx # Iniciar serviço sudo systemctl start nginx # Parar serviço sudo systemctl stop nginx # Reiniciar serviço sudo systemctl restart nginx # Recarregar configuração sudo systemctl reload nginx # Habilitar no boot sudo systemctl enable nginx # Desabilitar no boot sudo systemctl disable nginx # Verificar se está habilitado systemctl is-enabled nginx # Verificar se está ativo systemctl is-active nginx Listar Serviços 1 2 3 4 5 6 7 8 9 10 11 # Todos serviços systemctl list-units --type=service # Serviços ativos systemctl list-units --type=service --state=active # Serviços que falharam systemctl list-units --type=service --state=failed # Serviços habilitados systemctl list-unit-files --type=service --state=enabled Criar Serviço Customizado 1 sudo vim /etc/systemd/system/meuapp.service 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [Unit] Description=Minha Aplicação After=network.target [Service] Type=simple User=usuario WorkingDirectory=/opt/meuapp ExecStart=/opt/meuapp/start.sh Restart=always RestartSec=10 [Install] WantedBy=multi-user.target 1 2 3 4 5 6 # Recarregar systemd sudo systemctl daemon-reload # Habilitar e iniciar sudo systemctl enable meuapp sudo systemctl start meuapp Targets (Runlevels) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # Ver target atual systemctl get-default # Mudar target padrão sudo systemctl set-default multi-user.target # Targets comuns: # poweroff.target (runlevel 0) # rescue.target (runlevel 1) # multi-user.target (runlevel 3) # graphical.target (runlevel 5) # reboot.target (runlevel 6) # Mudar para target sudo systemctl isolate multi-user.target Gerenciamento de Disco df - Disk Free 1 2 3 4 5 6 7 8 # Espaço em disco df -h # Inodes df -i # Tipo de filesystem df -T du - Disk Usage 1 2 3 4 5 6 7 8 # Tamanho do diretório du -sh /var # Top 10 maiores diretórios du -h /var | sort -rh | head -10 # Tamanho de cada subdiretório du -h --max-depth=1 /var lsblk - Listar Dispositivos de Bloco 1 2 3 4 5 6 7 8 # Listar dispositivos lsblk # Com filesystem lsblk -f # Tamanhos em bytes lsblk -b fdisk - Particionar Disco 1 2 3 4 5 6 7 8 9 10 11 12 13 # Listar partições sudo fdisk -l # Particionar disco sudo fdisk /dev/sdb # Comandos dentro do fdisk: # m - ajuda # p - listar partições # n - nova partição # d - deletar partição # w - salvar e sair # q - sair sem salvar Formatar Partição 1 2 3 4 5 6 7 8 9 10 11 # ext4 sudo mkfs.ext4 /dev/sdb1 # xfs sudo mkfs.xfs /dev/sdb1 # btrfs sudo mkfs.btrfs /dev/sdb1 # Com label sudo mkfs.ext4 -L dados /dev/sdb1 Montar Filesystem 1 2 3 4 5 6 7 8 # Montar temporário sudo mount /dev/sdb1 /mnt # Desmontar sudo umount /mnt # Montar permanente (/etc/fstab) sudo vim /etc/fstab # / U d U < e I d v D e / = s x i d x c b x e 1 > < / / m d b o a a u d c n o k t s u > p < e e t x x y t t p 4 4 e > d d o e e p f f t a a i u u o l l n t t s s s > , n o a t i m e < 0 d 0 u m p > < 2 2 p a s s > 1 2 3 4 5 # Montar tudo do fstab sudo mount -a # Ver UUID sudo blkid LVM - Logical Volume Manager 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # Criar Physical Volume sudo pvcreate /dev/sdb1 # Criar Volume Group sudo vgcreate vg_dados /dev/sdb1 # Criar Logical Volume sudo lvcreate -L 10G -n lv_dados vg_dados # Formatar sudo mkfs.ext4 /dev/vg_dados/lv_dados # Montar sudo mount /dev/vg_dados/lv_dados /dados # Estender LV sudo lvextend -L +5G /dev/vg_dados/lv_dados sudo resize2fs /dev/vg_dados/lv_dados # Ver informações sudo pvdisplay sudo vgdisplay sudo lvdisplay RAID 1 2 3 4 5 6 7 8 9 # Criar RAID 1 (espelhamento) sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 # Ver status cat /proc/mdstat sudo mdadm --detail /dev/md0 # Salvar configuração sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf Monitoramento de Performance vmstat - Virtual Memory Statistics 1 2 3 4 5 # Estatísticas a cada 2 segundos vmstat 2 # 10 amostras vmstat 2 10 iostat - I/O Statistics 1 2 3 4 5 6 7 8 9 10 11 # Instalar sudo apt install sysstat # Estatísticas de I/O iostat # Detalhado iostat -x # A cada 2 segundos iostat -x 2 iotop - I/O por Processo 1 2 3 4 5 # Instalar sudo apt install iotop # Executar sudo iotop sar - System Activity Reporter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # CPU sar -u 2 10 # Memória sar -r 2 10 # I/O sar -b 2 10 # Rede sar -n DEV 2 10 # Histórico (requer sysstat habilitado) sar -u -f /var/log/sysstat/sa01 free - Memória 1 2 3 4 5 # Uso de memória free -h # Atualizar a cada 2 segundos free -h -s 2 uptime - Tempo de Atividade 1 2 3 4 5 # Uptime e load average uptime # Load average: 1min, 5min, 15min # Ideal: < número de CPUs Troubleshooting Comum Sistema Lento 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 1. Verificar load average uptime # 2. Verificar CPU top htop # 3. Verificar memória free -h # 4. Verificar disco df -h iostat -x # 5. Verificar processos ps aux --sort=-%cpu | head ps aux --sort=-%mem | head # 6. Verificar I/O sudo iotop Disco Cheio 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 1. Verificar uso df -h # 2. Encontrar maiores diretórios sudo du -h / | sort -rh | head -20 # 3. Encontrar arquivos grandes sudo find / -type f -size +100M -exec ls -lh {} \; # 4. Limpar logs sudo journalctl --vacuum-time=7d sudo find /var/log -name "*.log" -mtime +30 -delete # 5. Limpar cache de pacotes sudo apt clean sudo dnf clean all # 6. Remover pacotes órfãos sudo apt autoremove Processo Travado 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 1. Identificar PID ps aux | grep processo # 2. Ver detalhes sudo lsof -p PID sudo strace -p PID # 3. Tentar término gracioso kill PID # 4. Forçar término kill -9 PID # 5. Se não funcionar, verificar estado ps aux | grep PID # Estado D (uninterruptible sleep) = problema de I/O Rede não Funciona 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 1. Verificar interface ip link show # 2. Verificar IP ip addr show # 3. Verificar rota ip route show # 4. Testar gateway ping 192.168.1.1 # 5. Testar DNS ping 8.8.8.8 ping google.com # 6. Verificar DNS cat /etc/resolv.conf # 7. Reiniciar rede sudo systemctl restart NetworkManager Serviço não Inicia 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 1. Ver status sudo systemctl status servico # 2. Ver logs sudo journalctl -u servico -n 50 # 3. Verificar configuração sudo servico -t # nginx, apache sudo servico configtest # 4. Verificar permissões ls -l /etc/servico/ ls -l /var/log/servico/ # 5. Verificar porta sudo ss -tlnp | grep :80 # 6. Verificar SELinux/AppArmor sudo ausearch -m avc -ts recent sudo aa-status Boot Lento 1 2 3 4 5 6 7 8 9 10 11 # Analisar tempo de boot systemd-analyze # Serviços mais lentos systemd-analyze blame # Gráfico de boot systemd-analyze plot > boot.svg # Verificar serviços habilitados systemctl list-unit-files --type=service --state=enabled Memória Alta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 1. Ver uso free -h # 2. Processos por memória ps aux --sort=-%mem | head # 3. Limpar cache (seguro) sudo sync sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' # 4. Verificar swap swapon --show # 5. Ver OOM killer logs sudo dmesg | grep -i "out of memory" sudo journalctl -k | grep -i "out of memory" Logs e Diagnóstico dmesg - Kernel Ring Buffer 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Ver mensagens do kernel dmesg # Últimas mensagens dmesg | tail # Buscar erros dmesg | grep -i error # Tempo legível dmesg -T # Seguir em tempo real dmesg -w strace - Rastrear System Calls 1 2 3 4 5 6 7 8 9 10 11 # Rastrear comando strace ls # Rastrear processo em execução sudo strace -p PID # Salvar em arquivo strace -o trace.txt comando # Estatísticas strace -c comando lsof - List Open Files 1 2 3 4 5 6 7 8 9 10 11 12 13 14 # Arquivos abertos por processo sudo lsof -p PID # Processos usando arquivo sudo lsof /var/log/syslog # Processos usando porta sudo lsof -i :80 # Arquivos abertos por usuário sudo lsof -u usuario # Conexões de rede sudo lsof -i Backup e Recuperação Backup do Sistema 1 2 3 4 5 6 7 8 9 10 11 12 13 # Backup completo (excluindo temporários) sudo tar czf backup_sistema_$(date +%Y%m%d).tar.gz \ --exclude=/proc \ --exclude=/sys \ --exclude=/dev \ --exclude=/tmp \ --exclude=/run \ --exclude=/mnt \ --exclude=/media \ / # Restaurar sudo tar xzf backup_sistema.tar.gz -C /mnt/restauracao/ Timeshift - Snapshots 1 2 3 4 5 6 7 8 9 10 11 # Instalar sudo apt install timeshift # Criar snapshot sudo timeshift --create --comments "Antes da atualização" # Listar snapshots sudo timeshift --list # Restaurar sudo timeshift --restore rsnapshot - Backups Incrementais 1 2 3 4 5 6 7 8 # Instalar sudo apt install rsnapshot # Configurar sudo vim /etc/rsnapshot.conf # Executar backup sudo rsnapshot daily Performance Tuning Swappiness 1 2 3 4 5 6 7 8 # Ver valor atual (0-100, padrão 60) cat /proc/sys/vm/swappiness # Definir temporário sudo sysctl vm.swappiness=10 # Permanente echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf I/O Scheduler 1 2 3 4 5 6 7 8 # Ver scheduler atual cat /sys/block/sda/queue/scheduler # Mudar (temporário) echo deadline | sudo tee /sys/block/sda/queue/scheduler # Permanente (udev rule) sudo vim /etc/udev/rules.d/60-scheduler.rules A C T I O N = = " a d d | c h a n g e " , K E R N E L = = " s d [ a - z ] " , A T T R { q u e u e / s c h e d u l e r } = " d e a d l i n e " Limites de Recursos 1 2 3 4 5 6 7 8 # Ver limites ulimit -a # Aumentar arquivos abertos ulimit -n 65536 # Permanente sudo vim /etc/security/limits.conf s h o a f r t d n n o o f f i i l l e e 6 6 5 5 5 5 3 3 6 6 Comandos de Referência Rápida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 # Processos ps aux top htop kill PID # Serviços systemctl status servico sudo systemctl restart servico # Disco df -h du -sh /var lsblk # Performance vmstat 2 iostat -x free -h uptime # Logs journalctl -u servico dmesg | tail tail -f /var/log/syslog # Rede ip addr show ss -tlnp ping google.com Recursos Adicionais Documentação 1 2 3 man comando info comando comando --help Comunidades Stack Overflow Unix & Linux Stack Exchange Reddit r/linuxadmin Linux Questions Livros Recomendados “The Linux Command Line” - William Shotts “Linux System Administration” - Tom Adelstein “UNIX and Linux System Administration Handbook” - Evi Nemeth Certificações LPIC-1: Linux Professional Institute Certification RHCSA: Red Hat Certified System Administrator Linux Foundation Certified System Administrator Conclusão do Curso Parabéns por completar o curso de Linux! Você agora tem conhecimento sobre: ...

February 2, 2026 · Fabrício Machado

Curso de Linux - Índice

Bem-vindo ao Curso de Linux Este é um guia prático e direto para quem quer aprender Linux do zero ou aprimorar seus conhecimentos. O conteúdo é baseado em experiência real de produção, com foco em uso prático e resolução de problemas. 📚 Conteúdo do Curso Fundamentos 1 - Introdução ao Linux e histórico 2 - Instalação 3 - Comandos de terminal e navegação de diretórios Em Desenvolvimento Gerenciamento de arquivos e permissões Gerenciamento de pacotes e software Configuração de rede e conectividade Uso avançado do terminal e scripts Segurança no Linux Administração de sistemas Troubleshooting e resolução de problemas 🎯 Para Quem é Este Curso? Iniciantes que querem aprender Linux Profissionais de TI migrando para Linux Sysadmins buscando referência rápida Estudantes de tecnologia Entusiastas de software livre 💡 Metodologia O curso segue uma abordagem prática: ...

May 1, 2023 · Fabrício Machado