AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • Início
    • system&network
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-287718

Izzo's questions

Martin Hope
Izzo
Asked: 2024-02-28 04:17:14 +0800 CST

rsyslogd v3.xx fecha inesperadamente a conexão de gravação com o destino do pipe nomeado

  • 5

Configurei o rsyslog para encaminhar determinadas mensagens de log para um pipe nomeado /tmp/logger.pipe. Em seguida, tenho um processo separado lendo o pipe nomeado. Seção relevante de/etc/rsyslog.conf

# Remote Logging (silly conditional rule needed for specific logging scenario)
$template RFC5424Format,"<%PRI%>1 %timegenerated:1:10:date-rfc3339%T%timegenerated:12:19:date-rfc3339%.%timegenerated:21:26:date-rfc3339%Z %HOSTNAME% - - -%msg%\n"
if ($msg contains 'remote="true"') then /tmp/logger.pipe;RFC5424Format

Permissões em /tmp/logger.pipe

prwxrwxrwx 1 ftp root 

Estou implantando este aplicativo em duas máquinas diferentes. Uma máquina possui rsyslog v3.xx e a outra v5.xx

insira a descrição da imagem aqui

insira a descrição da imagem aqui

O aplicativo está funcionando perfeitamente na máquina com o rsyslog v5.xx. No entanto, estou tendo um comportamento estranho na máquina com o rsyslog v3.xx Especificamente:

  1. O rsyslogd às vezes leva uma eternidade para iniciar na inicialização (era muito rápido antes de eu adicionar a nova regra).
  2. Quando a leitura do processo logger.pipeé reiniciada, o rsyslogd parece parar de gravar dados no pipe nomeado após a retomada do processo de escuta. A única maneira de corrigir isso é reiniciar manualmente o rsyslogd

Existe algum truque com a configuração do rsyslog que estou perdendo ao trabalhar com pipes nomeados? Algum outro problema de permissão que eu possa estar ignorando? Estou confiante no aplicativo, pois ele tem funcionado de forma muito robusta com a versão v5.xx do rsyslog. Infelizmente não tenho como atualizar a versão v3.xx na máquina com a qual estou tendo problemas.

Alguma ideia?

Atualização: posso ter diagnosticado o problema - parece ser um problema em que o rsyslogd fecha a conexão de gravação com o canal se não houver leitores. No entanto, o aplicativo leitor usa fopen() que bloqueia até que haja um gravador correspondente.

Por alguma razão, isso não é um problema no rsyslog v5.xx:

  1. estado inicial onde rsyslogd e logger.out têm o pipe aberto com sucesso

insira a descrição da imagem aqui

  1. problema de reinicialização em _logger.out, rsyslogd ainda tem gravação aberta no pipe

insira a descrição da imagem aqui

  1. _logger.out é retomado e tudo funciona corretamente novamente

Mas esse comportamento é diferente no rsyslog v3.xx:

  1. estado inicial onde rsyslogd e logger.out têm o pipe aberto com sucesso

insira a descrição da imagem aqui

  1. problema de reinicialização em _logger.out, rsyslogd por algum motivo fecha a conexão com o pipe

insira a descrição da imagem aqui

pipe
  • 1 respostas
  • 16 Views
Martin Hope
Izzo
Asked: 2024-02-25 03:48:10 +0800 CST

O 'dpkg -i iptables' deveria instalar os módulos do kernel necessários?

  • 5

Estou no processo de instalação do iptables em uma máquina armhf Debian 8.7 incorporada que não tem acesso à Internet. Meu método tem sido encontrar manualmente os arquivos do pacote .deb nos arquivos do Debian e, em seguida, enviá-los por FTP para a máquina Debian 8.7 e executar o dpkg.

Depois de um pouco de dificuldade, aparentemente consegui instalar o pacote iptables .deb e todas as suas dependências. No entanto, quando começo a tentar usar o iptables, recebo o seguinte erro:

modprobe: FATAL: Module ip_tables not found.
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need insmod?)  

Ao executar lsmodposso de fato ver que o módulo ip_tables não está carregado ou mesmo instalado na minha máquina (não consigo encontrar os .ko em nenhum lugar da minha máquina).

Estou curioso - o dpkg do iptables deveria ter instalado os módulos do kernel do iptables? Ou o dpkg lida apenas com a configuração do espaço do usuário? Nota - não acredito que minha versão do kernel já tenha o iptables compilado nela.

debian
  • 1 respostas
  • 14 Views
Martin Hope
Izzo
Asked: 2022-04-11 06:30:24 +0800 CST

Qual é a diferença entre as estruturas "cdev" e "inode" no contexto da programação do driver de dispositivo?

  • 0

Atualmente, estou estudando drivers de dispositivo em um curso de sistemas operacionais e estou ficando confuso em relação à diferença entre as estruturas "inode" e as estruturas "cdev". Alguém poderia esclarecer as diferenças entre essas duas estruturas e o que elas pretendem alcançar?

devices inode
  • 1 respostas
  • 86 Views
Martin Hope
Izzo
Asked: 2022-02-17 11:11:40 +0800 CST

Quais controles de segurança existem para que os processos do usuário não possam atribuir a si mesmos a prioridade mais alta?

  • -1

Estou aprendendo sobre o agendador de processos do Linux e tenho lido a função pthread_setsched: https://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html

Uma coisa que me surpreendeu é que os threads podem modificar sua própria prioridade/classe. Eu posso ver como isso faz sentido para configurar certos aplicativos multi-thread (por exemplo, produtores e consumidores), no entanto, parece um risco de estabilidade do sistema que qualquer processo possa apenas solicitar para definir sua própria prioridade. O que está impedindo meu helloworld.out de solicitar SCHED_FIFO na prioridade mais alta? Isso pode bloquear completamente o sistema.

Então, quais mecanismos estão em vigor para impedir que um processo tenha total domínio do agendador? Parece que um erro do sistema EPERM pode ser definido, no entanto, onde isso está configurado?

linux-kernel pthreads
  • 1 respostas
  • 42 Views
Martin Hope
Izzo
Asked: 2022-02-08 08:19:45 +0800 CST

Por que montamos sistemas de arquivos em locais específicos em vez de apenas deixá-los em "/dev/..../"?

  • 1

Se eu fosse instalar um sistema de arquivos físico em uma máquina Linux, por que deveria montar esse sistema de arquivos em um local personalizado? Por que não ter o sistema de arquivos localizado no caminho do dispositivo? "/dev/...."

filesystems mount
  • 3 respostas
  • 95 Views
Martin Hope
Izzo
Asked: 2022-01-05 12:33:53 +0800 CST

"Erro ao gravar arquivo, sistema de arquivos somente leitura" quando o sistema de arquivos diz que está habilitado para leitura e gravação

  • 0

Atualmente, estou tentando atualizar as configurações de rede em um dispositivo Linux incorporado. Isso normalmente é feito modificando o conteúdo do arquivo /opt/etc/network/interfaces. O sistema de arquivos montado em /opt/ é por padrão RO, no entanto, alteramos isso temporariamente para RW enquanto atualizamos o conteúdo do arquivo usando o comando

mount -o remount,rw /opt

Confirmo que o sistema de arquivos foi atualizado para RW observando o conteúdo de /proc/mounts

insira a descrição da imagem aqui

Acredito que o sistema de arquivos agora pode ser lido e gravável, pois vejo as letras RW.

No entanto, quando vou modificar o arquivo, recebo um erro somente leitura.

insira a descrição da imagem aqui

Isso me confunde. O sistema de arquivos é leitura-gravação por /proc/mounts, no entanto, ainda estou recebendo um erro do sistema de arquivos. Não sou um mestre do sistema de arquivos, mas tenho três teorias sobre o que está acontecendo:

  1. O dispositivo de armazenamento tem algum tipo de bloqueio de memória (ou seja, switch) ativado.
  2. Este arquivo realmente vive em um sistema de arquivos aninhado, portanto, não está hospedado em /opt
  3. Eu sou um manequim e estou perdendo algo óbvio.
files filesystems
  • 1 respostas
  • 516 Views
Martin Hope
Izzo
Asked: 2021-12-25 11:58:42 +0800 CST

O que o SSH usa para determinar um host conhecido?

  • 0

Atualmente, estou enfrentando um problema ao me conectar a uma máquina Ubuntu universitária remota usando SSH (estou usando o VS Code como cliente SSH, se for importante). Após a conexão inicial, ele solicita que eu confie no dispositivo, faço isso e consigo me conectar. No entanto, um dia depois tento reconectar e ele gera um erro informando que a identidade do host da máquina foi alterada.

I SSH na máquina usando o nome DNS. Portanto, independentemente da alteração do endereço IP, ele sempre deve me direcionar para a mesma máquina física. Observe que a máquina na qual estou fazendo SSH é uma máquina de desktop física, não uma VM ou cluster.

Então, estou curioso, supondo que estou me conectando à mesma máquina física. Por que o SSH acha que o host remoto mudou? Se o endereço IP da mesma máquina física mudar, isso resultará em uma mudança de identidade?

ssh
  • 1 respostas
  • 96 Views
Martin Hope
Izzo
Asked: 2018-11-06 08:17:36 +0800 CST

Você pode forçar o comando SSH "watch" a anexar a saída em vez de substituir?

  • 1

Estou tentando assistir minhas estatísticas de rede via putty e quero gravar as estatísticas em um arquivo de log a cada segundo. Configurei o putty para registrar a sessão ssh em um arquivo de log. No entanto, estou lutando para emitir um comando putty que emite repetidamente o comando para extrair as estatísticas.

Minha primeira abordagem foi usar o comando "watch". Isso funcionou bem para executar o comando a cada segundo, no entanto, ele substituiria a saída do terminal toda vez que fosse atualizado e o arquivo de log não mostraria o histórico.

Minha pergunta: Como configuro o comando watch para anexar a saída da sessão em vez de apenas substituir repetidamente as linhas?

ssh watch
  • 2 respostas
  • 1193 Views
Martin Hope
Izzo
Asked: 2018-05-01 13:45:52 +0800 CST

Quando POSIX select () realmente retorna?

  • 2

Estou fazendo alguma programação de soquete usando a interface POSIX. Estou tentando usar a função select() para monitorar quando um soquete sem bloqueio está pronto para ser lido/gravado.

Ao usar a função select(), dou a ela um conjunto de descritores de arquivo de leitura e gravação. Especificamente, tenho um único soquete fd que desejo verificar se é legível e gravável.

A documentação POSIX afirma que o valor de retorno é uma soma de todos os descritores de arquivo apresentados em todos os conjuntos fd.

Meus primeiros testes mostram que recebo um '2' de volta, o que é bom (isso significa que meu soquete é legível e gravável). No entanto, o que acontece se o descritor de arquivo não se tornar simultaneamente legível/gravável? Digamos que se torne legível um microssegundo antes de se tornar gravável? O que acontece? Ele apenas retorna um 1?

posix socket
  • 1 respostas
  • 1372 Views
Martin Hope
Izzo
Asked: 2018-04-25 09:06:54 +0800 CST

Qual processo do Linux é responsável por responder aos pings?

  • 41

Eu tenho um controlador de processo baseado em Linux que ocasionalmente trava até o ponto em que você não pode fazer ping nele (ou seja, eu posso fazer ping nele, então ele não pode mais fazer ping sem nenhuma modificação nas configurações de rede).

Estou curioso, qual processo/sistema é responsável por realmente responder aos pings? Parece que este processo está falhando.

network-interface ping
  • 3 respostas
  • 11695 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve