标签: systemctl

Ubuntu Docker镜像中的systemd和systemctl

它似乎systemd在Ubuntu Docker镜像中不活跃或不可用.

我从ubuntu:16.04ubuntu:16.10图像运行Docker容器.

如果我systemctl status ssh16,04容器中执行,结果就是错误Failed to connect to bus: No such file or directory.在16.10容器中的误差bash: systemctl: command not found.

如果我which systemctl16.04容器中找到systemctl 但在16.10容器中找不到.

我发现/lib/systemd存在.

我尝试过安装systemd apt-get install systemd libpam-systemd systemd-ui.然后which systemctl找到systemctl 16.10systemctl status ssh仍然给出错误Failed to connect to bus: No such file or directory

我的主要问题是:如何激活systemd和systemctl以在Ubuntu Docker镜像中使用?

为什么systemd在Ubuntu Docker容器中不活动?systemd不用于实例化容器吗?

我并没有发现有关此主题的Ubuntu/Ubuntu的泊坞图像,只有从Ubuntu转换信息的任何文件Upstart来 …

ubuntu ubuntu-server systemd docker systemctl

58
推荐指数
1
解决办法
3万
查看次数

在ubuntu 16.04 LTS上运行mongodb

如何在Ubuntu 16.04 LTS上运行Mongodb作为服务?几天前我将服务器升级到Ubuntu 16.04.我注意到我重启时我的MongoDB服务没有启动.试着用

sudo initctl start mongod

没有做的伎俩.任何人都知道如何解决这个问题?

ubuntu mongodb systemctl

40
推荐指数
4
解决办法
8万
查看次数

无法在Ubuntu 16.04中启动Docker Service

我一直在尝试在Ubuntu 16.04上使用Docker(1.10),但安装失败,因为Docker Service无法启动.我已经尝试通过docker.io,docker -engine apt软件包安装docker,curl -sSL https://get.docker.com/ | sh但它不起作用.

我的主机信息是:

Linux Xenial 4.5.3-040503-generic #201605041831 SMP Wed May 4 22:33:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

这是systemctl status docker.service:

? docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since sáb 2016-05-14 15:17:31 CEST; 12min ago
     Docs: https://docs.docker.com
  Process: 22479 ExecStart=/usr/bin/docker daemon -H fd:// (code=exited, status=1/FAILURE) …
Run Code Online (Sandbox Code Playgroud)

linux virtualization ubuntu docker systemctl

37
推荐指数
4
解决办法
5万
查看次数

“sudo systemctl enable docker”不可用:在 WSL2 上启动时自动运行 Docker(使用“sysvinit”/“init”命令或解决方法)

我在 WSL2 上使用 Ubuntu(不是在 Docker 桌面上)。

\n

根据如何修复 docker \xe2\x80\x98Cannot connect to the Docker daemon at unix:///var/run/docker.sock。Ubuntu 上的 docker 守护进程是否正在运行?\xe2\x80\x99,我可以在启动时自动启动 docker 守护进程

\n
sudo systemctl enable docker\n
Run Code Online (Sandbox Code Playgroud)\n

而不是在每次启动时重新启动它

\n
sudo systemctl start docker\n
Run Code Online (Sandbox Code Playgroud)\n

这两个命令都避免了“无法连接到位于 unix:///var/run/docker.sock 的 Docker 守护进程。docker 守护进程正在运行吗?”。

\n

当使用两者中的任何一个时,我得到

\n
\n

使用 \n/lib/systemd/systemd-sysv-install 将 docker.service 的状态与 SysV 服务脚本同步。执行:\n/lib/systemd/systemd-sysv-install 启用 docker

\n
\n

测试运行显示,docker 尚未运行:

\n
\n
docker run hello-world \n
Run Code Online (Sandbox Code Playgroud)\n

docker:无法连接到 \nunix:///var/run/docker.sock 处的 Docker 守护程序。docker 守护进程是否正在运行?请参阅\n\'docker run --help\'。

\n
\n

之前的一些步骤,此时我也收到了不同的消息:

\n
\n …

service systemd docker systemctl wsl-2

28
推荐指数
2
解决办法
5万
查看次数

命令systemctl和服务是否仅存在于linux而不是mac?

嗨,我正试图在我的Mac上看到我的apache服务的状态.我试过这个命令

sudo service httpd status
Run Code Online (Sandbox Code Playgroud)

但命令未找到

我在谷歌中查找并发现,systemctl所以我尝试了

sudo man systemctl
Run Code Online (Sandbox Code Playgroud)

它没有显示手动输入 systemctl

我注意到我没有看到太多mac os,只在Google的网站上看到linux.

请问命令systemctlservice存在仅在Linux上,而不是Mac吗?

如果是这样,这些命令的mac版本是什么?

apache macos service status systemctl

26
推荐指数
1
解决办法
3万
查看次数

如何在Ubuntu 14.04中使用systemctl

我尝试在Ubuntu 14.04中执行以下命令:

systemctl enable --now docker-cleanup-dangling-images.timer
Run Code Online (Sandbox Code Playgroud)

我也尝试用sudo,我试图用service和systemd替换systemctl,但没有任何作用

sudo: systemd: command not found
systemd: command not found
sudo: service: command not foud
Run Code Online (Sandbox Code Playgroud)

如何在Ubuntu 14.04中执行此命令,还是有另一种方法来执行相同的命令?

ubuntu ubuntu-14.04 systemctl

24
推荐指数
1
解决办法
14万
查看次数

systemctl status显示非活动死亡

我正在尝试编写自己的(简单的)systemd服务,它可以做一些简单的事情.(就像使用shell脚本将数字1到10写入文件一样).我的服务文件如下所示.

[Unit]
Description=NandaGopal
Documentation=https://google.com
After=multi-user.target

[Service]
Type=forking  
RemainAfterExit=yes
ExecStart=/usr/bin/hello.sh &

[Install]
RequiredBy = multi-user.target
Run Code Online (Sandbox Code Playgroud)

这是我的shell脚本.

#!/usr/bin/env bash

source /etc/profile
a=0
while [ $a -lt 10 ]
do
   echo $a >> /var/log//t.txt
        a=`expr $a + 1`
done
Run Code Online (Sandbox Code Playgroud)

由于某种原因,服务没有出现,systemctl显示以下输出.

root@TARGET:~ >systemctl status -l hello
* hello.service - NandaGopal
   Loaded: loaded (/usr/lib/systemd/system/hello.service; disabled; vendor     preset: enabled)
   Active: inactive (dead)
    Docs: https://google.com
Run Code Online (Sandbox Code Playgroud)

一直想弄清楚过去2天出了什么问题.有人可以帮我吗?

问候,nandanator

linux sh systemd systemctl

15
推荐指数
2
解决办法
4万
查看次数

停止服务时单元陷入故障状态(状态 = 143)

这是我的问题。我在其上运行 CentOS 和 java 进程。Java 进程由启动/停止脚本操作。它也创建了一个 java 实例的 .pid 文件。

我的单位文件看起来像:

[Unit]
After=syslog.target network.target
Description=Someservice

[Service]
User=xxxuser
Type=forking
WorkingDirectory=/srv/apps/someservice
ExecStart=/srv/apps/someservice/server.sh start
ExecStop=/srv/apps/someservice/server.sh stop
PIDFile=/srv/apps/someservice/application.pid
TimeoutStartSec=0

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

当我调用stop函数时,脚本终止 java 进程SIGTERM并返回 0 代码:

kill $OPT_FORCEKILL `cat $PID_FILE`
<...>
return 0
Run Code Online (Sandbox Code Playgroud)

之后,如果我检查我的单位的状态,我会得到类似的东西(状态 = 143):

? someservice.service - Someservice
   Loaded: loaded (/usr/lib/systemd/system/someservice.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2017-08-30 09:17:40 EEST; 4s ago
  Process: 48365 ExecStop=/srv/apps/someservice/server.sh stop (code=exited, status=0/SUCCESS)
 Main PID: 46115 (code=exited, status=143)

Aug …
Run Code Online (Sandbox Code Playgroud)

linux systemd systemctl

10
推荐指数
1
解决办法
1万
查看次数

systemctl start/restart/stop 的输出

我想查看 systemctl 命令的输出。例如:

systemctl restart systemd-networkd  
Run Code Online (Sandbox Code Playgroud)

将显示输出

systemctl status systemd-networkd. 
Run Code Online (Sandbox Code Playgroud)

我知道我可以编写一个总是按顺序放置命令的脚本,但我希望有类似的东西

systemctl --verbose restart ....
Run Code Online (Sandbox Code Playgroud)

那没有进入手册页。

systemctl

10
推荐指数
1
解决办法
5085
查看次数

如何在重启或关机之前执行scp命令?

我想在重启或关机之前上传文件.
1.从我的vps到vps
设置upload.service

vim /etc/systemd/system/upload.service
[Unit]
Description=upload files into my vps
Before=shutdown.target reboot.target
Requires=network-online.target
After=network.target

[Service]
ExecStart=/bin/true
ExecStop=/bin/bash /home/upload.sh

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

upload.sh的脚本

vim /home/upload.sh
/usr/bin/scp -P 22 -i /home/.ssh/id_rsa /home/wp.bak root@remote_ip:/home
Run Code Online (Sandbox Code Playgroud)

是时候测试一下了.

systemctl enable upload
reboot
Run Code Online (Sandbox Code Playgroud)

验证wp.bak可以在重启时从我的vps1上传到vps2.
2.从家里的电脑到vps
ssh凭证已在家里的电脑和vps之间建立.
与case1相同的设置.

journalctl -u upload
Started upload files into my vps.
ssh: connect to host xxxxxxxxxx port 22: Network is unreachable
lost connection
Run Code Online (Sandbox Code Playgroud)

这是没有用的,写After=network.targetAfter=network.target ssh.service.

像nbari说的那样.

sudo vim /etc/systemd/system/upload.service
[Unit]
Description=upload files into my vps
Before=shutdown.target reboot.target
After=network.target …
Run Code Online (Sandbox Code Playgroud)

ssh scp reboot systemctl

9
推荐指数
1
解决办法
624
查看次数