Ubuntu 16.04 慢速启动 (apt-daily.service)

Ash*_*r k 51 apt boot grub2 mate 16.04

我的启动非常慢,我不知道为什么。

$ systemd-analyze 
Startup finished in 10.975s (kernel) + 49.732s (userspace) = 1min 708ms
$ systemd-analyze blame 
         34.971s apt-daily.service
         20.590s snapd.refresh.service
         17.113s grub-common.service
         16.033s apport.service
         16.027s networking.service
         15.894s ondemand.service
         15.860s irqbalance.service
         15.655s speech-dispatcher.service
         11.695s ModemManager.service
          9.772s accounts-daemon.service
          8.626s NetworkManager-wait-online.service
          8.058s systemd-logind.service
          8.053s bluetooth.service
          7.944s gpu-manager.service
          7.896s alsa-restore.service
          7.892s pppd-dns.service
          7.882s rsyslog.service
          7.860s avahi-daemon.service
          7.844s dev-sda1.device
          7.842s systemd-user-sessions.service
          7.648s lightdm.service
          7.610s teamviewerd.service
          6.445s apparmor.service
Run Code Online (Sandbox Code Playgroud)

此外,在启动过程中,我看到一条消息,内容如下:

device descriptor read/all, error -62
ata1 softreset failed (device not ready) #most of the times
error loading journal #(sometimes)
Test WP failed, assume Write Enabled
Asking for cache data failed     #most of the times
Assuming drive cache: write through
Run Code Online (Sandbox Code Playgroud)

apt-daily.service 最慢的启动。关于如何解决这个问题的任何想法?

我有 Ubuntu MATE 16.04。

zwo*_*wol 55

这是Debian 错误 #844453apt-daily.service不应在启动期间运行,而应在启动后运行一段时间。

作为解决方法,请执行sudo systemctl edit apt-daily.timer以下文本并将其粘贴到编辑器窗口中:

# apt-daily timer configuration override
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
AccuracySec=1h
RandomizedDelaySec=30min
Run Code Online (Sandbox Code Playgroud)

这会更改触发apt-daily.service后在 15 分钟到 45 分钟之间随机运行的“计时器”,此后每天一次。请参阅systemd.timer 联机帮助页以获取有关这意味着什么的其他解释(写得不是很好,唉)。


cat*_*cat 5

另一个答案解决了问题中的第二个文本块。

对我来说,为了解决apt-daily.service永远的问题,这篇 Ubuntu 论坛的帖子似乎有效。

发出这些命令作为如何编辑的示例 /etc/systemd/system.conf

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.bak 
Run Code Online (Sandbox Code Playgroud)

这将为安全提供后备。

gksudo gedit /etc/systemd/system.conf 
Run Code Online (Sandbox Code Playgroud)

查找并更改这两行:

#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s 
Run Code Online (Sandbox Code Playgroud)

我的现在看起来像这样:

DefaultTimeoutStartSec=10s 
DefaultTimeoutStopSec=10s 
Run Code Online (Sandbox Code Playgroud)

这样做已经一年了,并没有带来什么不好的结果。

删除#禁用该行的前导 ,然后更改值。


小智 3

如果是台式机,请打开它并断开连接,然后重新连接所有 HDD 电缆(包括 MB)。

如果做不到这一点,听起来你的硬盘超时了。立即备份所有数据。

刻录 Ubuntu 的实时网络安装来适应您的系统,引导至尝试 Ubuntu。然后运行 ​​Gparted:默认情况下它会检查 HDD 读取错误。如果您有所有数据的备份,也许其他人可以提供建议。