Questions tagged «systemd»

systemd是Linux的SystemV和Upstart初始化守护程序的替代方法。它旨在提供一个更好的框架来表达服务的依赖性,允许在系统启动时并行完成更多工作,并减少Shell开销。

3
如何在dmesg中禁用无用的“审核成功”日志条目
简短版本:如何在Fedora系统上禁用审核消息(dmesg)? Fedora系统一直在dmesg中记录“审核:成功”消息-这种极端的方式使得dmesg变得不可用,因为它已被这些消息填满(dmesg | grep -v audit为空)。这些消息是完全无用的,因为它们显然想通知用户某些日常内部过程已成功(调试某些内容时可能会感兴趣,但在这种情况下只是噪音)。 甚至命令行界面(使用Ctrl+ Alt+ 切换到非X tty时F2)也变得不可用,因为它总是被这些审计消息所困扰,无法读取用户实际运行的命令的输出。例如,输入用户名(登录)后,会弹出一条审核消息(显然告诉用户已成功格式化/打印了某些内容): 审核:类型= 1131审核(1446913801.945:10129):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg ='unit = fprintd comm =“ systemd” exe =“ / usr / lib / systemd / systemd”主机名=?addr =?终端=?res =成功” 看来这些消息中的大多数都指示“成功”,但是也有许多审计消息不包含此关键字。运行Chromium会触发数百种此类事件: 审核:类型= 1326审核(1446932349.568:10307):auid = 500 uid = 500 …

4
如何在网络启动之前启动systemd服务?
我正在尝试建立一个新服务(在Debian Jessie下),该服务需要设置一些用于存储网络配置的安装架,因此该服务必须在启动network.service之前完成。 我尝试了以下方法: [Unit] Description=mount/repair remaining filesystems (all persistent fs beyond "/") #Before=network-pre.target Before=networking.service [Service] Type=oneshot ExecStart=/opt/intermodul-mounts/start.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=networking.service 使用“ systemd-analyze plot我”可以看到我的服务已启动,但networking.service大约提前了3秒: 显然我的配置有误,但是我很难找到问题所在。任何帮助都将不胜感激。 更新资料 我目前通过更改服务配置local-fs.target而不是之前开始解决了它networking.service: [Unit] DefaultDependencies=no Description=mount/repair remaining filesystems (all persistent fs beyond "/") Before=local-fs.target [Service] Type=oneshot ExecStart=/opt/intermodul-mounts/start.sh TimeoutSec=0 RemainAfterExit=yes [Install] RequiredBy=local-fs.target 还是,我想了解为什么我的第一个配置无法按预期工作...?
11 systemd 

1
无法启用用户服务。“无法获得D-Bus连接:连接被拒绝”支持
以用户身份运行任何systemd命令时出现此错误: admin@Xroklaus:~ $ systemctl --user list-units Failed to get D-Bus connection: Connection refused 没有用户参数,该命令运行正常。 admin@Xroklaus:~ $ systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0 ... To show all installed …

1
升级依赖项后如何重新启动我的systemd服务
我编写了一个使用Postgres数据库的程序,并为此编写了一个systemd服务文件。目前,我的服务可以在启动时正常启动,而在停止Postgres进行升级时,它会停止(通过apt upgrade)。但是,当升级完成并再次启动Postgres时,我的服务不会自动启动。 我可以定义一些依赖项来自动重新启动我的服务吗? 这是我的服务在Postgres升级过程中自动停止后的状态: ● tabill.service - My service Loaded: loaded (/srv/tabill/tabill.service; enabled; vendor preset: enabled) Active: inactive (dead) since Tue 2017-07-04 00:29:24 EEST; 44min ago Main PID: 1048 (code=killed, signal=TERM) 请注意,我可以再次手动启动该服务。 这是我的服务文件: [Unit] Description=My service Wants=nginx.service Requires=postgresql.service After=postgresql.service [Service] Type=simple ExecStart=/srv/tabill/app/serve Restart=always TimeoutSec=60 [Install] WantedBy=multi-user.target 我尝试添加 PartOf=postgresql.service和BindsTo=postgresql.service,然后手动停止和启动Postgres,但都没有帮助。 当然,我可以删除Requires,但是最好将两个服务一起停止,前提是它们只能同时启动。

1
使用systemd配置Java守护程序
我在工作中使用此定义systemd: [Unit] Description=Some job [Service] ExecStart=/usr/local/sbin/somejob User=dlt Type=forking [Install] WantedBy=multi-user.target 调用脚本的方式如下(调用一个简单的例程,该例程在tcpip套接字上侦听并将输入追加到文件中): #!/bin/sh cd /home/user/tmp/testout nohup java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar </dev/null >/dev/null & After systemctl start somejob进程显示为正在运行,以init其父进程为例: user@CANTANDO ~$ ps -u dlt eo pid,ppid,command PID PPID COMMAND 8718 1 java -jar /home/user/programming/tests/java/core/SocketTest/SocketTest.jar 执行systemctl stop somejob完该过程后,不再显示(端口已关闭)。 所以一切似乎都很好 我的问题是:这是使用,运行Java守护程序的可接受解决方案systemd,还是存在警告,因此还有其他更稳定或安全的方法来实现这一目标?
11 systemd  java  daemon 

2
服务失败时运行任意命令
我想在服务失败时运行一些脚本。我所看到的与此FailureAction=选项最接近的选项(在本[Service]节下面),但是它仅提供重新启动命令。
11 systemd 

3
在systemd中禁用init.d脚本
我在raspbian安装中将init系统从sysvinit更改为systemd。安装可以正常启动,但是现在在启动时启动lightdm。我不希望它那样做。 我注意到lightdm.service启动时已启动。通过以下方式停止服务 systemctl stop lightdm.service 工作良好。 systemctl disable lightdm.service 应该禁用它,但是给我 Failed to issue method call: No such file or directory systemctl status lightdm.service 给我 lightdm.service - LSB: Light Display Manager Loaded: loaded (/etc/init.d/lightdm) Active: inactive (dead) since Thu, 03 Jul 2014 09:33:00 +0000; 22min ago Process: 762 ExecStop=/etc/init.d/lightdm stop (code=exited, …

1
如何在启动服务之前等待/ dev / video0
我可以编写依赖于安装的单元文件,因为我可以列出它们,然后将其添加到中Requires=xxx,例如: # systemctl list-units | grep data mount-data.service loaded active exited Manage the data partition 我想做的是在将网络摄像头插入设备后启动服务。systemctl list-units | grep video0什么也不返回。有人可以简单地向我解释一下,我该怎么做才能确保做到这一点?我不希望发生的是启动服务的时候/dev/video0,/dev/video1等出现。 我从这篇文章中得到了一个线索,我将需要编写udev规则,但是我不知道在这里到底需要做什么。帮帮我?
11 systemd  udev 

2
是否有任何理由要在systemd系统上脱离fstab?
我在Arch Linux系统上,即systemd。 在systemd中,有用于安装点的本机单元文件,扩展名为.mount。我一直只是用过/etc/fstab,它从来没有给我带来问题,因为systemd只是从中获取信息。但是,既然我已经真正阅读了文档,我想知道是否应该更改为本机systemd单元文件。 Arch Wiki建议没有好处,因为它fstab在初学者指南中指出要填充您的内容。
11 systemd  fstab 

1
当podman从systemd启动时,为什么conmon在另一个cgroup中?
给定podman安装在linux系统和名为baz.service的systemd单元上: # /etc/systemd/system/baz.service [Service] ExecStart=/usr/bin/podman run --rm --tty --name baz alpine sh -c 'while true; do date; sleep 1; done' ExecStop=/usr/bin/podman stop baz 然后baz.service启动: # systemctl daemon-reload # systemctl start baz.service 然后,当我检查设备的状态时,在/system.slice/baz.service cgroup 中看不到shor sleep进程 # systemctl status baz ● baz.service Loaded: loaded (/etc/systemd/system/baz.service; static; vendor preset: enabl Active: active …

3
启动Debian 9错误:“无法启动Raise网络接口”
在Debian 9 Stretch启动时,在台式机上全新安装 ... Failed to start Raise network interfaces ... 错误发生。(电缆)LAN连接正常,但(USB)WiFi无法正常工作(检测到WiFi网络,但无法连接)。以前,在同一硬件Debian 8 Jessie上安装时工作正常,没有任何错误。 似乎问题与最近可预测的网络接口名称更改有关。找到的用户A,B,C,D和E具有相似的症状。但是,他们已经升级了Ubuntu系统(没有全新安装)。另外,提出的解决方案建议禁用固定/可预测/唯一名称的分配。我宁愿保留新的命名方案/标准,最终找到并消除原因(原因?),它不能正常工作。 还发现用户F和G存在相同问题-没有解决方案。 任何提示都会非常感谢。另外,如果您需要更多详细信息,我很乐意回答您的问题。 此外,您会找到一些详细的系统输出。 $ sudo systemctl status networking.service ● networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2017-09-04 17:21:42 IST; 1h 27min ago Docs: man:interfaces(5) …

2
在systemd中增加进程停止和开始之间的延迟
我有一个非常奇怪的问题systemd。当我发出时systemctl restart,它将在上一个完成之前开始新的过程。 这可以在日志中看到,在启动消息(“打开日志”)之后记录了最终关闭消息(“关闭日志”)。 有什么方法可以在停止和开始过程之间增加延迟吗?
10 systemd  services 

1
systemctl保持服务重启超时
我正在运行CentOS 7.2;见下文: # systemctl stop firewalld Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: Timeout was reached (g-io-error-quark, 24) Failed to stop firewalld.service: Connection timed out Failed to get load state of firewalld.service: Connection timed out journalctl 只是报告以下错误: [system] Failed to activate service 'org.freedesktop.PolicyKit1': timed out 我发现此错误适用于Ubuntu,可能与RHEL …

1
使用sdwdate时,如何在systemd日志中禁用systemd的“时间已更改”消息垃圾邮件?
由于Debian Stretch(默认情况下使用systemd)和sdwdate(使用Slow Clock Adjuster(gh))的组合使用,经常更改我的系统时钟。 结果journalctl -f无休止地被垃圾邮件所淹没。 [...] Nov 07 13:46:49 host systemd[766]: Time has been changed Nov 07 13:46:50 host systemd[766]: Time has been changed Nov 07 13:46:51 host systemd[766]: Time has been changed [...] 这不是使用sysvinit的Debian狂热问题。 如何将systemd配置为不将Time has been changed邮件发送到日志? 一个相关问题如何在Debian jessie的/ var / log / syslog中禁用systemd的“时间已更改”垃圾邮件?已经解决,但是该解决方案在这里不起作用。
10 systemd 


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.