/images/avatar.webp

Elói Carneiro

ZSH: um shell versátil para o dia a dia

No meu dia a dia no Linux, o shell deixou de ser apenas o lugar onde eu digito comandos. Ele é uma das ferramentas que mais uso, seja para trabalhar com arquivos, administrar servidores, acessar máquinas por SSH, executar projetos ou simplesmente organizar minhas tarefas.

Foi nesse uso constante que comecei a valorizar mais o ZSH. Ele mantém a simplicidade e a compatibilidade esperadas de um shell Unix, mas oferece uma experiência muito mais agradável para quem passa bastante tempo no terminal.

Btrfs: recursos, integridade e manutenção do sistema de arquivos

O sistema de arquivos costuma ficar invisível até o dia em que uma atualização falha, um disco apresenta problemas ou preciso recuperar uma versão anterior de um arquivo. Por isso, não escolho apenas o sistema operacional: também considero como os dados serão organizados, verificados e mantidos.

O Btrfs chama a atenção porque reúne recursos que normalmente aparecem em ferramentas separadas. Ele oferece cópia sob escrita, subvolumes, snapshots, checksums, compressão e operações de manutenção que ajudam a tornar o armazenamento mais observável e recuperável.

Tmux: sessões persistentes para organizar o terminal

O terminal costuma começar simples: uma janela, um prompt e o comando que precisamos executar. O problema aparece quando o trabalho cresce. Uma tarefa fica rodando em uma aba, o editor em outra, os logs em uma terceira e, de repente, há várias janelas abertas apenas para tentar manter o contexto organizado.

É nesse cenário que o tmux se torna útil. Ele não é um novo terminal nem um shell; é um multiplexador de terminal que permite manter sessões, janelas e painéis dentro de uma única conexão.

openSUSE: uma distribuição para o notebook e os servidores

Comecei a usar Linux em 2003. Desde então, passei por distribuições como Kurumin, Slackware, Ubuntu e Fedora. Cada uma delas me ensinou algo, mas em 2018 decidi experimentar o openSUSE. A experiência foi boa o bastante para que ele deixasse de ser apenas um teste: hoje faz parte do meu ambiente de trabalho, tanto no notebook quanto em servidores.

O que me atraiu foi a combinação de ferramentas maduras, administração centralizada e liberdade para escolher entre um sistema mais conservador ou um sistema sempre atualizado. O openSUSE não tenta resolver todos os problemas com uma única edição. Em vez disso, oferece propostas diferentes para necessidades diferentes.

pfSense: uma rede organizada com administração simples

Uma rede confiável precisa de mais do que um equipamento encaminhando pacotes. É necessário controlar acessos, separar ambientes, acompanhar o que acontece e conseguir alterar a configuração sem depender de comandos espalhados por vários arquivos.

O pfSense reúne essas funções em uma distribuição baseada em FreeBSD com administração por interface web. Ele se tornou uma das ferramentas do meu ferramental porque concentra firewall, roteamento e serviços de rede em um lugar organizado.

asdf-vm: versões de ferramentas sem complicação

Quem trabalha com desenvolvimento acaba encontrando projetos que dependem de versões diferentes da mesma ferramenta. Um projeto pode usar uma versão específica do Python, enquanto outro precisa de uma versão diferente. O mesmo acontece com Node.js, Ruby, Java e outras linguagens.

O asdf-vm resolve esse problema com uma ideia simples: instalar diferentes versões de ferramentas e escolher qual delas deve estar ativa em cada projeto. Em vez de alterar manualmente o sistema toda vez que mudo de contexto, deixo a versão registrada junto ao projeto.

Django: aplicações web completas com uma base simples

Quando uma aplicação web começa a crescer, não basta responder a uma requisição e renderizar uma página. É preciso lidar com URLs, usuários, formulários, banco de dados, permissões, tarefas administrativas e segurança.

O Django me interessa justamente por reunir essas necessidades em uma base coerente. Em vez de montar tudo do zero, começo com uma estrutura conhecida e evoluo a aplicação conforme o problema real aparece.

O que é o Django

O Django é um framework web escrito em Python. Ele oferece uma forma organizada de separar configurações, URLs, regras de negócio, modelos de dados e templates.

Python: automação simples para resolver problemas reais

Python é uma das ferramentas que mais me ajuda a transformar uma tarefa repetitiva em um pequeno programa. A linguagem tem uma sintaxe legível, uma biblioteca padrão útil e uma comunidade grande, o que facilita encontrar uma solução quando surge um problema novo.

Não preciso começar com uma aplicação enorme. Muitas vezes, algumas linhas são suficientes para ler arquivos, consultar uma API, organizar dados ou executar comandos em sequência.

Uma linguagem acessível

Um programa simples já mostra uma das características que gosto no Python:

Rsync: cópias rápidas e inteligentes entre diretórios

Copiar uma pasta inteira parece simples até ela conter milhares de arquivos. Repetir a mesma cópia depois também pode desperdiçar tempo, porque a maior parte dos arquivos já está igual no destino.

O rsync resolve esse problema comparando origem e destino e transferindo apenas o que precisa ser atualizado. Ele se tornou uma ferramenta essencial para meus backups, cópias entre máquinas e publicações de projetos.

O que é o rsync

O rsync é um utilitário de sincronização de arquivos para sistemas Unix e Linux. Ele preserva atributos, verifica diferenças e evita reenviar conteúdo que já está atualizado.

SSH: acesso remoto simples e seguro

Administrar servidores sem estar diante deles faz parte da minha rotina. Para isso, preciso de uma ferramenta que seja segura, funcione bem em conexões simples e não dependa de uma interface gráfica. O SSH atende a esse papel com uma solução direta e confiável.

Com um único comando consigo abrir uma sessão remota, executar uma tarefa, consultar logs ou combinar o acesso com ferramentas como Git, rsync e tmux.

O que é o SSH

SSH significa Secure Shell. Ele cria uma conexão criptografada entre o computador local e um servidor remoto, permitindo executar comandos e transportar dados com autenticação.