Augeas 與 Puppet 管理設定檔

2019-06-30 OS, Puppet

這篇的主角是 Augesa 這個工具,Puppet 只是配角,原因是 Puppet 管理設定檔有一部分採用了 Augeas 這個強大的工具。

原生 Puppet 管理檔案使用 File 管理的是整個檔案內容,但是在某種情況下僅需要管理單一行設定,之前其實有介紹過 file_line 這個由 Puppet 官方開發的 Module,除此之外 Puppet 就是利用 Augeas 這個工具來管理「單行設定」。

Augesa 的核心有一部分是使用 Stock lenses 來參考設定檔的資訊,大部分在 Linux 上的設定檔都可以在 Stock lenses 找到,自定義的 xml、JSON、ini 也都可以管理。

安裝 Augeas 參考官方文件,一般需要兩個套件

  • augeas-tools
  • augeas-lenses

在這篇提供幾種使用情境

使用 ag command line 管理 json 檔案

  • 使用 Set 先把 Json 的 lenses 和要管理的 settings.json 讀進來
  • augeas print 測試讀 setting.json 是否正常

使用 ag command line 管理 /etc/yum.repo.d/epel.repo 檔案

  • 因為 agueas 剛好有支援 Yum.lns 格式就直接 Set 讀進來
  • augeas print 測試讀 epel.repo 是否正常

在 EPEL 這個 yum repository 加一筆 includepkgs=ossec-hids*

augease save 後就會寫入檔案。

使用 Puppet augeas 移除 /opt/tomcat/conf/server.xml 內建的 Value 參數。

結論

augeas 更好用的地方是在 Shell Script,不需要利用 sed、egrep 等工具 filter

如果是 Puppet 來說,file_line、augeas 兩者的選擇需要照情境來選擇。

參考:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱

%d 位部落客按了讚: