Tema: debian
-
Atualizar Debian e Ubuntu para a próxima versão principal sem perder o caminho de rollback
O do-release-upgrade do Ubuntu e o procedimento manual do Debian (alterar o sources.list e depois atualizar) pressupõem um backup completo e um console alternativo, caso a sessão SSH caia durante a atualização; as próprias notas de versão do Debian recomendam uma passagem mínima antes da atualização completa.
-
Verificar se um host Linux precisa de reinicialização ou de reinício de serviços após atualizações
Debian e Ubuntu sinalizam uma reinicialização pendente com o arquivo simples /var/run/reboot-required, enquanto nos sistemas da família RHEL é preciso comparar o kernel em execução com o mais recente instalado ou usar uma verificação do tipo needs-restarting; nenhuma das famílias avisa isso automaticamente no prompt do shell.
-
Configurar interfaces de rede com netplan no Ubuntu e testar alterações sem perder a conexão
O netplan converte o YAML em /etc/netplan em configuração para networkd ou NetworkManager; `netplan try` aplica uma alteração e a reverte automaticamente se ninguém a confirmar dentro de um tempo limite, o que é a forma segura de mudar a rede em um host remoto. O /etc/network/interfaces do ifupdown, no Debian, é a alternativa mais antiga e ainda suportada.
-
Definir locale e fuso horário e reconfigurar pacotes sem interação no Debian e no Ubuntu
localectl, timedatectl e update-locale alteram o locale e o fuso horário sem diálogo em modo texto, e dpkg-reconfigure -f noninteractive repete a configuração de um pacote baseada em debconf como um script faria na instalação original; tudo isso serve para scripts de provisionamento sem terminal.
-
Como adicionar um repositório APT de terceiros da forma atual: arquivos .sources deb822 e keyrings com Signed-By
O apt-key está obsoleto. A forma suportada de adicionar um repositório assinado de terceiros é um arquivo de keyring em /etc/apt/keyrings referenciado pela opção Signed-By, escrita no formato clássico de uma linha ou no formato mais novo deb822 (.sources), que tanto o Debian 12/13 quanto as versões atuais do Ubuntu interpretam.
-
Verificar a integridade dos pacotes instalados no Debian e no Ubuntu com debsums e dpkg --verify
O debsums compara os arquivos instalados com as somas MD5 registradas na construção do pacote; o dpkg --verify (desde o dpkg 1.17.2) compara metadados registrados no próprio banco de dados do dpkg; e o dpkg -S/-L respondem a "qual pacote é dono deste arquivo" e "quais arquivos este pacote instalou", antes de decidir se vale a pena reinstalá-lo.
-
Como adicionar uma CA privada ao repositório de confiança do sistema na família RHEL e no Debian/Ubuntu
As famílias RHEL e Debian de Linux usam mecanismos distintos para adicionar um certificado de CA de confiança local: update-ca-trust com âncoras em /etc/pki/ca-trust, e update-ca-certificates com arquivos .crt em /usr/local/share/ca-certificates. Usar o diretório ou a extensão errada deixa a CA sem confiança, sem nenhum aviso.
-
Pinning no APT: manter um pacote numa versão ou origem escolhida com arquivos de preferências
O pinning do APT permite ao operador reter um único pacote, instalá-lo a partir de uma suíte não padrão ou impedir que um futuro apt upgrade o altere. A configuração é feita por arquivo em /etc/apt/preferences.d, sem editar um arquivo compartilhado, e a verificação usa apt-cache policy.
-
Debian preseed e Ubuntu autoinstall: dois formatos de instalação automatizada que não são intercambiáveis
O instalador do Debian é automatizado por um arquivo preseed que responde às perguntas do debconf, enquanto o Ubuntu Server (20.04+) e o Desktop (23.04+) usam o formato YAML autoinstall do Subiquity, entregue como user-data do cloud-init ou como autoinstall.yaml na mídia de instalação. Os dois formatos não são portáveis entre as distribuições e ambos devem ser validados antes de uso em uma instalação sem supervisão.
-
Gerenciando kernels instalados no Debian e no Ubuntu: limpeza, espaço em /boot, HWE e Livepatch
Pacotes de kernel antigos se acumulam em /boot até que o apt autoremove os elimine; o Ubuntu oferece ainda o kernel HWE (Hardware Enablement) contínuo nas versões LTS e o serviço Livepatch da Canonical, que aplica correções de segurança do kernel sem reinicialização imediata. Ambos são específicos do Ubuntu e não têm equivalente no Debian.
-
Executar apt e dpkg de forma não interativa no Debian e no Ubuntu sem travar em prompts
Uma execução de apt-get ou dpkg em script pode parar numa pergunta do debconf, numa pergunta sobre arquivo de configuração modificado ou num lock do dpkg retido. Definir DEBIAN_FRONTEND, usar as opções confold/confdef adequadas e pré-configurar as respostas do debconf faz com que a instalação termine ou falhe de forma explícita.
-
Controlar o cloud-init em uma instância Debian ou Ubuntu recém-criada: user-data, status --wait e reexecuções seguras
O cloud-init aplica o user-data uma única vez, no primeiro boot; `cloud-init status --wait` bloqueia até essa execução terminar, para que um script de provisionamento não dispute com ela, `cloud-init schema --system` detecta um arquivo user-data inválido antes do próximo boot, e `cloud-init clean` é a forma documentada de forçar uma reexecução completa para testes.
-
Configurar o unattended-upgrades para aplicar patches de segurança automaticamente no Debian e no Ubuntu
O unattended-upgrades aplica atualizações de pacotes de forma agendada, com dois arquivos: 20auto-upgrades (se e com que frequência) e 50unattended-upgrades (quais origens e se deve reiniciar). Testar com --dry-run --debug antes de ativar em produção evita reinicializações inesperadas ou atualizações aplicadas pela metade.
-
Trabalhando com perfis AppArmor no Debian e no Ubuntu: status, modo complain e overrides locais
O AppArmor confina programas individuais por perfil, e não por usuário. O aa-status mostra o que está carregado e em vigor, aa-complain e aa-enforce alternam um perfil entre apenas registrar e bloquear, e /etc/apparmor.d/local guarda adições específicas da instalação local que sobrevivem às atualizações do perfil fornecido pelo pacote.
Legível por máquina: JSON