[augeas-devel] augeas target configuration files

Harald Hoyer harald at redhat.com
Fri Apr 25 17:10:56 UTC 2008


Harald Hoyer wrote:
> Can we define a list of config files, which augeas does/will/should 
> support?
> 

so far:

def recurmatch(aug, path):
     matches = aug.match(path + "/*")
     subvals = []
     for i in matches:
         val_list = recurmatch(aug, i)
         if type(val_list) is tuple:
             subvals.append(val_list)
         elif type(val_list) is list:
             subvals.extend(val_list)
     else:
         if path != "/":
             val = aug.get(path)
             if val:
                 return (path, val)
     return subvals

a = augeas.augeas()
path = "/"
matches = recurmatch(a, path)
for (p, attr) in matches:
     print "%s = %s" % (p, attr)


gives:

/augeas/save = overwrite
/augeas/files/etc/inittab/path = /files/etc/inittab
/augeas/files/etc/inittab/lens/info = /usr/share/augeas/lenses/inittab.aug:21.13-.35
/augeas/files/etc/inittab/lens/id = 0x1b28e40
/augeas/files/etc/aliases/path = /files/etc/aliases
/augeas/files/etc/aliases/lens/info = /usr/share/augeas/lenses/aliases.aug:20.12-.30
/augeas/files/etc/aliases/lens/id = 0x1b4fd80
/augeas/files/etc/grub.conf/path = /files/etc/grub.conf
/augeas/files/etc/grub.conf/lens/info = /usr/share/augeas/lenses/grub.aug:44.14-.46
/augeas/files/etc/grub.conf/lens/id = 0x1b5d5f0
/augeas/files/etc/grub.conf/error = read_failed
/augeas/files/etc/sysconfig/network-scripts/ifcfg-lo/path = /files/etc/sysconfig/network-scripts/ifcfg-lo
/augeas/files/etc/sysconfig/network-scripts/ifcfg-lo/lens/info = /usr/share/augeas/lenses/ifcfg.aug:15.12-.28
/augeas/files/etc/sysconfig/network-scripts/ifcfg-lo/lens/id = 0x1b564d0
/augeas/files/etc/sysconfig/network-scripts/ifcfg-eth0/path = /files/etc/sysconfig/network-scripts/ifcfg-eth0
/augeas/files/etc/sysconfig/network-scripts/ifcfg-eth0/lens/info = /usr/share/augeas/lenses/ifcfg.aug:15.12-.28
/augeas/files/etc/sysconfig/network-scripts/ifcfg-eth0/lens/id = 0x1b564d0
/augeas/files/etc/yum.repos.d/fedora-rawhide.repo/path = /files/etc/yum.repos.d/fedora-rawhide.repo
/augeas/files/etc/yum.repos.d/fedora-rawhide.repo/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.repos.d/fedora-rawhide.repo/lens/id = 0x1b62dd0
/augeas/files/etc/yum.repos.d/fedora-updates-testing.repo/path = 
/files/etc/yum.repos.d/fedora-updates-testing.repo
/augeas/files/etc/yum.repos.d/fedora-updates-testing.repo/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.repos.d/fedora-updates-testing.repo/lens/id = 0x1b62dd0
/augeas/files/etc/yum.repos.d/Fedora-install-media.repo/path = /files/etc/yum.repos.d/Fedora-install-media.repo
/augeas/files/etc/yum.repos.d/Fedora-install-media.repo/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.repos.d/Fedora-install-media.repo/lens/id = 0x1b62dd0
/augeas/files/etc/yum.repos.d/fedora-updates.repo/path = /files/etc/yum.repos.d/fedora-updates.repo
/augeas/files/etc/yum.repos.d/fedora-updates.repo/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.repos.d/fedora-updates.repo/lens/id = 0x1b62dd0
/augeas/files/etc/yum.repos.d/fedora.repo/path = /files/etc/yum.repos.d/fedora.repo
/augeas/files/etc/yum.repos.d/fedora.repo/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.repos.d/fedora.repo/lens/id = 0x1b62dd0
/augeas/files/etc/yum.conf/path = /files/etc/yum.conf
/augeas/files/etc/yum.conf/lens/info = /usr/share/augeas/lenses/yum.aug:29.12-.37
/augeas/files/etc/yum.conf/lens/id = 0x1b62dd0
/augeas/files/etc/hosts/path = /files/etc/hosts
/augeas/files/etc/hosts/lens/info = /usr/share/augeas/lenses/hosts.aug:18.12-.34
/augeas/files/etc/hosts/lens/id = 0x1b66a80
/files/etc/inittab/1/id = id
/files/etc/inittab/1/runlevels = 3
/files/etc/inittab/1/action = initdefault
/files/etc/aliases/1/name = mailer-daemon
/files/etc/aliases/1/value = postmaster
...
/files/etc/sysconfig/network-scripts/ifcfg-lo/DEVICE = lo
/files/etc/sysconfig/network-scripts/ifcfg-lo/IPADDR = 127.0.0.1
/files/etc/sysconfig/network-scripts/ifcfg-lo/NETMASK = 255.0.0.0
/files/etc/sysconfig/network-scripts/ifcfg-lo/NETWORK = 127.0.0.0
/files/etc/sysconfig/network-scripts/ifcfg-lo/BROADCAST = 127.255.255.255
/files/etc/sysconfig/network-scripts/ifcfg-lo/ONBOOT = yes
/files/etc/sysconfig/network-scripts/ifcfg-lo/NAME = loopback
/files/etc/sysconfig/network-scripts/ifcfg-eth0/DEVICE = eth0
/files/etc/sysconfig/network-scripts/ifcfg-eth0/BOOTPROTO = dhcp
/files/etc/sysconfig/network-scripts/ifcfg-eth0/ONBOOT = yes
/files/etc/sysconfig/network-scripts/ifcfg-eth0/PEERDNS = yes
/files/etc/sysconfig/network-scripts/ifcfg-eth0/IPV6INIT = no
/files/etc/sysconfig/network-scripts/ifcfg-eth0/NM_CONTROLLED = no
/files/etc/sysconfig/network-scripts/ifcfg-eth0/TYPE = Ethernet
/files/etc/sysconfig/network-scripts/ifcfg-eth0/USERCTL = no
/files/etc/sysconfig/network-scripts/ifcfg-eth0/DNS1 = 127.0.0.1
/files/etc/yum.repos.d/fedora-rawhide.repo/rawhide/name = Fedora - Rawhide
..
/files/etc/yum.conf/main/cachedir = /var/cache/yum
/files/etc/yum.conf/main/keepcache = 0
/files/etc/yum.conf/main/debuglevel = 2
/files/etc/yum.conf/main/logfile = /var/log/yum.log
/files/etc/yum.conf/main/exactarch = 1
/files/etc/yum.conf/main/obsoletes = 1
/files/etc/yum.conf/main/gpgcheck = 1
/files/etc/yum.conf/main/plugins = 1
/files/etc/yum.conf/main/metadata_expire = 1800
/files/etc/yum.conf/main/installonly_limit = 2
/files/etc/hosts/1/ipaddr = 127.0.0.1
/files/etc/hosts/1/canonical = localhost.localdomain
/files/etc/hosts/1/alias[1] = localhost
/files/etc/hosts/1/alias[2] = testhost
/files/etc/hosts/2/ipaddr = ::1
/files/etc/hosts/2/canonical = localhost.localdomain
/files/etc/hosts/2/alias[1] = localhost6
/files/etc/hosts/2/alias[2] = localhost
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3636 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20080425/728d8e02/attachment.bin>


More information about the augeas-devel mailing list