标签: systemd

如何回答“哪些服务应该重新启动?” 在控制台中运行“apt dist-upgrade”后?

apt dist-upgrade在 Ubuntu Server 22.04.3 中以 root shell运行后,有时Which services should be restarted?会出现此问题。例子:

Restarting services...
Daemons using outdated libraries
--------------------------------

  1. dbus.service  2. getty@tty1.service  3. multipathd.service  4. networkd-dispatcher.service  5. packagekit.service  6. polkit.service  7. ssh.service  8. systemd-logind.service  9. systemd-manager  10. thermald.service  11. unattended-upgrades.service  12. user@1000.service  13. none of the above

(Enter the items or ranges you want to select, separated by spaces.)

Which services should be restarted? 1-13

Which services should be restarted? 1 - 13

Which services should …
Run Code Online (Sandbox Code Playgroud)

upgrade command-line apt systemd 22.04

2
推荐指数
1
解决办法
2528
查看次数

如何在 Ubuntu 15.10 中禁用不必要的服务而不卸载它们?

有一些守护进程是我零使用的,并且希望阻止自动启动,其中包括 avahi、zeitgeist、telepathy、apport 等。不用说我不希望他们开始。可以在不卸载它们的情况下实现这一点吗(仍然存在依赖关系,我什至相信当我真正需要它们时可能会发生)?

upstart services systemd 15.10

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

在从终端运行命令完成之前防止挂起

最近,我从 Ubuntu 16.04 x64 的终端窗口运行了一个长时间运行的脚本。当我离开系统时,它最终在我将其配置为 20 分钟后自动暂停System Settings窗口中,这具有暂停脚本的效果。当我返回系统时,我意识到由于系统暂停,我的脚本执行的几个小时进度丢失了。

一种解决方法是Don't suspendPower设置窗口中手动选择System Settings。这种防止挂起的方法并不令人满意(1)因为我经常忘记这样做,以及(2)因为它使我屈从于我的系统。

也许有一个滑头,但与某种前缀的命令,我会打电话给这样做的还是手动的方式nosuspend就目前来看,这种用法:nosuspend python myscript.py arg1 arg2。我对这个神秘命令的主要抱怨是它仍然要求我记得使用它,并且由于在所有终端命令前加上前缀是不合理的,因此必须预测脚本是否需要 1 分钟或 1 小时才能运行,并且这个预测可能是不正确的,再次导致时间损失和沮丧。

理想情况下,该解决方案将防止挂起,直到从终端窗口运行的所有命令完成。在某种程度上,我意识到这是不可能的,因为终端窗口中的 bash 进程很可能有一个我们可能不想阻止睡眠的子进程,例如,sudo su在终端窗口中执行的仍在运行,即使我们当前可能没有使用它,因此是空闲的,但我们仍然希望系统在 20 分钟后自动挂起,比如说。因此,存在定义暂停标准的问题。

我必须指出,有问题的 Python 脚本只有零星的磁盘、网络,并且几乎没有 CPU 工作,因为它重复 Python time.sleep() 调用,每次调用最多不到一分钟。因此,我并不是特别在寻找仅检测磁盘、网络或 CPU 中“相当”静止状态的方法。也许有一种方法来检测,如果是终端的子进程的命令取得任何进展在所有的间隔(希望在被配置在同一间隔期间Power上文)。希望这能将我的脚本与上述空闲的sudo su反例区分开来。

更新 1(2016 年 9 月 14 日):

正如下面 Adrine Correya 所推荐的,我尝试了systemd-inhibit,这听起来像nosuspend上面想象的那样,但没有奏效。这就是我所做的。首先,我创建了一个名为“long-job.py”的 Python 测试脚本:

#!/usr/bin/python3
import time
print("starting")
for i …
Run Code Online (Sandbox Code Playgroud)

command-line suspend systemd

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

/etc/rc.local(通过 systemd 运行)在 cat'ing /dev/urandom 时挂起

我创建了一个/etc/rc.local

$ cat /etc/rc.local 
#!/bin/bash

echo "Starting"
randomString=`cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1`
echo "Finished"
Run Code Online (Sandbox Code Playgroud)

这在交互式运行时运行:

$ /etc/rc.local 
Starting
Finished: lkFcvByNaIu7zmxuCYB3BQmJ05LwuVWL
Run Code Online (Sandbox Code Playgroud)

但是,当从 systemd 运行时,它会挂起并且不会返回。

如果我 ctrl+C 看起来它挂在fold命令上:

$ systemctl status rc-local
? rc-local.service - /etc/rc.local Compatibility
   Loaded: loaded (/lib/systemd/system/rc-local.service; enabled-runtime; vendor preset: enabl
  Drop-In: /lib/systemd/system/rc-local.service.d
           ??debian.conf
   Active: activating (start) since Mon 2019-03-11 12:04:06 UTC; 12s ago
     Docs: man:systemd-rc-local-generator(8)
Cntrl PID: 936 (rc.local)
    Tasks: 5 (limit: 1152)
   CGroup: /system.slice/rc-local.service …
Run Code Online (Sandbox Code Playgroud)

startup scripts systemd

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

如何在 Ubuntu 中将 Docker 与ocks5 结合使用?

我一直在尝试通过本地socks5代理运行docker,我尝试设置环境变量如下:

export ALL_PROXY=127.0.0.1:1080
Run Code Online (Sandbox Code Playgroud)

但这没有什么区别,就好像 Docker 没有读取它一样,我也尝试将配置放入~/.docker/config.json

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "socks5://127.0.0.1:1080"
   }
 }
}
Run Code Online (Sandbox Code Playgroud)

但这也行不通。有什么问题以及如何在 Ubuntu 上使用ocks5代理运行 Docker?

proxy systemd docker

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

标签 统计

systemd ×5

command-line ×2

15.10 ×1

22.04 ×1

apt ×1

docker ×1

proxy ×1

scripts ×1

services ×1

startup ×1

suspend ×1

upgrade ×1

upstart ×1