Я читал здесь, как включить автоматическое автоматическое обновление для Google Chrome. Тем не менее, у меня есть другие репозитории, такие как spotify, docky и другие, для которых я хотел бы включить автоматическое обновление.
Я пытаюсь сделать это в моей системе Ubuntu 10.04. Но этот вопрос относится ко всем версиям Ubuntu. У меня установлен пакет автоматических обновлений .
Как я могу это сделать?
updates
automation
nik90
источник
источник
Ответы:
Сначала установите
gksu
:sudo apt-get install gksu
Самым простым включением автоматических обновлений для вашей системы является редактирование файла
50unattended-upgrades
внутри/etc/apt/apt.conf.d/
с помощью вашего любимого текстового редактора, например:gksu gedit /etc/apt/apt.conf.d/50unattended-upgrades
В нем вы должны закомментировать закомментированные секции Разрешенные Origins блока
+ Изменить
в
Для программного обеспечения, которое отсутствует в репозиториях Ubuntu, которое вы хотите обновить, вам нужно добавить источник и архив в файл. Чтобы узнать, что это за ваши PPA, откройте папку
/var/lib/apt/lists/
, которая является областью хранения информации о состоянии для каждого ресурса пакета. То, что вы ищете, это файлы, которые заканчиваются на Release в названии.Откройте его в текстовом редакторе, например, для Google Chrome:
Происхождение очевидно (
Origin: Google, Inc.
), и архив будет любым, что находится под строкой Suite (Suite: stable
).Если какая- либо
Origin
илиSuite
отсутствует , то они будут пустая строка. Но обратите внимание, что если оба отсутствуют, то, вероятно, будет невозможно использовать этот источник с автоматическими обновлениями, не включая другие источники с той же проблемой.После того, как вы отметили эти 2 строки, вам нужно отредактировать
50unattended-upgrades
файл и добавить строки, используя этот формат"<origin>:<archive>";
для примера"Google\, Inc.:stable";
.Происхождение Google Chrome довольно сложно, поскольку в нем есть пробел, конечная точка и запятая, но большинство файлов Release будет легко читаться.
В качестве другого примера, источник Node JS указывает origin (
Node Source
), но не архив; так что вы можете сопоставить его с"Node Source:";
.Allowed Origins сопоставляется с использованием подстановочных знаков в стиле оболочки (более конкретно, с помощью функции Python fnmatch () ). Если вы достаточно осторожны, чтобы не включать противоречивые источники, можно написать что-то вроде
"Node *:*";
.Не забудьте сделать резервную копию вашего
50unattended-upgrades
файла перед его редактированием, сделайте это с помощьюsudo cp /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
.Для проверки изменений, внесенных в файл, вы можете использовать
sudo unattended-upgrades
параметры--dry-run
и--debug
.--dry-run
будет запускать цикл автоматических обновлений, за исключением того, что он не будет устанавливать обновления, только проверьте и убедитесь, что все в порядке.--debug
включит подробный режим.Вы всегда можете проверить журналы для
unattended-upgrades
на/var/log/unattended-upgrades/unattended-upgrades.log
.Вы можете изменить конфигурацию автоматических обновлений, отредактировав файл
/etc/apt/apt.conf.d/10periodic
, параметры конфигурации находятся в/etc/cron.daily/apt
заголовке скрипта. Прочитайте их, чтобы настроить частоту автоматических обновлений.источник
--dry-run
проверит, есть ли в обновленных списках какие-либо доступные обновления, и выведет их вам, списки обновятся в соответствии с вашей конфигурацией/etc/cron.daily/apt
, запуск их вручную не обновляет списки, я думаю.Автоматизированный подход к ответу @Bruno Pereira: (Пожалуйста, подумайте о роли github-репо, если вы найдете ответ полезным.)
Ссылка на код: https://github.com/abhigenie92/unattended_upgrades_repos
Проверьте репозитории, чтобы добавить:
Теперь отредактируйте,
/etc/apt/apt.conf.d/50unattended-upgrades
чтобы включить их:Проверьте, включены ли они:
источник
"Raspberry:stable";
не сработало. Вместо этого я использовал, например,"o=Raspberry, a=stable";
Редактируя
/etc/apt/apt.conf.d/50unattended-upgrades
, добавьте следующее:Это позволит автоматические обновления для всех пакетов.
источник
origin:''
, например, datadog-agent изsite:'apt.datadoghq.com'
. В этом случае также необходимо добавить,"origin=";
чтобы не пропускать пакеты с пустым источником. Но тогда лучше просто использовать"site=*";
вместо"origin=*";
./etc/apt/sources.list.d/my_repo.list
, но он не обновляет пакет. Вручную это работает сsudo apt update
. Любая подсказка, как?Инструкции по принудительному повторному запуску для автоматического запуска cron по следующей ссылке . Процедура остановки cron заключается в следующем
и перезапустить cron, чтобы сделать автоматическое обновление сейчас (или, по крайней мере, в течение нескольких минут)
Как это работает
Несколько вещей приведут его в действие.
В частности, он запускается
/etc/cron.daily
cron'ом/etc/cron.daily/apt
. Крон бежит/etc/cron.daily
в 6.25 утра (см./etc/crontab
)Анакрон бежит от выскочки? и он сработает
/etc/cron.daily
через 5 минут безотказной работы (см./etc/anacrontab
)Примечание
APT::Periodic::RandomSleep
может быть установлено/etc/apt/apt.conf.d/10periodic
, но по умолчанию - 1800 секунд (30 минут), поэтому обновления не могут происходить в течение 30 минут после/etc/cron.daily/apt
прогонов.Журнал
Если это работает, вещи должны войти в эту папку
/var/log/unattended-upgrades
.источник
/etc/cron.daily/apt
из установки Ubuntu 12.04 по умолчанию - поэтому автоматические обновления APT не выполнялись :-(. Ответ ServerFault serverfault.com/a/568329/ 95570 предоставил подробную информацию о воссоздании этого файла