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 / server / 问题

Perguntas[systemd](server)

Martin Hope
Helmut Grohne
Asked: 2025-03-14 03:31:57 +0800 CST

Existe uma maneira de ativar uma unidade de serviço sempre que um arquivo é atualizado?

  • 5

systemdpermite combinar uma .pathunidade e uma .serviceunidade de modo que escrever um arquivo ativará o serviço. Agora considere que o serviço deve ser iniciado após cada modificação de arquivo. Não há problema em unir várias modificações em um único início, mas a unidade de serviço deve ser iniciada após cada modificação. Não é assim que o systemd normalmente opera. Se o serviço estiver em execução no momento da modificação, ele será considerado ativo e não ativado, mas deverá ser ativado imediatamente após terminar nessa situação. Essas semânticas podem ser alcançadas de alguma outra forma?

systemd
  • 1 respostas
  • 169 Views
Martin Hope
Richlv
Asked: 2025-01-30 20:53:16 +0800 CST

Os serviços iniciados no slice do usuário, "systemd --user" e "(sd-pam)" permanecem em execução

  • 7

Observou alguns processos relacionados ao systemd que nunca param. Investigando, eles estão conectados a serviços baseados em Java, potencialmente causados ​​por aqueles que estão sendo iniciados manualmente via su.

$ sudo loginctl user-status username
username (1014)
           Since: Tue 2025-01-28 04:03:56 CST; 2 days ago
           State: closing
        Sessions: 100
          Linger: no
            Unit: user-1014.slice
                  ├─session-100.scope
                  │ ├─1037532 bash /some/script
                  │ ├─1037541 /usr/lib/jvm/jdk/bin/java -parameters
                  │ ├─1039230 /usr/java/default/bin/java -parameters
                  │ ├─1039510 /usr/java/default/bin/java -parameters
                  │ └─1056980 /usr/java/default/bin/java -parameters
                  └─[email protected]
                    └─init.scope
                      ├─1007530 /usr/lib/systemd/systemd --user
                      └─1007534 (sd-pam)

Embora os processos do systemd não parem seja semelhante a systemd --user & sd-pam Os processos nunca param , aqui a fatia compartilhada parece ser mais interessante.

a) Os serviços anexados ao segmento do usuário significam que eles potencialmente compartilhariam limites de recursos com esse usuário, não com a conta de serviço?

b) Existem outras implicações dos serviços executados no segmento do usuário?

c) Há alguma solução alternativa razoável para evitar que isso aconteça, além de usar scripts de inicialização/serviços systemd adequados?

Editar: só para esclarecer, observei isso depois das ações de outros usuários. Pessoalmente, já briguei com pessoas por não se tornarem outros usuários por pelo menos 10 anos :)

systemd
  • 1 respostas
  • 76 Views
Martin Hope
thdox
Asked: 2025-01-01 21:54:53 +0800 CST

Como fazer logcheck-teste no diário do systemd

  • 5

Estou usando logcheckpara monitorar meu raspberry pi aberto na internet. Desde o debian 12 bookworm, a maioria dos arquivos de log não estão mais em /var/log, mas sim reunidos no journal do systemd. Gostaria de testar minhas regras no journal, mas não consigo encontrar o comando.

Anteriormente eu usava comandos como:

egrep -f /etc/logcheck/ignore.d.server/local-rules /var/log/*

ou

logcheck-test -l /var/log/* -r /etc/logcheck/ignore.d.server/local-rules

Alguém sabe como fazer isso no diário do systemd?

systemd
  • 1 respostas
  • 85 Views
Martin Hope
Morix Dev
Asked: 2024-11-15 00:22:21 +0800 CST

Ordem de desmontagem do Linux na reinicialização/desligamento

  • 8

Tenho uma situação (acho) muito particular no meu Linux embarcado que não consigo resolver corretamente...

Devido a verificações específicas (personalizadas) a serem executadas em sistemas de arquivos na inicialização antes de montá-los, eu uso um ramdisk inicial para verificar e montar todos os sistemas de arquivos solicitados e, então, os transfiro para o sistema de arquivos raiz quando o init é concluído (então nenhum /etc/fstabdispositivo é usado para montar, mas eles são montados por meio de um script que reside dentro do ramdisk inicial).

Para ser mais específico, a /bootpartição ( mmcblk1p1) é montada primeiro (no modo SOMENTE LEITURA); dentro dessa partição, tenho um arquivo ( rootfs.squashfs) correspondente a uma imagem squashfs do sistema de arquivos raiz de destino... então, após algumas outras operações (não relevantes para o propósito deste post), o script ramdisk inicial acaba montando a imagem squashfs /rootfse, no final do script init, a raiz do sistema é alternada /rootfs(via switch-rootcomando);

O problema surge na reinicialização do sistema (ou desligamento): quando o sistema tenta desmontar todos os sistemas de arquivos montados, a desmontagem /bootfalha (porque o dispositivo está ocupado, como é óbvio, já que o sistema de arquivos raiz é montado a partir de um arquivo squashfs que reside em /boot).

Existe uma maneira de evitar desmontar /bootna reinicialização/desligamento/desligamento, evitando assim a falha de umount? Como ele é montado somente para leitura, não deve ser arriscado, não é? Ou estou esquecendo de algo?

PS: Não sei se pode ser útil e/ou relevante: a inicialização do meu sistema operacional é gerenciada via systemd.

systemd
  • 2 respostas
  • 109 Views
Martin Hope
gcb
Asked: 2024-11-04 23:32:47 +0800 CST

Melhores práticas do systemd para "iniciar ou reiniciar" serviços?

  • 7

isto é baseado em respostas para O systemd pode executar um comando *antes* de uma reinicialização?

a maneira atual de "iniciar ou reiniciar" um serviço é:

systemctl is-active nginx && systemctl reload nginx || systemctl start nginx

Estou pensando se há uma maneira melhor de usar alvos e coisas assim. Estou com a sensação de que ainda estou tentando usar ferramentas systemd como outras ferramentas init.

O caso em que eu usaria isso é após ajustes manuais na conf, que podem funcionar, mas travar durante o teste de estresse, e então eu preciso iniciar ou reiniciar após novos ajustes no arquivo de configuração. Obviamente, a "solução" aqui pode ser algo que não é aceitável em produção, pois isso é feito em uma caixa vm/dev.

systemd
  • 1 respostas
  • 57 Views
Martin Hope
David C
Asked: 2024-10-19 21:12:42 +0800 CST

systemd --user & sd-pam Os processos nunca param

  • 5

Isso começou depois de instalar o Google Chrome (para funcionalidade de navegador headless). Estou concluindo que tem algo a ver com o Chrome. Nas primeiras horas após a instalação, eu estava construindo um script de curta duração chamando o Chrome em um navegador remoto.

2 lados da questão. É aceitável que o systemd seja executado continuamente e, se sim, como os alertas podem ser suprimidos?

Tenho recebido os relatórios abaixo há dias para as 2 contas de revendedor (4 no total a cada hora). Observe que o tempo do processo está em "dias".

Time:         Sat Oct 19 08:44:54 2024 -0400
Account:      accountname
Resource:     Process Time
Exceeded:     376436 > 1800 (seconds)
Executable:   /usr/lib/systemd/systemd
Command Line: (sd-pam)
PID:          35343 (Parent PID:35342)
Killed:       No

e

Time:         Sat Oct 19 08:44:54 2024 -0400
Account:      accountname
Resource:     Process Time
Exceeded:     376436 > 1800 (seconds)
Executable:   /usr/lib/systemd/systemd
Command Line: /lib/systemd/systemd --user
PID:          35342 (Parent PID:35342)
Killed:       No

Depois de adicionar as 4 linhas a seguir ao csf.piginore e reiniciar o LFD, os alertas continuam chegando.

pcmd: /usr/lib/systemd/systemd
pexe: /usr/lib/systemd/systemd
cmd: (sd-pam)
cmd: /lib/systemd/systemd --user

** Editar ** adicionando imagens para a resposta do grawity.

status do loginctl

status do sistemactl usuário@

systemd
  • 2 respostas
  • 53 Views
Martin Hope
gcb
Asked: 2024-08-01 11:06:29 +0800 CST

O systemd pode executar um comando *antes* de reiniciar?

  • 5

Isto não é sobreExecStartPre

Um caso de uso ao ajustar serviços é testar um arquivo de configuração antes de reiniciar o serviço.

por exemplo.

$ vim /etc/nginx.conf
$ nginx -t && restart_nginx

o equivalente ao systemd é ainda ter que lembrar da verificação antes de reiniciar.

Existe algo que evita esse provável erro humano? algo como ExecRestartStopPre? Ou seja, algo que ele executará antes da etapa de parada de uma reinicialização?

systemd
  • 1 respostas
  • 30 Views
Martin Hope
user2141650
Asked: 2024-02-29 02:37:03 +0800 CST

Executando systemd-run --user dentro de um serviço systemd

  • 6

Eu tenho um aplicativo da web que lida com a entrada do usuário e, como parte disso, executa alguns comandos systemd-run --user --scope ...para limitar o uso de memória e CPU.

O aplicativo funciona bem quando executado normalmente, mas quando executado como um serviço systemd, recebo:

Failed to connect to bus: No medium found

O que preciso fazer na unidade para que o serviço habilite isso?

systemd
  • 1 respostas
  • 20 Views
Martin Hope
cdauth
Asked: 2024-02-01 01:01:28 +0800 CST

systemctl --enable habilita soquete em vez de serviço

  • 5

Como é comum, lxdfornece duas unidades do systemd: lxd.sockete lxd.service. Quando lxd.socketé iniciado, ele inicia lxd.serviceassim que qualquer aplicativo (como lxc) tenta acessar o daemon lxd.

Gostaria lxdde iniciar na inicialização, sem precisar executar nenhum comando. No entanto, quando tento ativar lxd.service, ele ativa lxd.socket:

# systemctl enable lxd.service
Created symlink /etc/systemd/system/sockets.target.wants/lxd.socket → /usr/lib/systemd/system/lxd.socket.

O que está acontecendo aqui? Como posso ativar lxd.service?


O sistema está executando o Fedora 39. Estes são os arquivos da unidade:

/usr/lib/systemd/system/lxd.service:

[Unit]
Description=LXD - main daemon
After=network-online.target openvswitch-switch.service lxcfs.service lxd.socket
Requires=network-online.target lxcfs.service lxd.socket
Documentation=man:lxd(1)

[Service]
Environment=LXD_DOCUMENTATION=/usr/share/doc/lxd-doc/html
Environment=LXD_OVMF_PATH=/usr/share/edk2/ovmf
Environment=LXD_UI=/usr/share/lxd-ui/ui
ExecStart=/usr/bin/lxd --group lxd
ExecStartPost=/usr/bin/lxd waitready --timeout=600
KillMode=process
TimeoutStartSec=600s
TimeoutStopSec=30s
Restart=on-failure
LimitNOFILE=1048576
LimitNPROC=infinity
TasksMax=infinity

[Install]
Also=lxd-containers.service lxd.socket

/usr/lib/systemd/system/lxd.socket:

[Unit]
Description=LXD - unix socket
Documentation=man:lxd(1)

[Socket]
ListenStream=/var/lib/lxd/unix.socket
SocketGroup=lxd
SocketMode=0660
Service=lxd.service

[Install]
WantedBy=sockets.target
systemd
  • 1 respostas
  • 34 Views
Martin Hope
user2690527
Asked: 2023-12-02 02:45:10 +0800 CST

Como garantir que system-userdbd.service seja iniciado depois que o root fs se tornar gravável sem criar dependências circulares?

  • 5

Eu tenho uma máquina virtual rápida e o serviço systemd systemd-zserdbd.servicefalha com

Dec 01 17:45:32 server-new systemd[1]: Starting systemd-remount-fs.service...

...

Dec 01 17:45:32 server-new (-userdbd)[183]: systemd-userdbd.service: Failed at step NAMESPACE spawning /usr/lib/systemd/systemd-userdbd: Read-only file system
Dec 01 17:45:32 server-new (-userdbd)[185]: systemd-userdbd.service: Failed at step NAMESPACE spawning /usr/lib/systemd/systemd-userdbd: Read-only file system
Dec 01 17:45:32 server-new systemd[1]: Started systemd-journald.service.
Dec 01 17:45:32 server-new (-userdbd)[186]: systemd-userdbd.service: Failed at step NAMESPACE spawning /usr/lib/systemd/systemd-userdbd: Read-only file system
Dec 01 17:45:32 server-new (-userdbd)[187]: systemd-userdbd.service: Failed at step NAMESPACE spawning /usr/lib/systemd/systemd-userdbd: Read-only file system
Dec 01 17:45:32 server-new (-userdbd)[188]: systemd-userdbd.service: Failed at step NAMESPACE spawning /usr/lib/systemd/systemd-userdbd: Read-only file system

...

Dec 01 17:45:32 server-new systemd-fsck[180]: /usr/bin/fsck.xfs: XFS file system.
Dec 01 17:45:32 server-new systemd[1]: Finished systemd-remount-fs.service.

...

Dec 01 17:45:32 server-new systemd[1]: Reached target local-fs-pre.target.

...

Dec 01 17:45:33 server-new systemd[1]: Reached target local-fs.target.

O erro é bastante óbvio: systemd-userdbd.servicerequer um sistema de arquivos raiz gravável, mas é iniciado antes que o sistema de arquivos seja remontado como gravável.

Portanto, eu queria adicionar a dependência necessária via systemctl edit systemd-userdbd.service --drop-in=wait-for-rw-rootwith

[Unit]
Wants=local-fs.target
After=systemd-userdbd.socket systemd-remount-fs.service local-fs.target

Mas isso parece criar uma dependência circular no momento da inicialização. A remontagem dos sistemas de arquivos leva uma eternidade até que o systemd atinja o tempo limite.

  1. Como posso garantir que isso systemd-userdbd.serviceseja iniciado depois que o sistema de arquivos raiz se tornar gravável sem criar uma dependência circular?
  2. (Uma questão mais geral) Como analiso o que cria a dependência circular?
systemd
  • 2 respostas
  • 52 Views

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve