ก่อนหลายตอบแทนการใช้ Ansible

0

คำถาม

ผมพยายามจะจับหลายแทนการใช้ ansible-สมุดของแต่มันไม่ทำงานกับฉัน.

ใช้ด้านล่างรหัสมันถือคนแรกล่องแล้วช่วย-หยุดอยู่ตรงนั้นงั้นไว้ที่สองแพกเกจ

นี่คือรหัสของฉัน

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

นี่คือผลส่งออกจากเซิร์ฟเวอร์ด้านข้างขณะที่รหัสระหว่างประมวลผล enter image description here เส้นแรกของกรอบระหว่างประมวลผลก่อน ที่สองคือการส่งออกตอนแรกล่องนั่นถูกจั คนที่สามเส้นเมื่อตอนที่สองแพกเกจถูกจับและมันคือ stoped

ฉันไม่เข้าใจว่าทำไมพฤติกรรมเป็นแบบนั้น? และฉันสามารถจับหลายแทงที่ใช้ ansible?

ข้อควรจำ:ฉันอยู่แล้วตามที่ instruction จาก 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

ดังนั้นมันอาจจะเป็นศูนย์ควบคุม kde ในโมดูลที่ไม่สามารถจัดการรายชื่อดังนั้นฉันเคยมองเข้าไปใน แหล่งข่าว dpkg_selections.py. มันดูเหมือนว่าจะมีบางอย่างง่าย wrapper

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

ซึ่งแค่ให้ข้อมูลสำหรับโมดูล ฉันก็สันนิษฐานว่าเป็นศูนย์ควบคุม kde ในโมดูลควรทำงาน with_itemsแต่มันดูเหมือนจะไม่ใช่คดีเพราะคำถามของนาย

ตามชายคนหน้าที่ขอสั่ง dpkg ตัวมันเองดูเหมือนว่าจะสามารถจัดการห่อของรายการแต่เตรียมไว้ให้เป็นอักขระค่าแยกกันอแฟ้ม

dpkg --set-selections < /tmp/pkg_list

กับตัวแบ่งเขตด้านซ้าย ในรูปแบบ

postgresql hold
docker hold

ง่ายๆ workaround จะช่วยในคดีของคุณ

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

คุณอาจต้องดำเนิบาเกิดข้อผิดพลาดและสถานะการจัดการด้วยตัวเอง i.e.

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

ต้องขอบคุณ

2021-11-24 09:45:32

ไม่มีรูปแบบการสั่งงานผิดพลาด`"msg":"dpkg:เกิดข้อผิดพลาด:ข้อมูลที่ไม่คาดคิดหลังจากแพกเกจและการเลือกที่บรรทัด 1","rc":2,"การแจ้งข้อความผิดพลาด":"dpkg:เกิดข้อผิดพลาด:ข้อมูลที่ไม่คาดคิดหลังจากแพกเกจและการเลือกที่บรรทัด 1 ค่ะ","stderr_lines":["dpkg:เกิดข้อผิดพลาด:ข้อมูลที่ไม่คาดคิดหลังจากแพกเกจและการเลือกที่บรรทัด 1"],"stdout":"","stdout_lines":[]`
Sara

@ซาร่าห์ขอบคุณสำหรับในกรณีที่ลอมผลตรวจเลือดผมปรับปรุงคำตอบกว่านี้ละกัน
U880D

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่