[英]Reinstall deb package from another release
我需要從另一個目標版本中重新安裝軟件包。 問題是,如果已安裝軟件包,則不會采取任何措施。 我的劇本片段是:
- name: Add jessie-backports repo
apt_repository:
repo: 'deb http://httpredir.debian.org/debian jessie-backports main'
state: present
- name: install libssl from jessie-backports
apt:
name: libssl1.0.0
default_release: jessie-backports
答案是:
ptmp3 | SUCCESS => {
"cache_update_time": 1493744770,
"cache_updated": true,
"changed": false,
"invocation": {
....
}
}
我可以在安裝新版本之前刪除舊版本,但是整個軟件包都取決於libssl
(例如ssh
)。
Btw命令apt-get install libssl1.0.0 -t jessie-backports
在遠程主機上運行,並且libssl已更新
解決方案是在apt任務中包括要安裝的軟件包的確切版本。 可以通過apt-cache
( apt-cache policy libssl1.0.0
)檢索確切的版本。
適當的劇本塊是:
- name: Add jessie-backports repo
apt_repository:
update_cache: yes
repo: 'deb http://httpredir.debian.org/debian jessie-backports main'
state: present
- name: get libssl1.0.0 jessie-backports version
shell: apt-cache policy libssl1.0.0 | grep jessie-backports -B1 | head -n1 | sed -e 's/^\s*\**\s*\(\S*\).*/\1/'
register: libsslinstalled
- name: install libssl from jessie-backports
apt:
name: "libssl1.0.0={{ libsslinstalled.stdout_lines[0] }}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.