我在 /etc/yum.conf 中的 yum 排除列表中添加了一些软件包,我想从排除列表中删除特定的软件包
例子:
排除=java* 排除=内核* java* 排除=java* 内核* 排除=内核* abc* java* def*
我尝试添加#,但这没有达到目的,并且为所有排除语句添加了注释。
- name: Comment Java exclusion
replace:
path: /etc/yum.conf
regexp: '(.*java*)'
replace: '#\1'
增加了更多案例场景。
答案1
将其替换为空字符串。
- name: Comment Java exclusion
replace:
path: /etc/yum.conf
regexp: '(java\*\s*)'
replace: ''
对正则表达式的更改:
.*
也会删除exclude=
,所以我删除了它- 需要
*
转义,它是一个正则表达式修饰符 - 添加
\s*
以删除尾随空格
编辑
甚至更好:
- name: Comment Java exclusion
replace:
path: ~/ansible/test.blah
regexp: '^(exclude=.*)java\*\s*'
replace: '\1'
这确保只有以 开头的行exclude=
会受到影响,并且即使java*
不是列表中的第一个项目也能正常工作。