在 Ubuntu 上,我想通過 Ansible 使用命令“do-release-upgrade”升級作業系統,但它有無法避免的提示。
有沒有辦法使用 Ansible 來回答運行 Ansible 腳本的用戶的提示?
我們有幾個服務器無法通過 SSH 訪問,但使用 Ansible 可以。
服務器在 Ubuntu 16.04 上,所有服務器都需要升級到 Ubuntu 20.04。
在這個程序中有很多不可避免的提示。
uj5u.com熱心網友回復:
有沒有一種方法可以使用 ansible playbook,它可以讓運行 ansible 腳本的用戶在 shell 腳本提示下回答?
您可以使用expect 模塊。例子:
- name: Upgrading Software
expect:
command: do-release-upgrade
responses:
'First Question in the prompt' : 'y'
'Second Question in the prompt' : 'y'
但是,您希望在沒有提示的情況下執行 do-release-upgrade。
- command: do-release-upgrade -f DistUpgradeViewNonInteractive
請注意:
- 確保在升級前備份到位
- 確保所有軟體包都是最新版本
- 確保安裝了 update-manager-core
- 確保在 do-release-upgrade 后重新啟動機器
另外,請閱讀我的第一條評論。由于您沒有與機器的 SSH 連接,因此很難除錯并查看出現問題的情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/378278.html
