В настоящее время, чтобы получить информацию о моем Raspberry Pi, я должен ввести sudo apt-get update
и sudo apt-get upgrade
. Есть ли способ настроить его на автоматическое выполнение этого? Я бегу Распбиан Джесси.
В настоящее время, чтобы получить информацию о моем Raspberry Pi, я должен ввести sudo apt-get update
и sudo apt-get upgrade
. Есть ли способ настроить его на автоматическое выполнение этого? Я бегу Распбиан Джесси.
Ответы:
вместо ручного cron вы можете установить unattended-upgrades
, что полезно для установки последних версий ядер. Он в основном предназначен для безопасности.
https://wiki.debian.org/UnattendedUpgrades
apt-get install unattended-upgrades
Есть некоторые биты, которые можно отрегулировать / настроить, но по умолчанию это нормально.
50unattended-upgrades
перечислены, "origin=Debian,codename=${distro_codename},label=Debian-Security";
и, похоже, они правильно находят нужные пакеты. Конечно, многие из них игнорируются. Я не создал ни одного белого или черного списка.
50unattended-upgrades
действительно глупый, и его нужно изменить, чтобы он работал на Raspian. Существует нет Raspian-Security
. Обновления безопасности не помечены. Важно добавить , как "origin=Raspbian,codename=${distro_codename},label=Raspbian";
и "origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
к/etc/apt/apt.conf.d/50unattended-upgrades
В терминале введите:
sudo su
Для доступа к приглашению корневого уровня. Затем запустите:
crontab -e
Чтобы начать редактирование вашего crontab, таблица задач запускается автоматически в определенный момент времени. Он откроется в выбранном вами текстовом редакторе. Измените его, чтобы включить следующие строки:
0 7 * * 1 apt update && apt upgrade -y
Для автоматического обновления и обновления ваших приложений в 7 утра каждый понедельник. Читайте о crontab, чтобы узнать, как приспособиться к вашему вкусу.
&&
так как они связаны между собой, и нет никакой причины делать «обновление», если «обновление» не удается.
0
означает воскресенье, но в вашем коде вы 1
dist-upgrade
лучше, чем upgrade
, вы будете в конечном итоге с нарушенными зависимостями, используя только upgrade
. Вы также не сможете обойти обновления, которые требуют диалоговых подтверждений. @ tedder42 указал метод, который предпочитает Debian (используя unattended-upgrades
).
sudo
там; Вы перешли на root
учетную запись с помощью su
. Crontab суперпользователя запускается с привилегиями суперпользователя.
Вы можете установить и настроить cron-apt. Установите его, выполнив следующие действия:
apt-get install cron-apt
основной файл конфигурации находится в / etc / cron-apt / config
Одна вещь, которую я добавляю в свою конфигурацию:
MAILON="always"
Это будет отправлять электронную почту каждый раз, когда он запускается, а не только если он обнаружит ошибку.
Обратите внимание, что установка по умолчанию не будет автоматически устанавливать обновления (есть некоторые веские причины не делать этого), но вы можете настроить ее для этого. Одно из преимуществ этой программы перед простым решением cron заключается в том, что она дает вам контроль над тем, что устанавливается (только загружайте новые пакеты, устанавливайте обновления безопасности или устанавливайте все обновления).
Чтобы установить время запуска, отредактируйте файл /etc/cron.d/cron-apt.
Вы можете найти больше информации и опций конфигурации здесь
В комплект поставки входит очень хорошая документация, однако она разархивирована. Чтобы извлечь файл:
В его конфигурации по умолчанию, unattended-upgrades
сломан в Raspbian Buster. Он не будет устанавливать важные обновления для ядра и другого программного обеспечения. Ваши варианты:
Рекомендуемый вариант:
sudo apt install unattended-upgrades
echo 'Unattended-Upgrade::Origins-Pattern {
// Fix missing Rasbian sources.
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Raspbian,codename=${distro_codename},label=Raspbian";
"origin=Raspberry Pi Foundation,codename=${distro_codename},label=Raspberry Pi Foundation";
};' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-raspbian
Для более быстрых обновлений безопасности (но меньшей стабильности, поскольку пакеты не были утверждены для rasbian), вы можете добавить пакеты debian-security в apt:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Возможно, вам потребуется установить новые ключи apt для репозитория debian .
Другие опции:
Обойти это с помощью cron-apt:
sudo apt install cron-apt
Другие способы обойти это.
Рекомендуется использовать unattended-updates и исправить пакет, потому что он лучше всего подходит для этой цели. Cron-apt - ваш второй лучший вариант, потому что он также предназначен для аналогичной цели. Я не уверен, что любой из них может автоматически перезагрузить вашу систему после обновления ядра. У автоматических обновлений обычно есть такая опция, но я не уверен, что она работает с исправлением выше.
/var/log/unattended-upgrades/unattended-upgrades.log
файл сообщалсяAllowed origins are: []
поэтому в основном это не тянуло никаких обновлений в конце обновления./etc/apt/apt.conf.d/50unattended-upgrades
Включать"origin=Raspbian,codename=${distro_codename},label=Raspbian";
обновления стали поступать.