Я пытаюсь настроить crontab, чтобы он загружал все доступные обновления пакетов, не устанавливая их. К сожалению, похоже, что он не работает.
Моя команда crontab в sudo crontab -e
:
1 */1 * * * sudo apt-get -d upgrade
должна выходить каждую первую минуту каждого часа и загружать все доступные пакеты в /var/cache/apt/archives/.
.Когда я запускаю команду вручную из командной строки, она работает так, как задумано.
Может быть, я ошибаюсь с sudo и crontab как root idk. Любая помощь будет оценена.
Сначала выполните sudo crontab -e
и добавьте / измените следующую строку:
1 * * * * /usr/bin/apt-get -d upgrade >/tmp/cronapt.log 2>&1
Затем проверьте /tmp/cronapt.log
на наличие ошибок.
Второй способ - поместить следующий скрипт оболочки в папку /etc/cron.hourly
, сделать его исполняемым и принадлежащим root:root
:
#!/bin/bash
/usr/bin/apt-get -d upgrade
У Apt уже есть возможность сделать это.
Отредактируйте файл /etc/apt/apt.conf.d/10periodic
Найдите запись:
APT::Periodic::Download-Upgradeable-Packages "0";
Эта запись сообщает apt, загружать ли новые пакеты, используя опцию apt --download-only
. «0» означает, что опция отключена, поэтому apt установит загружаемые пакеты.
Измените «0» на другое число, чтобы включить --download-only
. Число представляет частоту загрузки в днях: «1» для ежедневного, «2» для каждого второго дня, «7» для еженедельного и т.д. Если вы хотите получить ВСЕ доступные пакеты (а не только обновления для системы безопасности), вы также должны внести небольшое изменение в /etc/apt/apt.conf.d/50unattended-upgrades
. Раскомментируйте источники, которые вы хотите включить. Это не рекомендуется для PPA и другого не-Ubuntu программного обеспечения, но легко возможно, если вы хотите рискнуть.