问题标签 [augeas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
243 浏览

ruby - 如何安装 ruby​​-augeas gem?(macOS 莫哈韦)

我昨天大部分时间都在寻找安装 ruby​​-augeas 的明确答案。我找不到好的解决方案。

我该如何安装它?

安装时的错误:

我也安装了 brew install augeas pkg-config,但它显示同样的错误。

0 投票
1 回答
658 浏览

bash - 找到匹配项时使用 sed(或 awk)在 fstab 中添加条目

我需要编辑 /etc/fstab 中的行并将 fsoptions 添加/更改到找到匹配卷的行。我曾尝试使用 sed 并将找到的块放入寄存器中以将它们放回原处,但我发现这是一个挑战。也许 sed 不是最好的工具 - 我尝试了 augeas,虽然它附加了它并没有替换,并且如果找不到匹配的行但需要添加它也会失败(例如,只能使用“mount”命令,如 /dev /shm)。

例如,如果 /etc/fstab 有一行:

我想成功

  1. 请注意,第一个块中的卷组可以是任何名称
  2. 字符串中的 KEYWORD 将(在此示例中)为 /tmp(但注意不要匹配 /var/tmp,除非指定)
  3. 文件系统可以是任何东西(不一定是 xfs)
  4. 任何存在的 'exec' 或 'suid' (例如)都需要被替换(如果存在),即使不存在,也需要插入 'noexec' 或 'nosuid'。
  5. 需要保留尾随的“0 0”。

我确定我错过了一种简单的方法来做到这一点。使用 'mount -o remount,noexec /tmp' 不会写入 /etc/fstab 所以我想使更改持久化的唯一方法是直接编辑 /etc/fstab?

我实际上打算将解决方案包装在 Puppet 中。下面的 augeas 示例在 2 个方面失败:

  • 如果 /etc/fstab 中不存在一行(例如 /dev/shm),则会失败

  • 如果一行存在并且有'exec',它会附加'noexec'但也离开exec

    }

0 投票
1 回答
160 浏览

xml - 使用 Augeas 将新节点添加到 XML 文件

我有这个 XML 文件/opt/webapp/config.xml用于包含父节点items的自定义 webapp 。

我正在尝试添加具有属性值的新子节点列表,同时确保子节点不包含结束/结束标记,因为应用程序需要该格式。

如果我要使用 augtool 打开现有配置,我将得到以下输出。

我在这里这里发现了一些讨论 xml 和 Augeas 的帖子,但这些示例遵循带有开始和结束标记的格式。例如:<item value="application/rar"></item>。而且我正在尝试找到一种方法来查看 Augeas 是否也可以创建和添加仅具有自闭合标签的子节点。

我在 RHEL 7 上使用 puppet agent 5.5.10 附带的 augtool(版本 1.10.1)。

谢谢你。

0 投票
1 回答
159 浏览

xml - 使用 Augeas 在 XML 中添加新行和制表符

这与我之前使用 Augeas 更新 xml的帖子有关。我手动调整了格式,并能够查看在 augtool 中如何添加和解析新行和选项卡。我尝试添加这些新行,但无法在项目节点和子项目节点之间插入每个#text行。是否可以通过为items/#text设置新变量来添加新的行和选项卡?

使用 Augeas 插入这些字符是否可行?

我在下面有这样的东西来插入一个新行,但它似乎没有工作,只添加了一个文字换行符和制表符。

这将导致更糟糕的情况。

0 投票
1 回答
169 浏览

bash - remove multiple line from /etc/hosts using augtool

My /etc/hosts look like this:

I can query duplicated lines by query below:

or either use regex

But I can't remove these matched lines with a simple rm

The problem is, augtool just removes the canonical leaf from the node and ipaddr remains. it cause the save function to returns error. I don't want to use bash script and I try to solve the problem with augeas itself. Assist, please...

P.S. I couldn't find a complete tutorial or document for this useful tool. I would be thankful is someone can propose a good document. I've searched all the web and just found a few simple examples.

0 投票
1 回答
105 浏览

macos - 带有 xs 的 Perl 模块 Config::Augeas 不会安装在 Big Sur 上

在我的带有 Catalina (10.15.6) 的 iMac 上,我安装了 augeas brew 软件包,然后毫无问题地安装了 perl 模块“Config::Augeas”。在大苏尔,我没有取得同样的成功。安装 brew 包然后执行“cpanm Config::Augeas”后,我在构建日志中得到以下输出:

两台机器都在运行 perlbrew(尽管 perl 版本不同)。我认为 perl 的版本不是问题,Big Sur 更有可能做了一些 perl 模块不喜欢的更改。有任何想法吗?