Как разрешить автоматические обновления для запуска даже при работе от батареи?

По умолчанию автоматические обновления запускаются с помощью anacron, и он запускается только при работе от сети переменного тока и не запускается при работе от батареи. Этот бевиавор легко понять, чтобы избежать потери энергии. В любом случае, я хочу разрешить запуск без присмотра, даже если машина работает от батареи, потому что некоторые люди моих друзей, включая меня, всегда используют свой ноутбук только на батарее. Следующий трюк не работает с 16.04:

Установите ANACRON_RUN_ON_BATTERY_POWER=yes в /etc/default/anacron

Для Ubuntu 16.04, есть ли другой способ разрешить anacron или автоматические обновления для начните даже работать на батарее?

Трюки в следующем разделе не работают 16.04: Запустите anacron, даже если на батарее (ноутбук)

Изменить 1:

В соответствии с запросом я использовал команду dpkg -L anacron | xargs grep -lwi power 2>/dev/null из комментария waltinator. Затем я меняюсь так, но никаких изменений, автоматические обновления до сих пор не запускаются на батарее:

. Прокомментируйте следующие строки в /etc/init.d/anacron

# if test x"$ANACRON_RUN_ON_BATTERY_POWER" != x"yes" && test -x /usr/bin/on_ac_power # then # /usr/bin/on_ac_power >/dev/null # if test $? -eq 1 # then # log_progress_msg "deferred while on battery power" # log_end_msg 0 # exit 0 # fi #fi
1
задан 31 October 2017 в 19:00

6 ответов

После долгого поиска, чтобы anacron запускался даже на батарею, я сдаюсь. Потому что я обнаружил, что сценарий запускает автоматические обновления, если машина работает от батареи, которую я изначально хотел.

Запускайте автоматические обновления, если машина работает от батареи, идеально подходит для ноутбука. Сценарий, выполняемый при входе в систему. Требование:

Автоматические обновления установлены и включены (ссылка) Разрешить автоматическое обновление и обновление apt без запуска пароля с помощью sudoers (ссылка) Запустить скрипт при входе в систему (ссылка)

Сценарий:

#!/bin/bash
sleep 6m
level=$(cat /sys/class/power_supply/BAT0/capacity)
status=$(cat /sys/class/power_supply/BAT0/status)
lastupdate=$(cat /var/log/unattended-upgrades/unattended-upgrades.log | grep `date -I` | tail -1)
# Exit if not discharging
if [ "${status}" != "Discharging" ]; then
  exit 0
fi
# Exit if updated today
if [ -n "$lastupdate" ]; then
  exit 0
fi
# Update
if [ "${level}" -ge 70 ]; then  
    sudo apt update && sudo unattended-upgrades
fi
0
ответ дан 22 May 2018 в 17:07

После долгого поиска, чтобы anacron запускался даже на батарею, я сдаюсь. Потому что я обнаружил, что сценарий запускает автоматические обновления, если машина работает от батареи, которую я изначально хотел.

Запускайте автоматические обновления, если машина работает от батареи, идеально подходит для ноутбука. Сценарий, выполняемый при входе в систему. Требование:

Автоматические обновления установлены и включены (ссылка) Разрешить автоматическое обновление и обновление apt без запуска пароля с помощью sudoers (ссылка) Запустить скрипт при входе в систему (ссылка)

Сценарий:

#!/bin/bash sleep 6m level=$(cat /sys/class/power_supply/BAT0/capacity) status=$(cat /sys/class/power_supply/BAT0/status) lastupdate=$(cat /var/log/unattended-upgrades/unattended-upgrades.log | grep `date -I` | tail -1) # Exit if not discharging if [ "${status}" != "Discharging" ]; then exit 0 fi # Exit if updated today if [ -n "$lastupdate" ]; then exit 0 fi # Update if [ "${level}" -ge 70 ]; then sudo apt update && sudo unattended-upgrades fi
0
ответ дан 18 July 2018 в 04:31

После долгого поиска, чтобы anacron запускался даже на батарею, я сдаюсь. Потому что я обнаружил, что сценарий запускает автоматические обновления, если машина работает от батареи, которую я изначально хотел.

Запускайте автоматические обновления, если машина работает от батареи, идеально подходит для ноутбука. Сценарий, выполняемый при входе в систему. Требование:

Автоматические обновления установлены и включены (ссылка) Разрешить автоматическое обновление и обновление apt без запуска пароля с помощью sudoers (ссылка) Запустить скрипт при входе в систему (ссылка)

Сценарий:

#!/bin/bash sleep 6m level=$(cat /sys/class/power_supply/BAT0/capacity) status=$(cat /sys/class/power_supply/BAT0/status) lastupdate=$(cat /var/log/unattended-upgrades/unattended-upgrades.log | grep `date -I` | tail -1) # Exit if not discharging if [ "${status}" != "Discharging" ]; then exit 0 fi # Exit if updated today if [ -n "$lastupdate" ]; then exit 0 fi # Update if [ "${level}" -ge 70 ]; then sudo apt update && sudo unattended-upgrades fi
0
ответ дан 24 July 2018 в 18:06

В 16.04 вы можете написать файл systemd для этого. Создайте файл /etc/systemd/system/anacron.service.d/override.conf со следующим содержимым:

[Unit]
ConditionACPower=
ConditionACPower=false

Обратите внимание, что некоторые cronjobs независимо проверяют источник питания и отказываются работать от батареи, например. [F3]

0
ответ дан 22 May 2018 в 17:07

В 16.04 вы можете написать файл systemd для этого. Создайте файл /etc/systemd/system/anacron.service.d/override.conf со следующим содержимым:

[Unit] ConditionACPower= ConditionACPower=false

Обратите внимание, что некоторые cronjobs независимо проверяют источник питания и отказываются работать от батареи, например. [F3]

0
ответ дан 18 July 2018 в 04:31

В 16.04 вы можете написать файл systemd для этого. Создайте файл /etc/systemd/system/anacron.service.d/override.conf со следующим содержимым:

[Unit] ConditionACPower= ConditionACPower=false

Обратите внимание, что некоторые cronjobs независимо проверяют источник питания и отказываются работать от батареи, например. [F3]

0
ответ дан 24 July 2018 в 18:06

Другие вопросы по тегам:

Похожие вопросы: