Score:0

พฤติกรรมแปลก ๆ ของ dpkg ด้วย ansible

ธง in
Aki

เป็นส่วนหนึ่งของเวิร์กโฟลว์ของฉัน ฉันใช้เซิร์ฟเวอร์ Ubuntu 20.04.3

ดังนั้นฉันจึงเตรียมอิมเมจสำหรับ VM และปรับใช้โดยใช้ Ansible

เนื่องจากเป็น env ที่ไม่มีการเข้าถึงอินเทอร์เน็ต แพ็คเกจทั้งหมดที่ฉันติดตั้งจึงดาวน์โหลด .deb ไว้ก่อนหน้านี้ โดยดำเนินการคำสั่งเชลล์อย่างง่าย:

dpkg -i deb_1.deb deb_2.deb deb_3.deb deb_4.deb 
dpkg -i deb_5.deb deb_6.deb deb_7.deb deb_8.deb 

บางครั้งประมาณ 5% ของกรณี ฉันได้รับข้อผิดพลาดนี้เป็นระยะๆ อาจเกิดขึ้นได้ในการติดตั้งครั้งแรก

"stderr_lines": ["dpkg: ข้อผิดพลาด: การล็อกส่วนหน้า dpkg ถูกล็อกโดยกระบวนการอื่น",
"E: กระบวนการย่อย dpkg --set-selections ส่งคืนรหัสข้อผิดพลาด (2)", "E: การดำเนินการ dpkg ล้มเหลว คุณรูตไหม"]

ฉันได้พยายามแก้ไขปัญหานี้โดย:

  1. รายการ

ก่อนการติดตั้งแต่ละขั้นตอน ให้ดำเนินการลบไฟล์ล็อกด้วยตนเอง

  • /var/lib/dpkg/lock
  • /var/lib/dpkg/lock-frontend
  • /var/cache/apt/archives/lock

แต่แม้หลังจากการลบด้วยตนเอง ข้อผิดพลาดยังคงปรากฏขึ้น

  1. พยายามติดตั้งแพ็คเกจด้วยโมดูล Ansible apt และ "deb" arg - แต่ลักษณะการทำงานเหมือนกัน

  2. พยายามหาว่ากระบวนการใดเป็นเจ้าของไฟล์ล็อคด้วย "lsof" แต่กระบวนการใดไม่ได้เป็นเจ้าของไฟล์

มีวิธีแก้ไขพฤติกรรมที่แปลกประหลาดและบั๊กนี้หรือไม่?

กระบวนการใดที่รับผิดชอบในการสร้างไฟล์ล็อคในบางครั้งเมื่อเริ่มต้นระบบ

Score:0
ธง cn

คำตอบอยู่ในข้อความ:

การดำเนินการ dpkg ล้มเหลว คุณเป็นคนราก?

คุณต้องใส่ ซูโด หน้าคำสั่งเมื่อแก้ไขตำแหน่งที่ระบบเป็นเจ้าของ

Aki avatar
in flag
Aki
ฉันกำลังเรียกใช้คำสั่งทั้งหมดด้วยสิทธิ์ sudo' ฉันยังบอกด้วยว่าข้อผิดพลาดนี้เกิดขึ้นไม่บ่อย และในกรณีส่วนใหญ่ก็ใช้งานได้ ดังนั้นนี่จึงไม่ใช่ปัญหาที่เกี่ยวข้องกับการอนุญาต ขออภัย
cn flag
dpkg ดูเหมือนจะคิดว่าคุณไม่ใช่ ดังนั้นคุณอาจต้องตรวจสอบวิธีการตั้งค่า sudo: คุณละเว้นไว้หน้าคำสั่ง ค่อนข้างอันตรายหากคุณเพิ่ม dpkg ลงในไฟล์ sudoers ซึ่งจะไม่อนุญาตให้คุณดำเนินการคำสั่งภายในแพ็คเกจ
Aki avatar
in flag
Aki
ฉันเข้าสู่ระบบในฐานะผู้ใช้รูท ดังนั้นจึงไม่จำเป็นต้องใช้ sudo
cn flag
Ubuntu ไม่ได้รับการตั้งค่าให้ใช้เป็นรูทและอาจเป็นผลข้างเคียงได้ เมื่อคุณได้รับข้อผิดพลาดนี้ ให้ส่งไปยังผู้ดูแลระบบและใช้ `sudo` กับ dpkg` หากได้ผล แสดงว่าคุณพบสาเหตุของปัญหา หากคุณต้องการใช้ root คุณสามารถเปลี่ยนไปใช้ Debian ได้ ความคิดเห็นที่คุณให้ไว้เป็นข้อมูลที่สำคัญและควรอยู่ในคำถาม และฉันอาจเพิกเฉยต่อคำถามก็ได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา