关于禁用无人值守的升级,有无数条线索。我知道他们的事。
我的问题是,unattended-upgrade的用户体验还有很多地方有待改进。任务栏中的一个项目(xubuntu的右上角)将是放置“无人值守-升级”的地方。47%已完成。按此处停止这一次的小部件。我猜那根本不存在。
我有一个旧的,低功耗的笔记本电脑,我很少使用,当我启动它,大多数时候,它会减速到爬行多达15分钟后,由于无人值守-升级。
所以偶尔我想阻止它。ps -ef | grep -v grep | grep unattended-upgrade显示的PID似乎忽略了杀死信号,所以这不是正确的方法。杀死apt和dpkg听起来也很危险。
那么:有办法安全地阻止已经启动的unattended-upgrade吗?或者是我唯一的选择:
apt-get install new-shiny-tool?发布于 2019-08-31 20:08:57
是的,你可以。实际上,你可以按照你的意愿行事,但请详细说明:
所以偶尔我想阻止它。ps -ef \ grep -v grep \ grep \grep/grep-升级显示的PID似乎忽略了杀死信号。
因为这部分让我有点担心,因为SIGKILL作为根进程不可能被除PID 1 (init)之外的任何进程忽略,除非有系统调用正在处理,如果在中段语句中终止,这将导致内核代码损坏。这种情况不会将SIGKILL全部阻塞,而是将其转化为异步信号,一旦系统调用被唤醒并完成,该信号就会被传递。
就unattended-upgrade而言,您可以配置希望启动它的时间,并且只要停止它,就应该有一个服务:
sudo service unattended-upgrades status
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2019-08-30 20:48:27 EDT; 18h ago
Docs: man:unattended-upgrade(8)
Main PID: 1410 (unattended-upgr)
Tasks: 2 (limit: 4915)
Memory: 21.9M
CGroup: /system.slice/unattended-upgrades.service
└─1410 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
Aug 30 20:48:27 OPTIMUM systemd[1]: Started Unattended Upgrades Shutdown.和
sudo service unattended-upgrades stop sudo service unattended-upgrades status
● unattended-upgrades.service - Unattended Upgrades Shutdown
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2019-08-31 15:44:18 EDT; 1s ago
Docs: man:unattended-upgrade(8)
Process: 1410 ExecStart=/usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal (code=exited, status=0/SUCCESS)
Main PID: 1410 (code=exited, status=0/SUCCESS)
Aug 30 20:48:27 OPTIMUM systemd[1]: Started Unattended Upgrades Shutdown.
Aug 31 15:44:18 OPTIMUM systemd[1]: Stopping Unattended Upgrades Shutdown...
Aug 31 15:44:18 OPTIMUM systemd[1]: unattended-upgrades.service: Succeeded.
Aug 31 15:44:18 OPTIMUM systemd[1]: Stopped Unattended Upgrades Shutdown.将杀死它,而不必求助于ps和pid查找。
但是,由于您提到由于unattended-upgrades而导致的启动延迟是另一个问题,您可能还希望阻止该服务在引导时直接运行。在这种情况下,您可以通过为它创建一个计时器来延迟它。为了为unattended-upgrades.service创建一个定时器,在同一个目录中创建一个具有以下配置的unattended-upgrades.timer,其启动延迟5分钟:
[Unit]
Description=Run delayed
[Timer]
OnBootSec=5min
[Install]
WantedBy=timers.target接下来,禁用服务并启用计时器来控制它。
sudo systemctl disable unattended-upgrades.service
sudo systemctl enable unattended-upgrades.timer
sudo systemctl start unattended-upgrades.timer
sudo systemctl list-timers即使你有计时器运行,你仍然可以杀死无人值守-升级.服务,但它会通知你的定时器在后台。
sudo service unattended-upgrades stop
Warning: Stopping unattended-upgrades.service, but it can still be activated
by: unattended-upgrades.timer小部件
https://unix.stackexchange.com/questions/538463
复制相似问题