The class Augeas provides bindings to Augeas library.
To build the bindings, which unfortunately includes installing them from a
gem, you need to have Augeas and its header file installed as well as
pkg-config
.
On Fedora, you can do that simply by running
dnf install augeas-devel pkgconfig
On MacOS (OSX), you need to set up Homebrew and then run
brew install augeas pkg-config
Build the ruby gem by running
rake build
rake test
rake gem
The output is pkg/ruby-augeas-VERSION.gem
Build the rpm package (optional) in the pkg/ subdirectory
rake rpm
The output is pkg/ruby-augeas-VERSION-1.DIST.src.rpm with binary packages in pkg/$(uname -m)
Create html documentation using rdoc
rake rdoc
The output is in doc/site/api/ The starting document is doc/site/api/index.html
Augeas::open do |aug|
aug.set("/files/etc/sysconfig/firstboot/RUN_FIRSTBOOT", "YES")
unless aug.save
raise IOError, "Failed to save changes"
end
end
firstboot = Augeas::open { |aug| aug.get("/files/etc/sysconfig/firstboot/RUN_FIRSTBOOT") }
Augeas::open do |aug|
aug.rm("/files/etc/sysconfig/firstboot/RUN_FIRSTBOOT")
unless aug.save
raise IOError, "Failed to save changes"
end
end
By passing NO_MODL_AUTOLOAD
, no files are read on startup; that allows
setting up a custom transform.
Augeas::open("/var/tmp/augeas-root", "/usr/local/share/mylenses",
Augeas::NO_MODL_AUTOLOAD) do |aug|
aug.transform(:lens => "Aliases.lns", :incl => "/etc/aliases")
aug.load
aug.get("/files/etc/aliases/*[name = 'postmaster']/value")
end