编辑lvm.conf文件的工具

时间:2019-05-23 22:16:40

标签: parsing automation config lvm

是否有任何 lvm.conf 编辑器?

我正在尝试设置 global_filter use_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工具,但它只能显示某些配置部分,而不能对其进行编辑。

2 个答案:

答案 0 :(得分:0)

如果使用Ubuntu变体,则可以使用LVM GUI来配置和管理LVM。请参阅this链接

答案 1 :(得分:0)

似乎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