apt-dater provides an ncurses frontend for managing package updates on a large number of remote hosts using SSH. It supports Debian-based managed hosts as well as rug (e.g. openSUSE) and yum (e.g. CentOS) based systems.
Features:
keep dozens up to hundrets of (GNU/Linux) hosts up to date
generic apt-dater-host protocol to manage different package managers
filter hosts by Tcl expressions
multi instance capable
spawn ssh-agent on startup (optional)
run multiple connections in parallel using screen
no root login required, use sudo to call package manager (optional)
record any screen activities during install/upgrade/connect for traceability(optional)
export host informations to XML for automatic processing
upgrade hosts part of clusters one after another
host informations collected:
LSB informations (distri, codename, version)
installed, upgradable, broken, extra and hold back packages
identify physical/virtual machines
kernel version and check if the most recent kernel is running
Install the apt-dater-host package from our repository or copy the Perl script apt-dater-host from the $SRC/clients/debian directory to a path on the managed host which are listed in the PATH environment variable.
yum based system (e.g. CentOS,...)
Modify the /etc/sudoers:
the-user ALL=NOPASSWD: /usr/bin/yum
Copy the PERL script apt-dater-host from the $SRC/clients/yum directory
to a path on the managed host which are listed in the PATH environment variable.
rug based system (e.g. openSUSE,...)
Modify the /etc/sudoers:
the-user ALL=NOPASSWD: /usr/bin/rug
Copy the PERL script apt-dater-host from the $SRC/clients/rug directory
to a path on the managed host which are listed in the $PATH variable.
Management server:
Beginning with version 0.5.5 the initial configuration files will be automatically created after the first startup of apt-dater. You just have to modify the file $HOME/.config/apt-dater/apt-dater.conf and the $HOME/.config/apt-dater/hosts.conf.
Create a user on your management server which perform updates on your
Debian hosts.
Generate a SSH keypair:
ssh-keygen [-t TYPE]
Distribute the public key(s) e.g.:
ssh-copy-id -i .ssh/your-public-key managed-host
Build dependencies:
libglib2.0-dev
libncurses5-dev
libpopt-dev
Optional: libxml2-dev (to enable the XML report function `./configure --enable-xmlreport') libtcl8.5-dev (to enable the TCL host filtering function `./configure --enable-tclfilter')
Q: debconf produces the following message: `debconf: falling back to frontend: Teletype'
A: Add the `-t' switch to the OptionalCmdFlags parameter in the apt-dater.conf. This switch force pseudo-tty allocation in ssh.
Q: Can I install a package parallel on more as one host?
A: Yes, select a category or a group and press the install key (i) and type in the name of the package which you want to install. You can also use the upgrade key (u) for the whole category or group.
Q: Can I filter all systems which have e.g. Debian GNU/Linux 3.1 and older installed?
A: Yes, press the filter key (f) and define your filter in TCL syntax. For your example: return [expr [string compare $lsb_distri "Debian"] == 0 && $lsb_rel < 4.0]
To use TCL filters you must build apt-dater with tclfilter support enabled.
Q: What does the "Oldest: " field mean in the status field?
A: The "Oldest: " field gives you the modification time of the oldest status (.stat) file of all hosts.
Q: Can I easley cycle the detached screen sessions?
A: Yes, you can. Use the cycle detached sessions key (N).