/usr/share/augeas/lenses/dist
NameSizeModeActions
tests/-0755rm
access.aug36690644editdlrm
activemq_conf.aug15090644editdlrm
activemq_xml.aug8640644editdlrm
afs_cellalias.aug16020644editdlrm
aliases.aug22310644editdlrm
anaconda.aug7750644editdlrm
anacron.aug25450644editdlrm
approx.aug12860644editdlrm
aptcacherngsecurity.aug7260644editdlrm
aptconf.aug39890644editdlrm
aptpreferences.aug18310644editdlrm
aptsources.aug20230644editdlrm
apt_update_manager.aug11350644editdlrm
authinfo2.aug14760644editdlrm
authorized_keys.aug18830644editdlrm
authselectpam.aug37840644editdlrm
automaster.aug33910644editdlrm
automounter.aug41480644editdlrm
avahi.aug14170644editdlrm
backuppchosts.aug10140644editdlrm
bbhosts.aug43420644editdlrm
bootconf.aug37360644editdlrm
build.aug170450644editdlrm
cachefilesd.aug20510644editdlrm
carbon.aug15740644editdlrm
ceph.aug7190644editdlrm
cgconfig.aug34470644editdlrm
cgrules.aug24320644editdlrm
channels.aug39290644editdlrm
chrony.aug139820644editdlrm
clamav.aug17160644editdlrm
cmdline.aug5000644editdlrm
cobblermodules.aug3980644editdlrm
cobblersettings.aug22950644editdlrm
collectd.aug8690644editdlrm
cpanel.aug8240644editdlrm
cron.aug41430644editdlrm
cron_user.aug12900644editdlrm
crypttab.aug31510644editdlrm
csv.aug12120644editdlrm
cups.aug4590644editdlrm
cyrus_imapd.aug15460644editdlrm
darkice.aug7730644editdlrm
debctrl.aug37010644editdlrm
desktop.aug14220644editdlrm
devfsrules.aug6190644editdlrm
device_map.aug6200644editdlrm
dhclient.aug68500644editdlrm
dhcpd.aug213790644editdlrm
dnsmasq.aug22090644editdlrm
dns_zone.aug29630644editdlrm
dovecot.aug40730644editdlrm
dpkg.aug28510644editdlrm
dput.aug22130644editdlrm
erlang.aug44320644editdlrm
ethers.aug6630644editdlrm
exports.aug24240644editdlrm
fail2ban.aug18350644editdlrm
fai_diskconfig.aug95020644editdlrm
fonts.aug8190644editdlrm
fstab.aug12570644editdlrm
fuse.aug8710644editdlrm
gdm.aug18410644editdlrm
getcap.aug16100644editdlrm
group.aug17030644editdlrm
grub.aug113110644editdlrm
grubenv.aug5080644editdlrm
gshadow.aug22400644editdlrm
gtkbookmarks.aug8550644editdlrm
hostname.aug4350644editdlrm
hosts.aug4850644editdlrm
hosts_access.aug44260644editdlrm
host_conf.aug19410644editdlrm
htpasswd.aug10430644editdlrm
httpd.aug75270644editdlrm
inetd.aug63650644editdlrm
inifile.aug158590644editdlrm
inittab.aug7800644editdlrm
inputrc.aug16620644editdlrm
interfaces.aug47330644editdlrm
iproute2.aug3230644editdlrm
iptables.aug27030644editdlrm
iscsid.aug6840644editdlrm
jaas.aug16120644editdlrm
jettyrealm.aug15520644editdlrm
jmxaccess.aug13860644editdlrm
jmxpassword.aug13750644editdlrm
json.aug21980644editdlrm
kdump.aug29770644editdlrm
keepalived.aug109580644editdlrm
known_hosts.aug19790644editdlrm
koji.aug8980644editdlrm
krb5.aug71490644editdlrm
ldif.aug78330644editdlrm
ldso.aug10850644editdlrm
lightdm.aug17930644editdlrm
limits.aug20660644editdlrm
login_defs.aug6150644editdlrm
logrotate.aug43330644editdlrm
logwatch.aug14730644editdlrm
lokkit.aug22160644editdlrm
lvm.aug20790644editdlrm
mailscanner.aug16990644editdlrm
mailscanner_rules.aug29110644editdlrm
masterpasswd.aug44680644editdlrm
mcollective.aug11120644editdlrm
mdadm_conf.aug102890644editdlrm
memcached.aug12720644editdlrm
mke2fs.aug64360644editdlrm
modprobe.aug34200644editdlrm
modules.aug7410644editdlrm
modules_conf.aug10680644editdlrm
mongodbserver.aug12010644editdlrm
monit.aug21820644editdlrm
multipath.aug43110644editdlrm
mysql.aug19940644editdlrm
nagioscfg.aug21380644editdlrm
nagiosobjects.aug16040644editdlrm
netmasks.aug17320644editdlrm
networkmanager.aug22330644editdlrm
networks.aug11160644editdlrm
nginx.aug37400644editdlrm
nrpe.aug18270644editdlrm
nslcd.aug101110644editdlrm
nsswitch.aug23860644editdlrm
ntp.aug54190644editdlrm
ntpd.aug48610644editdlrm
odbc.aug14500644editdlrm
opendkim.aug31740644editdlrm
openshift_config.aug25240644editdlrm
openshift_http.aug10520644editdlrm
openshift_quickstarts.aug10440644editdlrm
openvpn.aug228170644editdlrm
oz.aug13840644editdlrm
pagekite.aug26630644editdlrm
pam.aug26370644editdlrm
pamconf.aug12560644editdlrm
passwd.aug36090644editdlrm
pbuilder.aug6380644editdlrm
pgbouncer.aug14620644editdlrm
pg_hba.aug30430644editdlrm
php.aug23930644editdlrm
phpvars.aug39470644editdlrm
postfix_access.aug7710644editdlrm
postfix_main.aug15550644editdlrm
postfix_master.aug19500644editdlrm
postfix_passwordmap.aug13120644editdlrm
postfix_sasl_smtpd.aug6970644editdlrm
postfix_transport.aug15140644editdlrm
postfix_virtual.aug13470644editdlrm
postgresql.aug21520644editdlrm
properties.aug23570644editdlrm
protocols.aug10800644editdlrm
puppet.aug15580644editdlrm
puppetfile.aug23270644editdlrm
puppetfileserver.aug31900644editdlrm
puppet_auth.aug20010644editdlrm
pylonspaste.aug23590644editdlrm
pythonpaste.aug20350644editdlrm
qpid.aug6700644editdlrm
quote.aug68710644editdlrm
rabbitmq.aug48040644editdlrm
radicale.aug15180644editdlrm
rancid.aug9270644editdlrm
redis.aug64390644editdlrm
reprepro_uploaders.aug56040644editdlrm
resolv.aug40820644editdlrm
rhsm.aug11300644editdlrm
rmt.aug7880644editdlrm
rsyncd.aug20170644editdlrm
rsyslog.aug33440644editdlrm
rtadvd.aug8540644editdlrm
rx.aug43030644editdlrm
samba.aug17550644editdlrm
schroot.aug18320644editdlrm
securetty.aug4500644editdlrm
semanage.aug8590644editdlrm
sep.aug13060644editdlrm
services.aug28870644editdlrm
shadow.aug24040644editdlrm
shells.aug7450644editdlrm
shellvars.aug123110644editdlrm
shellvars_list.aug17790644editdlrm
simplelines.aug11550644editdlrm
simplevars.aug14380644editdlrm
sip_conf.aug16510644editdlrm
slapd.aug53270644editdlrm
smbusers.aug7810644editdlrm
solaris_system.aug32280644editdlrm
soma.aug11670644editdlrm
spacevars.aug14490644editdlrm
splunk.aug16770644editdlrm
squid.aug163300644editdlrm
ssh.aug44930644editdlrm
sshd.aug42480644editdlrm
sssd.aug8610644editdlrm
star.aug9410644editdlrm
strongswan.aug16710644editdlrm
stunnel.aug22600644editdlrm
subversion.aug28170644editdlrm
sudoers.aug205570644editdlrm
sysconfig.aug25500644editdlrm
sysconfig_route.aug26150644editdlrm
sysctl.aug9230644editdlrm
syslog.aug75010644editdlrm
systemd.aug61540644editdlrm
termcap.aug10500644editdlrm
thttpd.aug13450644editdlrm
tinc.aug11030644editdlrm
tmpfiles.aug31570644editdlrm
toml.aug41750644editdlrm
trapperkeeper.aug41100644editdlrm
tuned.aug3870644editdlrm
up2date.aug22640644editdlrm
updatedb.aug11590644editdlrm
util.aug49630644editdlrm
vfstab.aug17560644editdlrm
vmware_config.aug7020644editdlrm
vsftpd.aug27850644editdlrm
webmin.aug12570644editdlrm
wine.aug19660644editdlrm
xendconfsxp.aug10970644editdlrm
xinetd.aug41200644editdlrm
xml.aug64810644editdlrm
xorg.aug106790644editdlrm
xymon.aug23140644editdlrm
xymon_alerting.aug62590644editdlrm
yaml.aug15810644editdlrm
yum.aug22400644editdlrm
Edit: /usr/share/augeas/lenses/dist/grub.aug (11311B)
(* Module: Grub Parses grub configuration Author: David Lutterkort About: License This file is licenced under the LGPL v2+, like the rest of Augeas. About: Lens Usage To be documented *) module Grub = autoload xfm (* This only covers the most basic grub directives. Needs to be *) (* expanded to cover more (and more esoteric) directives *) (* It is good enough to handle the grub.conf on my Fedora 8 box *) (************************************************************************ * Group: USEFUL PRIMITIVES *************************************************************************) (* View: value_to_eol *) let value_to_eol = store /[^= \t\n][^\n]*[^= \t\n]|[^= \t\n]/ (* View: eol *) let eol = Util.eol (* View: spc *) let spc = Util.del_ws_spc (* View: opt_ws *) let opt_ws = Util.del_opt_ws "" (* View: dels *) let dels (s:string) = Util.del_str s (* View: eq *) let eq = dels "=" (* View: switch *) let switch (n:regexp) = dels "--" . key n (* View: switch_arg *) let switch_arg (n:regexp) = switch n . eq . store Rx.no_spaces (* View: value_sep *) let value_sep (dflt:string) = del /[ \t]*[ \t=][ \t]*/ dflt (* View: comment_re *) let comment_re = /([^ \t\n].*[^ \t\n]|[^ \t\n])/ - /# ## (Start|End) Default Options ##/ (* View: comment *) let comment = [ Util.indent . label "#comment" . del /#[ \t]*/ "# " . store comment_re . eol ] (* View: empty *) let empty = Util.empty (************************************************************************ * Group: USEFUL FUNCTIONS *************************************************************************) (* View: command *) let command (kw:regexp) (indent:string) = Util.del_opt_ws indent . key kw (* View: kw_arg *) let kw_arg (kw:regexp) (indent:string) (dflt_sep:string) = [ command kw indent . value_sep dflt_sep . value_to_eol . eol ] (* View: kw_boot_arg *) let kw_boot_arg (kw:regexp) = kw_arg kw "\t" " " (* View: kw_menu_arg *) let kw_menu_arg (kw:regexp) = kw_arg kw "" " " (* View: password_arg *) let password_arg = [ command "password" "" . (spc . [ switch "md5" ])? . (spc . [ switch "encrypted" ])? . spc . store (/[^ \t\n]+/ - /--[^ \t\n]+/) . (spc . [ label "file" . store /[^ \t\n]+/ ])? . eol ] (* View: kw_pres *) let kw_pres (kw:string) = [ opt_ws . key kw . eol ] (* View: error * Parse a line that looks almost like a valid setting, but isn't, * into an '#error' node. Any line that starts with letters, but not * anything matching kw, is considered an error line. * * Parameters: * kw:regexp - the valid keywords that are _not_ considered an * error *) let error (kw:regexp) = let not_kw = /[a-zA-Z]+/ - kw in [ label "#error" . Util.del_opt_ws "\t" . store (not_kw . /([^a-zA-Z\n].*[^ \t\n])?/) . eol ] (************************************************************************ * Group: BOOT ENTRIES *************************************************************************) (* View: device * This is a shell-only directive in upstream grub; the grub versions * in at least Fedora/RHEL use this to find devices for UEFI boot *) let device = [ command "device" "" . Sep.space . store /\([A-Za-z0-9_.-]+\)/ . spc . [ label "file" . value_to_eol ] . Util.eol ] (* View: color *) let color = (* Should we nail it down to exactly the color names that *) (* grub supports ? *) let color_name = store /[A-Za-z-]+/ in let color_spec = [ label "foreground" . color_name] . dels "/" . [ label "background" . color_name ] in [ opt_ws . key "color" . spc . [ label "normal" . color_spec ] . (spc . [ label "highlight" . color_spec ])? . eol ] (* View: serial *) let serial = [ command "serial" "" . [ spc . switch_arg /unit|port|speed|word|parity|stop|device/ ]* . eol ] (* View: terminal *) let terminal = [ command "terminal" "" . ([ spc . switch /dumb|no-echo|no-edit|silent/ ] |[ spc . switch_arg /timeout|lines/ ])* . [ spc . key /console|serial|hercules/ ]* . eol ] (* View: setkey *) let setkey = [ command "setkey" "" . ( spc . [ label "to" . store Rx.no_spaces ] . spc . [ label "from" . store Rx.no_spaces ] )? . eol ] (* View: menu_entry *) let menu_entry = kw_menu_arg "default" | kw_menu_arg "fallback" | kw_pres "hiddenmenu" | kw_menu_arg "timeout" | kw_menu_arg "splashimage" | kw_menu_arg "gfxmenu" | kw_menu_arg "foreground" | kw_menu_arg "background" | kw_menu_arg "verbose" | kw_menu_arg "boot" (* only for CLI, ignored in conf *) | serial | terminal | password_arg | color | device | setkey (* View: menu_error * Accept lines not matching menu_entry and stuff them into * '#error' nodes *) let menu_error = let kw = /default|fallback|hiddenmenu|timeout|splashimage|gfxmenu/ |/foreground|background|verbose|boot|password|title/ |/serial|setkey|terminal|color|device/ in error kw (* View: menu_setting * a valid menu setting or a line that looks like one but is an #error *) let menu_setting = menu_entry | menu_error (* View: title *) let title = del /title[ \t=]+/ "title " . value_to_eol . eol (* View: multiboot_arg * Permits a second form for Solaris multiboot kernels that * take a path (with a slash) as their first arg, e.g. * /boot/multiboot kernel/unix another=arg *) let multiboot_arg = [ label "@path" . store (Rx.word . "/" . Rx.no_spaces) ] (* View: kernel_args Parse the file name and args on a kernel or module line. *) let kernel_args = let arg = /[A-Za-z0-9_.$\+-]+/ - /type|no-mem-option/ in store /(\([a-z0-9,]+\))?\/[^ \t\n]*/ . (spc . multiboot_arg)? . (spc . [ key arg . (eq. store /([^ \t\n])*/)?])* . eol (* View: module_line Solaris extension adds module$ and kernel$ for variable interpolation *) let module_line = [ command /module\$?/ "\t" . spc . kernel_args ] (* View: map_line *) let map_line = [ command "map" "\t" . spc . [ label "from" . store /[()A-za-z0-9]+/ ] . spc . [ label "to" . store /[()A-za-z0-9]+/ ] . eol ] (* View: kernel *) let kernel = [ command /kernel\$?/ "\t" . (spc . ([switch "type" . eq . store /[a-z]+/] |[switch "no-mem-option"]))* . spc . kernel_args ] (* View: chainloader *) let chainloader = [ command "chainloader" "\t" . [ spc . switch "force" ]? . spc . store Rx.no_spaces . eol ] (* View: savedefault *) let savedefault = [ command "savedefault" "\t" . (spc . store Rx.integer)? . eol ] (* View: configfile *) let configfile = [ command "configfile" "\t" . spc . store Rx.no_spaces . eol ] (* View: boot_entry entries *) let boot_entry = let boot_arg_re = "root" | "initrd" | "rootnoverify" | "uuid" | "findroot" | "bootfs" (* Solaris extensions *) in kw_boot_arg boot_arg_re | kernel | chainloader | kw_pres "quiet" (* Seems to be a Ubuntu extension *) | savedefault | configfile | module_line | map_line | kw_pres "lock" | kw_pres "makeactive" | password_arg (* View: boot_error * Accept lines not matching boot_entry and stuff them into * '#error' nodes *) let boot_error = let kw = /lock|uuid|password|root|initrd|rootnoverify|findroot|bootfs/ |/configfile|chainloader|title|boot|quiet|kernel|module/ |/makeactive|savedefault|map/ in error kw (* View: boot_setting * a valid boot setting or a line that looks like one but is an #error *) let boot_setting = boot_entry | boot_error (* View: boot *) let boot = let line = ((boot_setting|comment)* . boot_setting)? in [ label "title" . title . line ] (************************************************************************ * Group: DEBIAN-SPECIFIC SECTIONS *************************************************************************) (* View: debian_header Header for a -specific section *) let debian_header = "## ## Start Default Options ##\n" (* View: debian_footer Footer for a -specific section *) let debian_footer = "## ## End Default Options ##\n" (* View: debian_comment_re *) let debian_comment_re = /([^ \t\n].*[^ \t\n]|[^ \t\n])/ - "## End Default Options ##" (* View: debian_comment A comment entry inside a -specific section *) let debian_comment = [ Util.indent . label "#comment" . del /##[ \t]*/ "## " . store debian_comment_re . eol ] (* View: debian_setting_re *) let debian_setting_re = "kopt" | "groot" | "alternative" | "lockalternative" | "defoptions" | "lockold" | "xenhopt" | "xenkopt" | "altoptions" | "howmany" | "memtest86" | "updatedefaultentry" | "savedefault" | "indomU" (* View: debian_entry *) let debian_entry = [ Util.del_str "#" . Util.indent . key debian_setting_re . del /[ \t]*=/ "=" . value_to_eol? . eol ] (* View: debian A debian-specific section, made of lines *) let debian = [ label "debian" . del debian_header debian_header . (debian_comment|empty|debian_entry)* . del debian_footer debian_footer ] (************************************************************************ * Group: LENS AND FILTER *************************************************************************) (* View: lns *) let lns = (comment | empty | menu_setting | debian)* . (boot . (comment | empty | boot)*)? (* View: filter *) let filter = incl "/boot/grub/grub.conf" . incl "/boot/grub/menu.lst" . incl "/etc/grub.conf" . incl "/boot/efi/EFI/*/grub.conf" let xfm = transform lns filter