Desenvolvimento de Sistemas para Automação Comercial

Voltar

Debian Netinst - 29/05/2026


Apresentação:

  • Este tutorial contém todos os pacotes testados por mim para uma boa experiência, de acordo com meus gostos.

    Nem todos os pacotes são obrigatórios.

    Para servidores, durante a instalação escolha apenas SSH Server e Utilitários de sistema padrão, pois as demais configurações poderão ser feitas remotamente.


Pré-Configuração no VirtualBox:

  • Sistema >> Aceleração = KVM

  • Display >> Tela >> Memória de Vídeo = 128

    Display >> Tela >> Controladora Gráfica = VMSVGA

    Display >> Tela >> Habilitar Aceleração 3D = true

  • Rede = Placa em Modo Bridge


Pré-Configuração PC:

  • Desabilitar o Secure Boot e iniciar pelo GRUB2 para garantir o acesso por UEFI.


Formatação:

  • Escolha a segunda opção, Install, e as demais de acordo com as preferências pessoais.

  • O nome do domínio pode ficar em branco se for local.

  • Método de particionamento = Manual:

    • Partição Primária, 1 GB, Partição de Sistema EFI;

      Partição Primária, 2 GB, swap;

      Partição Primária, Restante, ext4, /

  • Serão oferecidos alguns pacotes para instalar; pode desmarcar todos.


Pacotes:

  • Sudo:

  • Outros:


Firewall:


Numlock:

  • Criar um serviço:

    Conteúdo:

    Instalar o serviço:


Fastfetch:

  • Apagar:

    Adicionar:


IP Estático:

  • Conteúdo:

    Finalizar:


Ajustar data e hora:

  • Para verificar as configurações de data e hora, digite:

    Deve aparecer algo semelhante a isto:

    Onde:

    • Local time: é a hora atual interpretada pelo sistema.

    • Universal time: é a hora mundial UTC (Coordinated Universal Time).

      É a hora base na qual todas as localidades se baseiam para calcular seu fuso horário, ou seja, é o fuso horário zero.

    • RTC time: significa Real Time Clock, ou seja, a hora real da máquina que está na BIOS.

      Esse relógio fica sempre ligado, mantido pela bateria da placa-mãe.

    • Time zone: é o fuso horário configurado no sistema; junto com o UTC, define o Local time.

    • System clock synchronized: diz se o relógio está sincronizado com um servidor NTP (Network Time Protocol), ou seja, sendo atualizado pela internet.

    • NTP service: indica se o serviço NTP está ativo.

      Esse serviço é responsável por sincronizar o relógio com a internet.

    • RTC in local TZ: informa se o relógio da BIOS (RTC) está mostrando o horário local ou o horário mundial UTC.

  • Caso seja necessário ajustar o time zone:

    Se estiver em dual boot com Windows:


Pós-configuração VirtualBox:

  • Se você tiver seu site no PC, por exemplo em D:\Github\Site\html:

  • Para melhorar a integração gráfica e vários recursos entre o VirtualBox e a máquina física:

    No VirtualBox, clique em Dispositivos >> Inserir imagem de CD dos Adicionais para Convidados...

    Isso adiciona um CD virtual em /dev/sr0; confirme o dispositivo digitando lsblk.


SSH:

  • Para acessar o servidor a partir do Windows, usando o IP 192.168.1.4 como exemplo, use o comando:

    Ao se conectar a um dispositivo por SSH, o Windows registra a conexão num arquivo chamado known_hosts (em C:\Users\usuario\.ssh) para evitar que você se conecte ao mesmo IP no futuro, mas em uma máquina diferente — protegendo contra ataques "man-in-the-middle" (MITM). Caso ele detecte que a máquina de destino mudou (por uma formatação, por exemplo), aparece o alerta WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! e a conexão é bloqueada.

    Se você tem certeza de que a máquina de destino é a pretendida, pode apagar as linhas referentes ao acesso anterior no known_hosts ou simplesmente rodar:

    Ele reseta o acesso e pergunta se você quer registrar um novo fingerprint; basta digitar yes, pressionar Enter, digitar a senha do usuário e pronto, a conexão foi bem-sucedida!

    Para não precisar digitar a senha a cada conexão, copie a sua chave pública do Windows (em C:\Users\usuario\.ssh\id_ed25519.pub) e cole no arquivo ~/.ssh/authorized_keys do servidor:

    Depois é só salvar com Ctrl + X, Y, Enter e pronto.

    Caso ainda não tenha uma chave id_ed25519 no Windows, crie:


Firebird:

  • Pacotes:

    Configuração:

    Descomentar e alterar:

    Testar:


Alias Firebird:

  • Adicionar no final do arquivo:

    Foi criado um alias com o nome banco. Lembrando que o alias não é obrigatório: é possível acessar o banco usando o caminho completo entre aspas.


ISQL:

  • Conectar:

    Criar usuário:

    Criar tabela:

    Dar privilégio ao usuário sobre a tabela:


Certbot:

  • Para acesso HTTPS pela porta 443/tcp é necessário ter um certificado digital. Geralmente se usam certificados SSL/TLS da Let's Encrypt, por serem gerados automaticamente e gratuitos.

    O Certbot é o cliente oficial da Let's Encrypt; para gerar o certificado, primeiro deve-se parar o servidor.

    O nginx escuta na porta 80, por isso deve ser parado. No comando seguinte, a Let's Encrypt verifica se o domínio indicado está realmente direcionado para o local de solicitação do certificado, pela porta 80.

    Quando necessário, para renovar o certificado:


RAID1:

  • RAID1: dois discos gravados em paralelo com redundância de dados. Perde-se em espaço, mas ganha-se em segurança: caso um dos discos falhe, os dados permanecem no outro e não há perda, bastando substituir o disco defeituoso.

    Verifique os discos disponíveis e apague os dispositivos que serão usados.

    Exemplo com sdb e sdc:

    Gerenciar partições:

    Repita o processo para o disco sdc.

    Agora crie um disco md0 a partir das partições sdb1 e sdc1:

    Agora aparecerá um md0 dentro de cada partição.

    O comando abaixo mostra o status do RAID, pois pode levar alguns minutos para que os discos sejam sincronizados:

    Enquanto estiver sincronizando, deve aparecer algo como:

    O [2/2] [UU] indica que ambos os discos estão online.

    A última linha mostra o status da sincronização; para sair, pressione Ctrl + C.


    Terminada a sincronização, formate o disco /dev/md0 como EXT4:

    Agora é só montar esse novo disco como quiser. Vou montá-lo para backup:

    Adicione a linha ao final do arquivo:

    Recarregar as alterações do fstab e montar o disco:

    Gerar o UUID e salvar as configurações no mdadm.conf para que o array RAID seja montado automaticamente no boot, além de adicionar um email para notificações:

    Conteúdo do mdadm.conf (seu email e UUID serão diferentes):

    Agora atualize o initramfs para que ele leia os dados do mdadm e do fstab e os configure antes mesmo de iniciar o sistema operacional:


Montar o diretório /var no RAID1:

  • Configurar a montagem automática:

    Adicionar a linha ao final do arquivo:

    Atualizar o mdadm.conf:

    Verifique se não foi criada uma /var no disco antigo. Para isso, monte o disco antigo num diretório temporário e veja se ele possui o diretório /var.


Verificações RAID1:


Avisos de falha RAID1 por email:

  • Configuração do email:

    Gerar a senha de aplicativo AQUI.

    Conteúdo:

    Descomentar e ajustar a linha DNS para DNS=8.8.8.8 no arquivo resolved.conf:

    Testar o envio:

    Para testar se está tudo certo, remova um disco e veja se o email chega:

    Deve chegar um email avisando sobre a falha. Caso não chegue, veja o status:

    O --fail marca o disco como defeituoso e para de usá-lo, mesmo que o mdadm ainda ache que ele pode ser usado.

    O --remove desconecta o disco do array, deixando-o pronto para ser removido fisicamente.



Manipulação dos dispositivos RAID1:

  • Adicionar discos:

    Para adicionar um disco ausente, primeiro veja qual dispositivo está faltando.

    Usando como exemplo a partição sdb1. Este comando mostra se o disco possui estrutura RAID:

    Caso o mdadm julgue o disco inconsistente, zere os metadados e tente novamente:

  • Adicionar disco novo:

    Identifique o disco defeituoso e remova-o:

    Troque o disco fisicamente e crie uma nova partição:

    Adicionar a nova partição ao array:


Verificação RAID1 com CRON:

  • Criar script para verificação:

    Conteúdo:

    Cron:

    Conteúdo:


MySQL:

  • Escolha Não para a primeira pergunta e Sim para as demais:

    Reinicie o serviço:

    Para o primeiro acesso, digite apenas sudo mysql.

  • Ver informações do plugin do usuário:

  • Alterar a senha e o plugin de auth_socket para mysql_native_password no root:

  • Acessar usando usuário e senha:

  • Criar banco de dados:

  • Selecionar banco:

  • Criar tabela:

  • Criar usuário remoto:

  • Criar usuário local:

  • Listar privilégios:

  • Remover todos os privilégios do usuário:

  • Remover privilégios específicos do usuário:

  • Remover usuário:

  • Listar bancos:

  • Listar tabelas:


Chrome:


Drivers Proprietários NVidia:

  • Adicionar repositórios:

    Adicionar contrib e non-free ao final das linhas:

    Atualizar:

    Drivers NVidia:


Openbox:

  • Configure o gerenciador de temas:

    Conteúdo:

  • Para carregar o compositor, o desktop e a barra de tarefas ao iniciar o ambiente gráfico:

    Conteúdo:

  • Atalho para o Terminal:

    Adicionar em keyboard:

    Atualizar:


JGMenu:

  • Crie um Button no tint2 settings, em Panel Items.

    Edite o Button colocando gdebi no Icon e jgmenu_run no Left click command.

    Horizontal padding = 3.

    Isso cria um botão iniciar na barra de tarefas.

    Caso o botão não apareça, escreva algo em Text.

    Depois, no terminal:

    Escolher o tema:

    Descomentar e alterar as linhas:

    As opções a e p escolhidas no jgmenu_run init -i criam os arquivos append.csv e prepend.csv, que são os itens inferiores e superiores do menu.

    Agora é possível editar esses arquivos para alterar os menus, na sequência Nome, Comando e Ícone.

    • Superior:

      Conteúdo:

    • Inferior:

      Conteúdo:

    Para aplicar a transparência na barra de tarefas, em Tint2 Settings >> Panel, desmarque Ignore compositor.


    Limpar o tint2:


ZSH:

  • Trocar o shell por outro com mais funcionalidades:


Oh My ZSH:

  • O Oh My Zsh é um gerenciador de configuração que permite adicionar temas e plugins ao zsh.

    Ao executar o install.sh, esteja no seu usuário (não no root) para que ele seja instalado na pasta do usuário.


Alias para Shell:

  • Adicionar ao final:


Iniciar o modo gráfico ao efetuar o login no tty1:

  • Conteúdo:


Plugins para o Oh My ZSH:

  • Auto sugestões:

  • Mostrar cor de acordo com o comando correto:

  • Ativar plugins:

    Acrescentar em plugins=(git):

    Carregar:

  • Uso:

    • Quando esquecer de digitar sudo, tecle duas vezes o ESC.

    • Quando quiser pesquisar algo, digite:

      google texto

      duckduckgo texto

      youtube @ribatube

      wikipedia texto

      github texto

    • Quando quiser descompactar um arquivo, independente do tipo:

      extract Arquivo.zip


Powerlevel10k:

  • Fonte para o terminal:

    Alterar a fonte do terminal em:

    Editar >> Preferências >> Aparência >> Fonte >> MesloLGS NF Regular

  • Tema:

    O Powerlevel10k é um tema para o zsh configurável de forma interativa.

    O --depth=1 faz com que seja baixada apenas a última versão, sem histórico e sem arquivos desnecessários.

    Configurar o zsh:

    Alterar o ZSH_THEME:

    Carregar o tema e configurá-lo:

    Obs.: na única opção que pode gerar dúvida, escolha Unicode.


Abrir apps gráficos remotamente com VcXsrv:

  • Direcione a saída de vídeo no Linux:

  • No Windows, instale o VcXsrv.

    Ao executá-lo, a única configuração que precisa ser alterada é marcar Disable access control.


Abrir Desktop remoto com X2Go:

  • No Debian, instale:

  • No Windows, instale o Chocolatey.

    Depois execute:

    Depois é só conectar usando, no nosso caso, o OPENBOX no Session type.