Наразі, щоб оновити речі на моєму Raspberry Pi, я маю набрати sudo apt-get update
та sudo apt-get upgrade
. Чи є спосіб налаштувати його автоматично? Я веду Raspbian Jessie.
Наразі, щоб оновити речі на моєму Raspberry Pi, я маю набрати sudo apt-get update
та sudo apt-get upgrade
. Чи є спосіб налаштувати його автоматично? Я веду Raspbian Jessie.
Відповіді:
замість ручного 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-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:00 кожного понеділка. Читайте на crontab, щоб побачити, як налаштувати на свій смак.
&&
оскільки вони пов'язані, і немає ніяких причин робити "оновлення", якщо "оновлення" не вдається.
0
означає неділя, але у своєму коді ви поставили, 1
щоб команда виконувалась у понеділок, а не в неділю
dist-upgrade
краще, ніж upgrade
ви, в кінцевому підсумку, будете порушені залежності, використовуючи лише їх upgrade
. Ви також не отримаєте оновлення, які потребують підтвердження діалогу. @ tedder42 вказав на спосіб, який віддав перевагу Debian (використовуючи unattended-upgrades
).
sudo
; ви перейшли на root
рахунок, використовуючи su
. Кронтаб суперпользователя працює з привілеями суперрузера.
Ви можете встановити та налаштувати cron-apt. Встановіть його, виконавши наступне:
apt-get install cron-apt
основний файл конфігурації - / etc / cron-apt / config
Я можу додати до своєї конфігурації:
MAILON="always"
це надсилатиме електронний лист щоразу, коли він запускається, не лише якщо він виявить помилку.
Зауважте, що налаштування за замовчуванням не буде автоматично встановлювати оновлення (є кілька вагомих причин цього не робити), але ви можете налаштувати це для цього. Однією з переваг, яку ця програма надає перед простим рішенням cron, є те, що вона дає вам контроль над тим, що встановлюється (завантажуйте лише нові пакунки, встановлюйте оновлення безпеки або встановлюйте всі оновлення).
Щоб встановити час його запуску, редагуйте файл /etc/cron.d/cron-apt.
Ви можете знайти більше інформації та налаштування параметрів тут
Пакет включає дуже гарну документацію, проте він gzipped. Щоб витягнути файл:
У конфігурації за замовчуванням 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-безпеки для підходу:
echo 'deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free' | sudo tee /etc/apt/sources.list.d/debian-security.list
Можливо, вам потрібно буде встановити нові підхожі ключі для сховища debian .
Інші параметри:
Обробіть це питання за допомогою cron-apt:
sudo apt install cron-apt
Інші способи обійти це.
Рекомендується використовувати без нагляду оновлення та виправляти пакет, оскільки він найкраще підходить для цієї мети. 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";
оновлення, почали надходити.