APT-DATER(5)
π apt-dater.xml β the config file of apt-dater(8) π
okay bestie, welcome to the manual page for apt-dater.xml (that's the apt-dater(5) one, in case you're keeping track) π
β¨ SYNOPSIS β¨
<apt-dater xmlns:xi="http://www.w3.org/2001/XInclude">
<ssh
spawn-agent="true">
<add-key fn="/path/to/id_rsa1"/>
<add-key fn="/path/to/id_rsa2"/>
</ssh>
<paths
hosts-file="path-to/hosts.xml"
stats-dir="path-to/stats"/>
<history
record="true"
err-pattern="((?<!no )error|warning|fail)"/>
</apt-dater>
πΈ DESCRIPTION πΈ
So apt-dater.xml is literally the configuration file for apt-dater(8). And apt-dater(8)? It's a program that manages package updates across a large number of remote hosts over SSH. Big swarm energy. π
This man page walks you through the parameters of apt-dater.xml briefly β no gatekeeping here. The default spot for this file is $XDG_CONFIG_HOME/apt-dater/apt-dater.xml. π
Oh and heads up: the config file gets parsed using libxml2, and it supports Xincludes. Fancy, right? β¨
π OPTIONS π
Attributes of the 'paths' element
hosts-file="$XDG_CONFIG_HOME/apt-dater/hosts.xml"β where the file that contains all the hosts you're managing with apt-dater lives. (optional)stats-dir="$XDG_DATA_HOME/apt-dater"β where the directory that holds the status files of any host lives. (optional)
Attributes of the 'screen' element
rc-file="$XDG_CONFIG_HOME/apt-dater/screenrc"β the location of thescreen(1)config file. (optional)title="%m # %u@%h:%p"β a template for screen titles, built with string escapes. (optional)no-dumps="false"β turns support of screen dumps on/off. (optional)query-maintainer="false"β if you set this to1, apt-dater will ask for the maintainer's name on startup. If you set it to2, it'll only ask when noMAINTAINERenvironment variable is set.
Attributes of the 'ssh' element
cmd="/usr/bin/sshβ the location of the ssh-client binary.sftp-cmdβ the command to initiate sftp file transfer, e.g./usr/bin/sftpopt-cmd-flagsβ extra ssh-client command flags, which get appended.spawn-agent="false"β if enabled, apt-dater tries to spawnssh-agent(1)when none is already running.ssh-add(1)gets called to load your private keys.add-keysβ the list of private keys that should be loaded when apt-dater callsssh-add(1).
ngl, here's the tea on keys: apt-dater will try to load additional private SSH keys using ssh-add(1) during start. Those keys need to be listed as add-key child elements. And the attribute fn refers to the filename of the private key:
<ssh spawn-agent="false" ..>
<add-key fn="/path/to/id_rsa1"/>
</ssh>
Attributes of the 'commands' element
CmdRefresh="apt-dater-host refresh"β the command used to refresh the status of the managed host.CmdUpgrade="apt-dater-host upgrade"β the command used to initiate an upgrade of a managed host.CmdInstall="apt-dater-host install %s"β the command used to update a single package. The%sgets replaced by the name of the package. β¨
Attributes of the 'appearance' element
colorsβ set your own color style of the ui components. To highlight colors you can use thebright*keyword. Example:Colors=menu brightgreen blue;status brightgreen blue;selector black red;
Components are:
defaultmenustatusselectorhoststatusqueryinput
Colors are:
defaultblackcyangreenmagentaredwhiteyellow
Attributes of the 'auto-ref' element
enabled="true"β enabled the auto refresh feature if compiled in (seeREADME.autoref).
Attributes of the 'notify' element
beep="true"β enables user notification by terminal bell. πflash="true"β enables user notification by terminal flashing.
Attributes of the 'history' element
err-pattern="((?<!no )error|warning|fail)"β a regular expression pattern to match the screen output. A match means the user should be asked to review the output (usingless). (Optional)record="true"β enables session recording usingscript(1). (Optional)
Attributes of the 'hooks' element
pre-update="/etc/apt-dater/pre-upg.d",pre-refresh="/etc/apt-dater/pre-ref.d",pre-install="/etc/apt-dater/pre-ins.d",pre-connect="/etc/apt-dater/pre-con.d",post-update="/etc/apt-dater/post-upg.d",post-refresh="/etc/apt-dater/post-ref.d",post-install="/etc/apt-dater/post-ins.d",post-connect="/etc/apt-dater/post-con.d"β hooks to be run before and after an action on a host is done. The values should be path names, and any executable script within these directories will be run byrun-parts(8). π«Ά
π¦ STRING ESCAPES π¦
apt-dater(8) provides a string escape mechanism, and the escape character is %. iconic tbh.
Table 1. List of supported escapes.
%β replaced by the escape characterhβ replaced by the hostnameHβ replaced by the SSH hostname used for connectingmβ replaced by the maintainer namepβ replaced by the SSH port numberuβ replaced by the SSH usernameUβ replaced by the SSH username appended by'@', empty string if no SSH username is configured.
π FILES π
apt-dater.xmlβ the configuration file of apt-dater.hosts.xmlβ contains all hosts you would like to manage.
π SEE ALSO π
apt-dater(8), apt-get(1), debtrack, screen(1), script(1), ssh(1), XDG Base Directory Specification[1].
π AUTHORS π
- Thomas Liske
<liske@ibh.de>- maintainer
- Andre Ellguth
- ex-maintainer
β COPYRIGHT β
Copyright Β© 2008-2015 IBH IT-Service GmbH [https://www.ibh.de/]
π NOTES π
- XDG Base Directory Specification
http://www.freedesktop.org/Standards/basedir-spec
okay that's the whole thing, no cap. this page came from the apt-dater project and it's dated February 28, 2015 β go forth and configure, bestie, you got this π β¨π¦
π¦ where this page comes from
- debian bookworm: apt-dater 1.0.4-7 Β· GPL-2.0-only
- debian trixie: apt-dater 1.0.4-8+b2 Β· GPL-2.0-only
- ubuntu jammy: apt-dater 1.0.4-5 Β· GPL-2.0-only
- ubuntu noble: apt-dater 1.0.4-8build2 Β· GPL-2.0-only
- ubuntu questing: apt-dater 1.0.4-8.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms