私はUbuntuクリーナーのyamlを持っています
---
- name: Clean up system files
hosts: pc
remote_user: user
become: yes
vars:
ansible_become_password: "{{ vault_password }}"
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.command:
cmd: apt-get clean
- name: Remove unused packages and dependencies
ansible.builtin.apt:
autoremove: yes
autoclean: yes
- name: Remove old compressed log files
ansible.builtin.find:
paths: "/var/log"
patterns: "*.gz"
age: "1w"
recurse: no
register: log_files
- name: Delete old compressed log files
ansible.builtin.file:
path: "{{ item.path }}"
state: absent
loop: "{{ log_files.files }}"
when: log_files.files|length > 0
- name: Remove thumbnail cache
ansible.builtin.file:
path: "~/.cache/thumbnails/*"
state: absent
- name: Remove old snap revisions
ansible.builtin.shell: |
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
args:
executable: /bin/bash
ansible-vaultパスワードを生成し、ファイルにパスワードを入力しました。ただし、セマフォ権限拒否エラーが発生します。
答え1
世界中で使用していますbecome: yes
。私はこれをお勧めしませんが、すべての作業に使用します。もちろん、すべてのタスクにsudo権限が必要な場合は除外されます。
ここで:
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.command:
cmd: apt-get clean
使いたいかもしれませんansible.buildin.aptモジュール。また、次の権限で実行する必要があります。
tasks:
- name: Clean apt cache using apt-get
ansible.builtin.apt:
clean: True
become: True
また、いくつかの概念が混乱する可能性がある場合:
やるべきansible_become_password
ものとは違うものでなければなりませんvault_password
。
ansible_become_password
代わりに、希望するユーザーのパスワードです(参照:権限昇格n)これは、vault_password
Ansible Vaultに保存されているユーザーの実際のパスワードを復号化するために使用するパスワードです。