Silent unatended apt-get upgrade
Published: 30-03-2013 | Author: Remy van Elst | Text only version of this article
Table of Contents
This tutorial will show you how to setup completely silent apt-get upgrade viacron. It also defaults to not overwriting config files if a package has a newerversion.
Important! You should watch out with this. Upgrades can break things. Use thison your own risk.
apt-get can be ran from a cronjob with different options to let it updateeverything without asking questions. However, the regular combination as seenbelow still mails output (and thus, not upgrades) when a changed file is foundin a package, for example, the /etc/lighttpd/lighttpd.conf file.
This is example output of such a situation:
apt-get upgrade -y --force-yes -qqConfiguration file `/etc/lighttpd/lighttpd.conf'==> Modified (by you or by a script) since installation.==> Package distributor has shipped an updated version.What would you like to do about it ? Your options are:Y or I : install the package maintainer's versionN or O : keep your currently-installed versionD : show the differences between the versionsZ : background this process to examine the situationThe default action is to keep your current version.*** lighttpd.conf (Y/I/N/O/D/Z) [default=N] ?
The apt-get command is ran from cron, and the below lines are mailed.
Using a few options for DPKG results in this command:
DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" upgrade
Results in this cronjob:
1 1 * * * DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical sudo apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" dist-upgrade
And if you also want to update the apt-cache:
Tags: apt, apt-get, aptitude, automatic, dpkg, synaptic, tutorials, update, upgrade
1 3 * * * DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical sudo apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" dist-upgrade1 1 * * * apt-get -y update