Ответ 1
Я бы не рекомендовал использовать для этого оболочку, так как Ansible имеет модуль apt, предназначенный именно для этой цели. Я подробно рассказал об использовании ниже.
В playbook вы можете обновлять и обновлять следующим образом:
- name: Update and upgrade apt packages
become: true
apt:
upgrade: yes
update_cache: yes
cache_valid_time: 86400 #One day
Значение cache_valid_time
можно опустить. Его назначение из документов:
Обновите кэш apt, если он старше, чем cache_valid_time. Этот опция устанавливается в секундах.
Поэтому полезно включить, если вы не хотите обновлять кэш, если он был обновлен только недавно.
Чтобы сделать это как специальную команду, вы можете выполнить:
$ ansible all -m apt -a "upgrade=yes update_cache=yes cache_valid_time=86400" --become
специальные команды описаны подробно здесь
Обратите внимание, что я использую --become
и become: true
. Это пример типичного повышения привилегий через Ansible. Вы используете -u user
и -K
(запросите пароль для повышения привилегий). Используйте то, что работает для вас, это просто, чтобы показать вам наиболее распространенную форму.