Questions tagged «systemd»

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

2
如何在Debian Jessie 8.2中为ssh设置动态消息(motd)?
我希望有一个动态的模式,但是我不知道该怎么做。 我试了一下,我发现,加入/etc/update-motd.d/00-header,10-sysinfo,90-footer,和符号链接到/etc/motd /var/run/motd.dynamic,/run/motd.dynamic,/run/motd或/var/run/motd。 我在这些行中/etc/pam.d/sshd: # Print the message of the day upon successful login. # This includes a dynamically generated part from /run/motd.dynamic # and a static (admin-editable) part from /etc/motd. session optional pam_motd.so motd=/run/motd.dynamic session optional pam_motd.so noupdate 我也对systemd感到困惑。 有没有办法做到这一点?有人可以举一个简单的例子吗?
16 debian  ssh  systemd  motd 

3
取决于系统单元(sleep.target)的系统用户单元
我正在阅读doc,但对于以下情况是否可以实现尚不清楚: 其中定义的服务~/.config/systemd/user/task.service取决于系统sleep.target(~/.config/systemd/user/sleep.target.wants/task.service)。 现在,我希望task.service在运行时启动$ systemctl suspend,但是task.service尚未启动。 我正在运行debian,其系统版本为208,systemd --user配置或多或少如ArchWiki所述。 我不知道是否我的情况可能与systemd在所有来实现,或者是--system和--user设计完全隔离,使--user单元可能不是一个的依赖--system单位。 如果有可能,我的问题可能是什么?
16 systemd 

2
在使用systemd服务引导期间提示输入密码
这与Arch Linux(也许还有其他使用的发行版systemd)有关。我想在启动时挂载TrueCrypt分区。与旧版本相比sysvinit,使用名为的脚本非常简单rc.local。 我通过劫持一个Arch论坛线程了解了我的最新情况。还有另一个线程将这个systemd-devel线程称为“具有解决方案”,但是对我来说实际的含义并不明显,OP的最后一篇文章指出他无法实现自己的目标。 从外观上看,此人正在这样做,但是他正在寻找一种在输入密码时关闭连续启动消息的方法。我也在那里张贴了.service文件,并要求他张贴他的实际文件。 在进行大量搜索时,人们提到他们已经成功或有可能,但并未确切说明解决方案是什么。 我可以通过systemd服务从命令行解锁分区(这反过来又使我能够在关机/重新启动时自动卸除分区),但是登录后我必须手动进行操作。 d非常喜欢启动过程暂停并要求我输入密码。 这是我当前的脚本: [Unit] Description=Truecrypt Setup for vault #DefaultDependencies=no #Conflicts=umount.target #Before=umount.target #After=systemd-readahead-collect.service systemd-readahead-replay.service #After=cryptsetup.target [Service] Type=oneshot RemainAfterExit=yes #StandardInput=tty-force ExecStart=/bin/sh -c '/usr/bin/truecrypt -t --protect-hidden=no -k "" --filesystem=none --slot=1 -p `systemd-ask-password "Enter password for truecrypt volume: "` /dev/sda4' ExecStop=/usr/bin/truecrypt --filesystem=none -d /dev/sda4 [Install] WantedBy=multi-user.target 我将评论的内容留在中[Unit],因为在某个时候我遇到了应该放在其中的建议,但是我对此有疑问。上面的内容似乎在启动/登录后就可以正常工作了……只是在此期间没有。

2
如何编写运行systemd-tmpfiles的systemd .service文件
我需要systemd-tmpfiles --create在系统发行版的引导过程中运行。所以我需要创建一个systemd .service文件来完成这项工作。 在这个问题中,您可以阅读有关我需要的所有详细信息以及原因:systemd-tmpfiles如何工作? 我已经阅读了一些文档,正在编写以下测试: [Unit] Description=Execute tmpfiles to disable usb-wakeup # see details in the link above Requires=multi-user.target # see details in the link above After=multi-user.target # see details in the link above [Service] Type=oneshot ExecStart=/usr/bin/systemd-tmpfiles --create [Install] WantedBy=multi-user.target 但是我不确定,因为systemd-tmpfiles这不是一个简单的程序,而是一个systemd本身。我不想破坏我的系统。 有关正确的.service文件的任何提示?

3
如果另一个服务启动或重新加载,则系统单元服务将重新启动
我想知道在开始或重新加载时是否有Systemd重启A.service(After)的方法B.service(仅限重新加载配置),如果可能的话,无需编辑B.service系统安装和升级的内容。 A.service即使B.service未安装,禁用或停止,也应启动。 A.service: [Unit] After = B.service network-online.target Wants = B.service [Service] Type=oneshot ExecStart = /script.sh start ExecStop = /script.sh stop RemainAfterExit=yes [Install] WantedBy = network-online.target B.service: [Unit] After=syslog.target network.target [Service] Type=forking ExecStart=/cmd start ExecStop=/cmd stop ExecReload=/cmd reload PIDFile=/var/run/cmd.pid [Install] WantedBy=multi-user.target
16 systemd 

1
如何真正关闭ssh服务器?
我通过systemctl disable ssh禁用ssh服务器,然后重新启动。重新启动后,我仍然可以通过ssh登录到远程服务器。我使用systemctl status ssh来检查服务器状态,它是不活动的。 $ systemctl -a | grep ssh ssh.service loaded inactive dead OpenBSD Secure Shell server ssh@3-192.168.0.120:22-192.168.0.104:31079.service loaded active running OpenBSD Secure Shell server per-connection daemon (192.168.0.104:31079) system-ssh.slice loaded active active system-ssh.slice ssh.socket loaded active listening OpenBSD Secure Shell server socket
15 systemd  sshd 

1
对“ /etc/init.d”和“ / lib / systemd / system”中的服务感到困惑
我是Linux世界的新手,对于我可能会说的任何错误表示抱歉。 我试图在Debian 8.5机器上运行Mongo DB。安装软件包(从percona.com预先构建)后,我注意到以下文件: /etc/init.d/mongod (1) /lib/systemd/system/mongod.service (2) 关于/etc/init.d/mongod 我知道update-rc.d在启动时/在其他特定系统状态下,这称为(只要通过进行注册)(不想对此有所了解,我正在吸收大量信息,这似乎不太重要)。 这对我来说很好。该脚本进行了大量初始化,最后启动了mongo守护程序。似乎有“触发”来启动,停止,重新启动等,据我所知,我可以通过触发这些触发sudo service mongod <action>。 关于/lib/systemd/system/mongod.service 这个文件似乎做同样的事情(即运行mongo),但是配置更少,ExecStart参数中只有一行: [Unit] Description=MongoDB (High-performance, schema-free document-oriented database) After=time-sync.target network.target [Service] Type=forking User=mongod Group=mongod PermissionsStartOnly=true EnvironmentFile=/etc/default/mongod ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}" PIDFile=/var/run/mongod.pid [Install] WantedBy=multi-user.target 据我了解,这可以通过触发sudo systemctl start mongod。 我不知道是否在启动时调用它。 我不明白为什么需要两个“服务”文件,以及如何摆脱其中一个文件(可能更简单,所以可能在/ lib / …

1
无法启动服务
我创建了一个systemd服务: [Unit] Description=My service [Service] Type=forking ExecStart=/bin/sh $HOME/theFolder/run.sh Restart=on-failure [Install] WantedBy=multi-user.target Alias=mine.service 我将其放在/ etc / systemd / system文件夹中,并将其命名为mine.service。 如果我运行sudo service mine start它会给我: 无法启动mine.service.Unit mine.service失败 -更新- 我先运行sudo systemctl daemon-reload,现在没有任何消息,但该服务仍然无法启动。
15 systemd  services 

4
是否有在Linux上启动和停止服务的标准方法?
直到最近,还存在一种简单有效的启动/停止/重新启动服务的方法: service nginx start|stop|restart 多年来,它一直运行良好,...直到一些智能裤决定改进它们,现在我面对的是Debian / Ubuntu系统,该service脚本什么也不做(因为我应该使用类似的东西systemctl start nginx.service(更长的时间,无法自动完成工作,...) 我的问题专门针对Debian和Ubuntu,但也涵盖CentOS / RedHat发行版也会有所帮助。 因此,有什么可以使我免受这一注定的变化的困扰吗? 如果不清楚,我正在寻找一种一致的方式来处理这些问题,一种可以在Debian 7.x,8.x,最新的Ubuntu LTS和非LTS上运行的方法。 PS。在此特定问题的范围之外,但是如果解决方案还涵盖了服务的启用和禁用部分,则可以给予额外的荣誉。

2
ArchLinux和CUPS服务的打印问题
在ArchLinux上呆了几天(我怀疑是因为我已经升级到gnome 3.14),我再也无法打印了。如果我打开gnome控制中心的打印面板,则会收到类似(从意大利语翻译的)消息:“打印系统服务似乎不可用” 所以从终端我尝试了: $ sudo systemctl start cups Failed to start cups.service: Unit cups.service failed to load: No such file or directory. 我也尝试过重新安装杯子,但是没有运气。我也四处搜寻并尝试了各种建议的解决方案,但是它们都不适合我。

4
systemd-tmpfiles如何工作?
我正在尝试/sys/bus/usb/devices/4-3/power/wakeup在每次启动时更改值(根据我的说法是4-3 lsusb,这是键盘ID)。 默认值为: # cat /sys/bus/usb/devices/4-3/power/wakeup enabled 经典的“在线”编辑可以按预期进行: # echo disabled > /sys/bus/usb/devices/4-3/power/wakeup # cat /sys/bus/usb/devices/4-3/power/wakeup disabled 我正在使用systemd发行版,所以我想使用systemd方式来编辑“临时文件” 我创建了以下文件: # cat /etc/tmpfiles.d/disable-usb-wakeup.conf w /sys/bus/usb/devices/4-3/power/wakeup - - - - disabled 但是每次启动后,我仍然在该文件中保留默认值(即启用) 难道我做错了什么? 编辑: 这里是另一个测试: # cat /etc/tmpfiles.d/scheduler.conf w /sys/block/sda/queue/scheduler - - - - deadline 这个很好用!启动后,我得到: # cat /sys/block/sda/queue/scheduler noop [deadline] cfq …

1
使用变量设置WorkingDirectory
如何使用环境变量设置Service WorkingDirectory?这是一个示例服务配置: [Service] Environment=MYWORKINGDIR=/tmp WorkingDirectory=${MYWORKINGDIR} 这会沿产生错误not an absolute path。在开始处添加斜杠可“修复”该错误,但仍未找到路径: [Service] Environment=MYWORKINGDIR=/tmp WorkingDirectory=/${MYWORKINGDIR} 这有可能吗?关于哪些指令可以/不能使用env变量的文档尚不清楚。 http://www.freedesktop.org/software/systemd/man/systemd.exec.html
15 systemd 

7
为什么systemd-udev固定我的CPU?
我注意到四核笔记本电脑的核心之一被钉住了,温度很高。我在top: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 359 root 20 0 188684 147228 1552 R 99.4 5.0 111:19.91 systemd-udevd 20011 root 20 0 188320 147604 2076 S 11.0 5.0 0:00.33 systemd-udevd 11053 dotanco+ 20 0 3030036 918672 49608 S 9.6 31.2 280:40.65 firefox 3468 …

1
如何避免在系统日志中将/ usr / bin / env标记为可执行文件
我已经根据本文中的信息创建了一个systemd服务来运行tomcat应用程序。本文的简短版本建议避免使用Shell脚本包装程序,并使用适当的环境和命令行直接执行Java。 这是整个systemd服务(已替换应用名称): [Unit] Description=MyApp Tomcat Container [Service] EnvironmentFile=/opt/myapp/environment ExecStart=/usr/bin/env ${JAVA_HOME}/bin/java $JAVA_OPTS $CATALINA_OPTS \ -classpath ${CLASSPATH} \ -Dcatalina.base=${CATALINA_BASE} \ -Dcatalina.home=${CATALINA_HOME} \ -Djava.endorsed.dirs=${JAVA_ENDORSED_DIRS} \ -Djava.io.tmpdir=${CATALINA_TMPDIR} \ -Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap start ExecStop=/usr/bin/env $JAVA_HOME/bin/java $JAVA_OPTS \ -classpath $CLASSPATH \ -Dcatalina.base=$CATALINA_BASE \ -Dcatalina.home=$CATALINA_HOME \ -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \ -Djava.io.tmpdir=$CATALINA_TMPDIR \ -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ org.apache.catalina.startup.Bootstrap …

3
编写要在履历表上执行的系统服务
我的戴尔笔记本电脑的内核3.14 受此错误影响。作为解决方法,我编写了一个简单的脚本 / usr / bin /亮度修复: #!/bin/bash echo 0 > /sys/class/backlight/intel_backlight/brightnes (和由可执行:chmod +x /usr/bin/brightness-fix) 以及在启动时执行的调用它的系统服务: /etc/systemd/system/brightness-fix.service [Unit] Description=Fixes intel backlight control with Kernel 3.14 [Service] Type=forking ExecStart=/usr/bin/brightness-fix TimeoutSec=0 StandardOutput=syslog #RemainAfterExit=yes #SysVStartPriority=99 [Install] WantedBy=multi-user.target 并启用: systemctl enable /etc/systemd/system/brightness-fix.service 这就像一种魅力,我可以根据需要控制显示屏的亮度。问题出在笔记本电脑进入睡眠模式后恢复正常运行时(例如,当合上笔记本电脑的嘴唇时):亮度控制不再起作用,除非我手动执行上面的fisrt脚本:/usr/bin/brightness-fix 如何创建另一个像我上面的系统服务,以便在恢复时执行? 编辑: 根据下面的评论,我已经修改了我brightness-fix.service这样的: [Unit] Description=Fixes intel backlight control with Kernel 3.14 …
15 systemd  laptop 

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.