Augeas is a configuration API and editing tool. It parses common configuration files like /etc/hosts or /etc/grub.conf in their native formats and transforms them into a tree. Configuration changes are made by manipulating this tree and saving it back into native configuration files.
| Tags | Software Development Libraries Installation/Setup Systems Administration Text Processing |
|---|---|
| Licenses | LGPL |
| Operating Systems | POSIX Linux Unix BSD FreeBSD |
| Implementation | C |
Recent releases


Release Notes: This release contains a number of bugfixes, most importantly one that addresses an issue with mutlithreaded programs that use multiple 'struct augeas' instances, like libvirt (BZ 690286). AIX compatibility was fixed.


Release Notes: Path expressions support regexp matches and unions of nodesets. Augeas can now be run under non-C locales (this mostly affects users of the Perl and Java bindings). The API now contains several functions (aug_error and friends) to do more fine-grained error reporting. Bugfixes to many lenses, and the addition of lenses for /etc/ethers, /etc/postfix/access, and Wine registry files.


Release Notes: The tree->file transformation can now insert quotes etc. as needed. Path expressions support preceding-sibling and following-sibling axes, to, for example, locate a comment just before or after a specific entry. A much better lens was provided for xorg.conf along with new lenses for inetd.conf and multipath.conf. Augeas now works on AIX.


Release Notes: A schema change for /etc/inittab, several minor changes in other lenses, support for Mac OS X, and several bugfixes.


Release Notes: New lenses were added for cron and pbuilder. Numerous bugs were fixed in the lenses, including a much improved lens for Debian's interfaces file and enhanced support for ntp.conf and grub.conf.
Recent comments
17 Aug 2010 12:46
Hi everybody,
i want to commit a patch for the shellvars lense.
By convention all files in /etc/sysconfig/ should be files with shell variable syntax. So it will be fine, if all (*) files would be included.
Also Novells SUSE's distributions locate their network setup configurations in /etc/sysconfig/network, instead of network-scripts.
My diff against 0.5.3 is appended:
47,92c47,48
< let sc_incl (n:string) = (incl ("/etc/sysconfig/" . n))
< let filter_sysconfig =
< sc_incl "atd" .
< sc_incl "authconfig" .
< sc_incl "autofs" .
< sc_incl "clock" .
< sc_incl "cpuspeed" .
< sc_incl "crond" .
< sc_incl "crontab" .
< sc_incl "desktop" .
< sc_incl "firstboot" .
< sc_incl "grub" .
< sc_incl "hsqldb" .
< sc_incl "httpd" .
< sc_incl "i18n" .
< sc_incl "init" .
< sc_incl "iptables-config" .
< sc_incl "irda" .
< sc_incl "irqbalance" .
< sc_incl "kdump" .
< sc_incl "kernel" .
< sc_incl "keyboard" .
< sc_incl "kudzu" .
< sc_incl "libvirtd" .
< sc_incl "lircd" .
< sc_incl "nasd" .
< sc_incl "netconsole" .
< sc_incl "network" .
< sc_incl "nfs" .
< sc_incl "ntpd" .
< sc_incl "prelink" .
< sc_incl "readonly-root" .
< sc_incl "rsyslog" .
< sc_incl "samba" .
< sc_incl "saslauthd" .
< sc_incl "selinux" .
< sc_incl "sendmail" .
< sc_incl "smartmontools" .
< sc_incl "spamassassin" .
< sc_incl "sysstat" .
< sc_incl "system-config-users" .
< sc_incl "vncservers" .
< sc_incl "wpa_supplicant" .
< sc_incl "xend" .
< sc_incl "xendomains"
<
---
> let filter_sysconfig = incl "/etc/sysconfig/*"
> let filter_ifcfg_suse = incl "/etc/sysconfig/network/ifcfg-*"
97a54
> . filter_ifcfg_suse
Thanks!
Mike
30 Mar 2009 22:38
Great tool for reading and changing configuration files from programs