I found apt-dater while searching for a new remote package management system. I like it.

Ubuntu Server Setup

I already had ssh keys everywhere, and a solid .ssh/config in place, so setup was easy. I already had screen installed, but included it in the example just in case.

sudo apt-get install apt-dater screen

After installation, I ran apt-dater once and quit to initialize the local config. Then I edited ~/.config/apt-dater/hosts.conf and define my server groups and listed the hosts for each based on the example there.

Lastly, I run apt-dater again to start tinkering. The interface is simplistic and feels familiar; very easy to use. Vim “arrows” move you around and the help menu explains anything that isn’t immediately straight-forward. When you bring up a server from the menu, you’re actually in a screen session. So, you can detch and it returns you to the server list. From there you can manage another server or reattach to a session.

Host Setup

Ubuntu Host Setup

This is the command I used on each Ubuntu host to get it up and running. Replace myusername with your actual username.

sudo bash -c "apt-get install -y apt-dater-host screen && echo 'myusername ALL=NOPASSWD: /usr/bin/apt-get, /usr/bin/aptitude' >> /etc/sudoers"

Amazon Linux

sudo bash -c "cd /usr/local/bin && wget https://raw.githubusercontent.com/DE-IBH/apt-dater-host/master/yum/apt-dater-host && chmod +x apt-dater-host && yum install -y redhat-lsb screen && sed -i '' 's/^Defaults    requiretty$/#Defaults    requiretty/' /etc/sudoers"

Unfortunately, I also found that I needed to comment out the Defaults requiretty line in /etc/sudoers.