Tema: error-message
-
Os avisos "Host key verification failed" e "REMOTE HOST IDENTIFICATION HAS CHANGED" do SSH
O OpenSSH recusa a conexão e exibe "Host key verification failed" ou o banner maior "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" quando a chave do servidor não coincide com a guardada em known_hosts. O artigo explica por que um servidor recriado e um ataque real geram a mesma mensagem e como distingui-los antes de executar ssh-keygen -R.
-
Erros de verificação TLS em diferentes ferramentas: unknown authority, CERTIFICATE_VERIFY_FAILED, self-signed na cadeia
Diferentes clientes TLS relatam a mesma falha de fundo, uma cadeia de certificados incompleta ou não confiável, cada um com suas palavras: 'certificate signed by unknown authority', 'CERTIFICATE_VERIFY_FAILED', 'unable to get local issuer certificate', 'self-signed certificate in certificate chain'. O artigo mostra como diagnosticar a cadeia real com openssl s_client antes de aplicar qualquer correção e por que -k ou verify=False nunca é uma delas.
-
"Too many open files" (EMFILE) e o limite de descritores de arquivo
EMFILE, exibido como "Too many open files", indica que um processo atingiu o próprio limite de descritores de arquivo abertos ao mesmo tempo, documentado como RLIMIT_NOFILE. O artigo mostra como distinguir um vazamento real de descritores de um limite simplesmente baixo demais e como aumentá-lo no shell, no PAM e em units do systemd.
-
"Permission denied (publickey)" no SSH e como interpretá-lo com ssh -v
No OpenSSH, "Permission denied (publickey)" significa que todas as chaves oferecidas pelo cliente foram rejeitadas ou que nenhuma foi oferecida, sem indicar qual dos casos ocorreu. O artigo mostra como o ssh -v revela exatamente quais chaves foram tentadas e analisa nome de usuário errado, IdentitiesOnly, permissões do authorized_keys no servidor e o ssh-rsa (SHA-1), desativado por padrão no OpenSSH 8.8.
-
"ERESOLVE unable to resolve dependency tree" do npm e conflitos de peer dependencies
Desde o npm 7, as peerDependencies são instaladas automaticamente, e uma versão que não consegue satisfazer todos os intervalos de peer ao mesmo tempo falha com 'npm error code ERESOLVE' ('npm ERR! code ERESOLVE' antes do npm 10.6). O artigo mostra como ler as linhas Found/Could not resolve do próprio npm para identificar exatamente os pacotes em conflito e por que --legacy-peer-deps ou --force não devem ser a resposta padrão.
-
"exec format error" e "cannot execute binary file": incompatibilidades de arquitetura e de shebang
O erro ENOEXEC do kernel aparece como "exec format error" ou "cannot execute binary file: Exec format error" quando a arquitetura da CPU não corresponde ou o script não tem um shebang utilizável; finais de linha CRLF no shebang causam uma falha parecida, com "bad interpreter" ou "required file not found". O artigo mostra como distingui-los com file(1) e corrigir cada caso sem adivinhação.
-
O erro "detected dubious ownership in repository" do Git e a correção com safe.directory
O Git se recusa a operar em um repositório pertencente a um usuário diferente daquele que executa o comando, exibindo 'fatal: detected dubious ownership in repository at'. O artigo explica a correção do CVE-2022-24765 por trás disso, quando uma entrada safe.directory por repositório é adequada e por que chown é a melhor solução em contêineres e CI.
-
"Argument list too long" (E2BIG) e o limite ARG_MAX
Um comando de shell que se expande para argumentos demais falha com 'Argument list too long', o erro E2BIG de execve(2) causado pelo limite ARG_MAX do kernel. O artigo mostra como medir o limite e como substituir um glob que falha por lotes com xargs ou com find -exec ... +, em vez de tentar contornar o problema com aspas.
-
"Text file busy" (ETXTBSY): escrita em um executável em execução
ETXTBSY, exibido como "Text file busy", indica que se tentou abrir para escrita o arquivo de um programa que está em execução. O artigo mostra como encontrar o processo que mantém o arquivo aberto e por que fazer o deploy por rename, e não por sobrescrita direta, evita o erro e qualquer indisponibilidade.
-
O "error: externally-managed-environment" do pip e a PEP 668
O pip recusa um 'pip install' global com 'error: externally-managed-environment' quando a distribuição marcou o Python do sistema como gerenciado, conforme a PEP 668. O artigo explica o que significa o marcador EXTERNALLY-MANAGED, as soluções com venv/pipx/apt em ordem e por que --break-system-packages é último recurso, não padrão.
-
"ENOSPC: System limit for number of file watchers reached" e os limites do inotify
Observadores de arquivos baseados na API inotify do Linux falham com 'ENOSPC: System limit for number of file watchers reached' quando o limite do kernel por usuário se esgota, em geral ao monitorar node_modules ou árvores igualmente grandes. O artigo explica os dois parâmetros sysctl relevantes, como aumentá-los de forma persistente e por que os contêineres normalmente compartilham o limite do host.
-
"version `GLIBC_2.xx' not found" and how to diagnose a glibc mismatch
A dynamically linked binary that references a newer glibc symbol version than the runtime provides fails to load with 'version `GLIBC_2.xx' not found'. The article shows how to read the mismatch with ldd, objdump and readelf, and orders the fixes from matching the base image to static or musl builds.
Legível por máquina: JSON