$ sudo apt-get install unattended-upgrades
$ sudo nano /etc/apt/apt.conf.d/10periodic
Set the following:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
Where the number is the frequency (in days)
$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
In order to automatically upgrade custom packages do the following:
- Look in
/var/lib/apt/lists/
to find the custom package that you want to update. It should end withRelease
e.g./var/lib/apt/lists/files.freeswitch.org_repo_deb_debian_dists_wheezy_InRelease
- Open up the file
$ nano /var/lib/apt/lists/files.freeswitch.org_repo_deb_debian_dists_wheezy_InRelease
- Look for the
Origin
andSuite
entries. e.g.Origin: freeswitch
Suite: stable
and note these values. - Edit the unattended upgrades configuration again.
$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- Add an entry for the
origin
andsuite
in the configuration
E.g.
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"freeswitch:stable";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
This will reboot the server if required automatically.
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "19:00"; // Optional
Unattended-Upgrade::Mail "[email protected]";
$ heirloom-mailx
$ sudo su
$ cd ~
$ nano .mailrc
Add the following to .mailrc
in root's home directory.
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set [email protected]
set smtp-auth-password=secret
set from="[email protected]
Change the permissions of .mailrc
chmod 400 .mailrc
$ sudo unattended-upgrade -v -d --dry-run
$ sudo unattended-upgrade -v -d
You do not need to install mailx to be able to send notifications via Gmail. See here.