पकड़ कई संकुल का उपयोग कर Ansible

0

सवाल

मैं कोशिश कर रहा हूँ पकड़ करने के लिए कई संकुल का उपयोग कर ansible-playbook लेकिन यह काम नहीं करता है मेरे साथ.

का उपयोग कर नीचे दिए गए कोड में यह मानती है पहले पैकेज तो संयुक्त राष्ट्र-पकड़ यह पकड़ तो दूसरा पैकेज

यहाँ है मेरे कोड

- name: Prevent packages from being upgraded
  dpkg_selections:
    name: "{{ item }}"
    selection: hold
  with_items:
    - postgresql
    - docker

यहाँ से उत्पादन सर्वर साइड जबकि कोड निष्पादित enter image description here पहली पंक्ति को क्रियान्वित करने से पहले दूसरी लाइन है जब उत्पादन के पहले पैकेज था पकड़ तीसरी लाइन जब दूसरे पैकेज में आयोजित किया गया था और यह है stoped

मैं क्यों समझ में नहीं आता के व्यवहार की तरह है कि? और कैसे कर सकते हैं मुझे पकड़ कई संकुल एक समय में का उपयोग कर ansible?

नोट: मैं पहले से ही के बाद से शिक्षा Anible डॉक्टर https://docs.ansible.com/ansible/latest/collections/ansible/builtin/dpkg_selections_module.html धन्यवाद अग्रिम में

ansible linux
2021-11-23 19:10:07
1

सबसे अच्छा जवाब

1

पहले से ही प्रदर्शन के लिए और संसाधन कारणों के लिए, उपलब्ध कराने के संकुल सूची के रूप में बेहतर हो सकता है.

- name: Prevent packages from being upgraded
  dpkg_selections:
    name: ['postgresql', 'docker']
    selection: hold

हालांकि, अपने परीक्षण रिपोर्ट

dpkg: error: unexpected data after package and selection

इसलिए यह हो सकता है कि मॉड्यूल संभाल नहीं कर सकते हैं की सूची है, तो मैं एक नज़र में स्रोत dpkg_selections.py. यह करने के लिए लगता है हो सकता है एक किसी भी तरह सरल आवरण

module.run_command([dpkg, '--set-selections'], data="%s %s" % (name, selection), check_rc=True)

जो सिर्फ जानकारी उपलब्ध कराने के लिए एक मॉड्यूल है । मैं भी मान मॉड्यूल काम करना चाहिए with_itemsहै , लेकिन यह नहीं हो रहा है मामले की वजह से अपने सवाल.

के अनुसार आदमी पृष्ठों, के आदेश dpkg खुद के लिए लगता है में सक्षम हो सकता है संभाल करने के लिए एक पैकेज की सूची है, लेकिन के रूप में प्रदान चरित्र अलग मूल्य फाइल

dpkg --set-selections < /tmp/pkg_list

सीमांकक के साथ प्रारूप में

postgresql hold
docker hold

एक सरल समाधान में मदद कर सकता है आपके मामले.

- name: Prevent packages from being upgraded
  shell:
    cmd: |
      dpkg --set-selections << EOF
      postgresql hold
      docker hold
      EOF
    warn: false
    register: result

आप की आवश्यकता हो सकती है को लागू करने के लिए कुछ त्रुटि और स्थिति से निपटने के द्वारा अपने आप को, यानी

changed_when: result.rc ...
failed_when: result.rc ...

करने के लिए धन्यवाद

2021-11-24 09:45:32

कोई सिंटैक्स त्रुटि ` "msg": "dpkg: त्रुटि: अनपेक्षित डेटा पैकेज के बाद और चयन पर लाइन 1", "आर सी": 2, "stderr": "dpkg: त्रुटि: अनपेक्षित डेटा पैकेज के बाद और चयन पर लाइन 1\n", "stderr_lines": [ "dpkg: त्रुटि: अनपेक्षित डेटा पैकेज के बाद और चयन पर लाइन 1" ], "stdout": "", "stdout_lines": [] `
Sara

@सारा, धन्यवाद प्रदान करने के लिए परीक्षण के परिणाम, मैं अद्यतन तदनुसार जवाब.
U880D

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में