Augeasを用いた設定ファイル群の編集はコマンドラインから直接実行できるが、あるいはこうした機能をネイティブのC APIおよび、Python、Ruby、OCamlのバインディングを用いてその他のプログラムに組み込むことも可能になっている。Augeasの入手法に関しては、Fedora 9の標準リポジトリに収録されている他、openSUSE 10.3については1-Clickインストールができるようになっているが、現状でUbuntu用のパッケージは用意されていない。私の場合は、64ビット版Fedora 8マシン上で「./configure; make; sudo make install」という通常のインストール手順にてソースコードからコンパイルしたAugeasバージョン0.1.1を使用している。
なお上記の./configureを実行してから(READMEに示してあるように)Augeasをセットアップしても最初は上手く行かないはずで、それは設定ファイル群の認識にAugeasが使用するファイル群は/usr/localにインストールされているのに、実際には/usrを検索するためだ。こうした設定ファイルの認識法を規定しているのはレンズ(lens)と呼ばれているファイル群であり、ここではこれらlensファイル群についてもう少し説明することにしよう。先の通常インストールにて発生する問題を解決するには、下記に示したようにAUGEAS_LENS_LIBに正しいパスをエクスポートすればいい。ここではまず下記の実行例における1つ目のlsコマンドにて、ファイルディレクトリが何も出力されていない点に注目して頂きたい。
$ augtool augtool> ls Not enough arguments for ls augtool> ls / augeas/ = (none) augtool> $ export AUGEAS_LENS_LIB=/usr/local/share/augeas/lenses $ augtool augtool> ls / augeas/ = (none) files/ = (none)
Augeasの認識した設定ファイル群の表示は、一種の仮想的なファイルシステムを2つ介して行われるようになっている。つまり/filesのパスでは設定ファイル群、そして/augeasではメタデータが表示されるのであり、例えば/etc/hostsのファイル群はAugeasにおいて/files/etc/hostsという扱いにされる。
Augeasでサポートされているのは、aliases、aptsources、fstab、grub、hosts、ifcfg、inittab、pam、sshd、sysconfig、xinetd、yumの設定ファイルフォーマットである。その他の独自フォーマットの設定ファイルをAugeasで編集したい場合は、lensと呼ばれる機構を利用しなければならない。既にテキスト構文解析およびExtended Backus-Naur Form(EBNF)についての知識を有すユーザであれば、各自の設定ファイルに応じたAugeas用のlensファイルを作成するのはそれほど難しくないはずだが、EBNFに詳しくないユーザがlensファイルを作成するには、テキストの構文解析(parsing)と形式文法(formal grammar)に関する何らかの入門書に目を通しておかなくてはならないだろう。こうした標準的なEBNFの定義法とAugeas用lensの記述法を比べた場合、両者の間に存在する基本的な相違点の1つは、lensの用途は特定のテキストファイルを抽象構文木(abstract syntax tree)に変換する構文解析だけでなく、そうして取得した構文木からプレインテキストファイルへの再変換という双方向の処理に使用するという点である。
これはAugeasのダウンロードページにも記載されている注意事項だが、現行のAugeasは未だ試作段階であるため、ここで編集した設定ファイルが損傷する可能性を想定しておかなくてはならない。そのためコマンドラインツールには、こうした事態に備えた“バックアップ”オプション、つまり変更を加える設定ファイルを別途保管しておく機能が用意されているのである。またこの機能を用いると“/”以外をシステムルートディレクトリとした状態でAugeasを実行させることもできる。この機能を使うと、例えば/tmp/augeas-root/etc/hostsなどの指定で各自の設定ファイルを一般ユーザの権限にてコピーしておき、このファイルに施した変更に問題がないかを一通りチェックしてから、変更後のファイルを改めて/etc/hostsにコピーし直すという処理ができる。
