【发布时间】:2020-05-23 13:33:11
【问题描述】:
我正在修改 /boot/cmdline.txt 以将容器功能添加到 Raspberry Pi,因此我需要将 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory 添加到文件中,在同一行内。
我正在尝试使用 lineinfile 模块来做这件事,但没有取得多大成功:
- hosts: mypi
become: yes
tasks:
- name: Enable container features
lineinfile:
path: /boot/cmdline.txt
regex: " cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
line: " cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory"
insertafter: EOF
state: present
我一直在尝试将insertafter 修改为 BOF,也使用insertbefore,使用正则表达式来匹配最后一个单词......但它最终添加了一个回车。我一直找不到不添加新行的方法。
【问题讨论】:
-
我不太明白。您想将这三个值添加到文件第一行的开头吗?
-
我不介意。如果您检查 /boot/cmdline.txt 它只是在同一行中包含键值对,所以我不介意它们是在最后还是在开头。唯一的要求是它们应该是空白的。这是我的 Pi 示例:
console=serial0,115200 console=tty1 root=PARTUUID=ea7d04d6-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait -
文件中只有一行?
标签: ansible