如何使用Ansible通过apt自动删除不需要的软件包依赖项
时间:2020-01-09 10:39:50 来源:igfitidea点击:
我正在尝试使用ansapt apt autoremove选项,但是它不起作用。
如何使用apt命令/apt-get命令删除所有未使用的Linux内核和不需要的软件包依赖性。
如何在Ansible的远程Ubuntu/Debian Linux服务器上运行sudo apt-get autoremove
?
要为Debian/Ubuntu和朋友管理apt软件包,请使用Ansible的apt模块。
autoremove用于删除为满足其他软件包的依赖关系而自动安装的软件包,由于依赖关系发生了变化或与此同时需要删除它们的软件包,因此不再需要它们。
为此,请按以下方式运行apt命令或apt-get命令:
$ sudo apt autoremove
或者
$ sudo apt-get autoremove
要在Debian/Ubuntu Linux上删除未使用的Linux内核,请使用:
$ sudo apt -y --purge autoremove ## 或者 $ sudo apt-get -y --purge autoremove
使用Ansible运行sudo apt-get autoremove
如下更新您的yml文件:
- name: Clean unwanted olderstuff apt: autoremove: yes purge: yes
其中:
autoremove
:如果是,请为除build-dep之外的所有模块状态删除未使用的依赖包。它也可以用作唯一选项。您必须使用Ansible 2.1版。purge
:如果模块状态设置为yes,这将强制清除配置文件。
这是我的vpn.yml文件:
-- - hosts: vpn become: true become_user: root tasks: - name: Updating host using apt apt: update_cache: yes upgrade: dist - name: Update kernel to spefic version apt: name: "{{ k_ver }}" state: latest - name: Clean unwanted olderstuff apt: autoremove: yes purge: yes
我的主机文件:
[vpn:vars] ansible_user=Hyman k_ver="linux-image-4.10.0-38-generic" [vpn] blr-vpn mum-vpn tx-vpn tok-vpn del-vpn lon-vpn
如下运行:
$ ansible-playbook -i hosts vpn.yml
或者
$ export ANSIBLE_HOSTS=~/opshelper/hosts $ ansible-playbook vpn.yml
关于在基于LXD的vm上运行apt autoremove的说明
您可以按照以下方式更新yml文件,以便在名为db,proxy和www的三个vm上运行相同的命令,如下所示:
- name: Run lxc apt-autoremove on cbz01 lxd host per vm command: /usr/bin/lxc exec {{ item }} -- /usr/bin/apt-get --purge -y autoremove with_items: - db - proxy - www