编辑 lvm.conf 文件的工具

Tool for edit lvm.conf file

lvm.conf编辑吗?

我正在尝试设置 global_filteruse_lvmtad 和一些其他选项,目前正在使用 sed :

sed -i /etc/lvm/lvm.conf \
      -e "s/use_lvmetad = 1/use_lvmetad = 0/" \
      -e "/^ *[^#] *global_filter/d" \
      -e "/^devices {/a\        global_filter = [ \"r|/dev/drbd.*|\", \"r|/dev/dm-.*|\", \"r|/dev/zd.*|\" ]"

但是我不太喜欢这样,有没有更好的办法?

我只找到lvmconfig工具,但它只能显示某些配置部分,并且不能编辑它们。

如果您使用 Ubuntu 变体,那么您可以使用 LVM GUI 来配置和管理 LVM。参考 this link

看来 augtool 正是我要找的。

这两个包应该足以正确处理lvm.conf文件:

apt install augeas-tools augeas-lenses

用法示例:

augtool print /files/etc/lvm/lvm.conf

你应该在 stdout 上得到整个解析树。

如果解析器失败,您将得不到任何输出,使用以下方式打印错误消息:

augtool print /files/etc/lvm/lvm.conf/error

原始问题中 sed 命令的 augtool 等价物:

augtool -s <<EOT
set /files/etc/lvm/lvm.conf/global/dict/use_lvmetad/int "0"
rm /files/etc/lvm/lvm.conf/devices/dict/global_filter
set /files/etc/lvm/lvm.conf/devices/dict/global_filter/list/0/str "r|^/dev/drbd.*|"
set /files/etc/lvm/lvm.conf/devices/dict/global_filter/list/1/str "r|/dev/dm-.*|"
set /files/etc/lvm/lvm.conf/devices/dict/global_filter/list/2/str "r|/dev/zd.*|"
EOT