簡體   English   中英

從另一個版本重新安裝deb軟件包

[英]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-cacheapt-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM