Projects / Augeas

Augeas

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
Licenses
Operating Systems
Implementation

Recent releases

  •  16 Apr 2011 00:42

    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.

    •  30 Nov 2009 18:27

      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.

      •  14 Sep 2009 22:24

        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.

        •  14 Jul 2009 03:35

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

          •  10 Jun 2009 00:47

            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 mthauth

            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 lutter

            Great tool for reading and changing configuration files from programs

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.