如何列出所有enabled服务systemctl?
我知道systemctl单独运行命令会列出所有服务,但我只想获取enabled这些服务。
systemd为我们提供了systemctl命令套件,该套件主要用于使服务在启动时启动。我们还可以在 的帮助下启动、停止、重新加载、重新启动和检查服务的状态systemctl。
例如,我们可以这样做,sudo systemctl enable service_name并且service_name会在启动时自动启动。我们还可以禁用在启动时不启动的服务。
service和systemctl命令之间的唯一区别是systemctl可用于在运行时启动服务吗?我们可以systemctl在任何服务上使用吗?还有哪些其他显着差异?
如何阻止 Apache2 在启动时自动启动?当我打开机器时,我似乎找不到禁用自动启动的选项。
我刚刚从 Ubuntu 服务器 14 升级到版本 15。升级后我无法让我的 upstart 脚本工作,并且读到 systemd 是新的默认值。我远非 Linux 专家,所以请放轻松 :-)
这是我之前的新贵脚本:
description "NZBGet upstart script"
setuid robert
setgid robert
start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
script
exec nzbget -D
end script
pre-stop script
exec nzbget -Q
end script
Run Code Online (Sandbox Code Playgroud)
基于systemd wiki 页面的暴发户,我使用那里提供的表格在我的新 systemd 服务文件中尽可能地映射事物:
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
Run Code Online (Sandbox Code Playgroud)
该文件位于/home/robert/.config/systemd/user/nzbget.service. 要手动启动服务,我一直在做:
$ systemctl --user start nzbget
Run Code Online (Sandbox Code Playgroud)
这很好用。但是,当我退出 SSH 会话时,该服务将关闭。此外,它不会在启动或用户登录时启动。我希望它的行为与作为新贵服务的行为相同:我希望它在启动时启动,不断运行,并作为特定用户。
我需要做什么才能获得此配置?
是否有列出启动时运行的服务的命令?我想这将涉及解析/etc/init.d/和各种/etc/rc.*目录。
我想在启动后使用以下命令启动一个 Apache Spark 集群:
sudo ./path/to/spark/sbin/start-all.sh
Run Code Online (Sandbox Code Playgroud)
然后在系统准备重新启动/关闭时运行此命令:
sudo ./path/to/spark/sbin/stop-all.sh
Run Code Online (Sandbox Code Playgroud)
我该如何开始?有我可以建立的基本模板吗?
我试图使用一个非常简单的(文件:)/lib/systemd/system/spark.service:
[Unit]
Description=Spark service
[Service]
ExecStart=sudo ./path/to/spark/sbin/start-all.sh
Run Code Online (Sandbox Code Playgroud)
哪个不起作用。
许多 sysv init 脚本使用相应的文件/etc/default来允许管理员对其进行配置。可以使用.override文件修改新贵的工作。既然 systemd 是 Ubuntu 中的默认设置,我该如何覆盖或配置 systemd 单元?
如何在 Ubuntu 17.04 中禁用 systemd-resolved?
禁用它systemctl disable不起作用,该服务似乎已重新启动(由 Networkmanager?)
我在我的机器上安装了 MariaDB 服务器。在设置时,我遇到了一个问题,我是否必须一直启用它,因为我遵循的文档提供了这些步骤,
sudo yum install mariadb mariadb-server
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Run Code Online (Sandbox Code Playgroud) 我正在尝试systemctl在ubuntu:16.04docker 容器中使用该命令。我正在运行以下命令...
systemctl status ssh
Run Code Online (Sandbox Code Playgroud)
但是我收到错误...
Failed to connect to bus: No such file or directory
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?这与在 docker 容器中运行的 Ubuntu 相关吗?我怎样才能systemctl正常工作?