Questions tagged «systemd»

systemd是传统Linux init的现代替代品。它的主要功能包括表达服务之间的依赖关系和主动启动服务并行化的能力。

5
如何在systemd服务中设置环境变量?
我有一个带systemd的Arch Linux系统,并且已经创建了自己的服务。的配置服务/etc/systemd/system/myservice.service如下所示: [Unit] Description=My Daemon [Service] ExecStart=/bin/myforegroundcmd [Install] WantedBy=multi-user.target 现在我想为设置环境变量/bin/myforegroundcmd。我怎么做?



3
有没有办法查看systemd的执行树?
我在这个问题下的意思是:有没有一种方法可以转储有序列表(如pstree那样处理进程),以查看systemd如何执行提供的单元集,即在解决依赖关系并将作业排队等待执行后的树?我知道您可以通过分析systemd状态数据来做到这一点,但是有没有一种快速的方法来查看这种树?这将对故障调查有很大帮助(例如,如果您发现引导过程卡在某个单元上,则可以为进行更深入的调查指出大概的位置)。
63 linux  systemd 

1
查找系统服务的位置
在许多不同的地方可以放置systemd单位文件。仅提供服务名称,是否有一种快速简便的方法来询问systemd从哪里读取服务的声明?
62 systemd 

3
在systemd中,After =和Requires =有什么区别?
我创建一个systemd。服务文件,我需要帮助理解之间的差异Requires=和After=。该手册页说,Requires=“配置其他单位需求的依赖。” 和After=“配置单元之间的排序依存关系”。有什么不同?
53 systemd 

6
使旧的init脚本在systemd中工作的最简单方法是什么?
我不想通过创建新的systemd脚本来做正确的事,我只是希望我的旧init脚本能够再次正常工作,因为我已经将系统升级到使用systemd的操作系统。 我已经简要研究了如何转换初始化脚本以及如何编写systemd脚本,但是我敢肯定,正确学习它并正确执行将花费我几个小时。 当前的情况是: systemctl start solr Failed to start solr.service: Unit solr.service failed to load: No such file or directory. 和: sudo service solr start Failed to start solr.service: Unit solr.service failed to load: No such file or directory. 现在,我只想恢复工作。使此功能再次起作用的阻力最小的途径是什么? 更新 我不想弄清楚这一切-我确实不是-但是我必须并且我已经发掘出我的第一个线索: sudo systemctl enable solr Synchronizing state for solr.service …
48 init.d  systemd 

1
如何从命令行向系统日志发送消息?
在较旧的Linux系统中,该logger命令可用于将日志消息发送到syslog。 阅读在Arch Linux中将其消息记录到何处logger?看来,如果设置了用于消息转发的套接字,则syslog消息和logger命令行应用程序只会与systemd日记对话。 那么,logger命令的现代含义是什么?如何从命令行直接将消息发送到systemd日记?
46 logging  systemd 

3
如何删除缺少的systemd单元?
我在弄清楚如何删除不再具有文件的systemd单元时遇到了麻烦。他们似乎仍然以某种方式徘徊在系统中。 我要删除的旧的损坏的单元: core@ip-172-16-32-83 ~ $ systemctl list-units --all firehose-router* UNIT LOAD ACTIVE SUB DESCRIPTION <E2><97><8F> firehose-router@02.service not-found failed failed firehose-router@02.service <E2><97><8F> firehose-router@03.service not-found failed failed firehose-router@03.service LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The …
40 systemd  coreos 

2
缓慢的ssh登录-org.freedesktop.login1的激活超时
在我的一台服务器上,我注意到SSH登录确实很延迟。 使用ssh -vvv选项连接时,延迟发生在 debug1: Entering interactive session. 连接摘录: debug1: Authentication succeeded (publickey). Authenticated to IP_REDACTED ([IP_REDACTED]:22). debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug2: callback start debug2: fd 3 setting TCP_NODELAY debug3: packet_set_tos: set IP_TOS 0x10 …
39 ssh  debian  pam  systemd 

2
在启动时在/ var / run下创建目录
我有一个后台驻留程序,该后台驻留程序需要其/var/runPID文件的目录,该后台驻留程序具有授予该后台驻留程序用户的写许可权。 我发现可以使用以下命令创建此目录: # mkdir /var/run/mydaemon 然后,我可以将其所有权更改为希望运行该进程的用户/组: # chown myuser:myuser /var/run/mydaemon 但是,只要我重新启动,该目录就消失了!如何在每次启动计算机时创建此目录?

3
使用一个systemd服务文件启动N个进程
我发现此systemd服务文件启动autossh来保持ssh隧道:https : //gist.github.com/thomasfr/9707568 [Unit] Description=Keeps a tunnel to 'remote.example.com' open After=network.target [Service] User=autossh # -p [PORT] # -l [user] # -M 0 --> no monitoring # -N Just open the connection and do nothing (not interactive) # LOCALPORT:IP_ON_EXAMPLE_COM:PORT_ON_EXAMPLE_COM ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p …
36 daemon  systemd 

5
在StartLimitInterval之后systemd服务自动重启
我希望我的systemd服务在发生故障时自动重新启动。另外,我想对重启次数进行限制。我希望在90秒内最多允许3次重启。因此,我完成了以下配置。 [服务] 重新启动=始终 StartLimitInterval = 90 StartLimitBurst = 3 现在,服务将在失败时重新启动。3次快速故障/重新启动后,它不再按预期方式重新启动。现在,我希望systemd在超时(StartLimitInterval)之后启动服务。但是如果我在超时后手动重新启动服务,则systemd不会在超时(90秒)后自动启动服务。但是我希望systemd在StartLimitInterval之后自动启动服务。请让我知道如何实现此功能。
33 systemd 

3
当受系统监控的服务进入失败状态时获得通知
当我的systemd服务崩溃或挂起(即进入失败状态;我使用WatchdogSec =监视挂起)时,我需要发送网络消息。我注意到较新的systemd具有FailureAction =,但是然后看到它不允许任意命令,而只是重新启动/关闭。 具体来说,我需要一种方法,在systemd检测到程序崩溃时发送一条网络消息,而在检测到程序挂起时发送另一条消息。 我希望有一个比“解析日志”更好的答案,并且我需要一些响应时间很短的东西,因此我认为轮询方法不是很好;它应该是事件发生触发的事件。
32 linux  bash  service  systemd 

2
禁用除ssh之外的所有服务
如何在现代(基于Systemd)Linux发行版上禁用除ssh之外的所有服务? 我需要实施维护模式。 所有这些服务都需要关闭: Postgres 后缀 阿帕奇 杯子 克朗 鸽舍 但是一定不能关闭ssh,因为它在维护模式下习惯于执行任务。 当然,我可以编写一个shell脚本,该脚本循环遍历要禁用的服务列表。但这感觉就像是我在重新发明已经存在的东西,但是到目前为止我还不知道。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.