ธง dpkg ต่างๆเช่น 'ii' 'rc' หมายถึงอะไร


92

ฉันต้องตรวจสอบแพ็คเกจที่ติดตั้งบ่อยครั้งและฉันใช้คำสั่งต่อไปนี้:

dpkg -l | grep foo

ซึ่งให้ผลลัพธ์ต่อไปนี้

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version         Description
ii   foo                       <version>         <description>
  1. อะไรiiหมายความว่าอย่างไร
  2. มีธงอื่น ๆ อีกบ้าง?
  3. อ่านธงอย่างไร? (เนื่องจากคำอธิบายค่อนข้างซับซ้อน IMO)

ขอบคุณ

คำตอบ:


127

จะหาข้อมูลนี้ได้จากที่ไหน

คุณสามารถค้นหาข้อมูลนี้ได้ที่ส่วนหัวของเอาต์พุต dpkg -l เนื่องจากเป็นเพียงรูปแบบการจัดรูปแบบ:

dpkg -l | head -3

คัดลอกมาที่นี่เพื่อการอ้างอิง:

Desired=Unknown/Install/Remove/Purge/Hold                                     
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)                    

คำอธิบายของแต่ละฟิลด์

อย่างที่คุณเห็นจากสามบรรทัดแรก:

อักษรตัวแรก -> สถานะแพ็คเกจที่ต้องการ ("สถานะการเลือก"):

  • คุณ ... ไม่ทราบ
  • ฉัน ... ติดตั้ง
  • r ... ลบ / ยกเลิกการติดตั้ง
  • p ... ล้าง (ลบรวมถึงไฟล์ปรับแต่ง)
  • h ... ถือไว้

ตัวอักษรที่สอง -> สถานะแพ็คเกจปัจจุบัน:

  • n ... ไม่ได้ติดตั้ง
  • ฉัน ... ติดตั้งแล้ว
  • c ... config-files (ติดตั้งเฉพาะไฟล์ config)
  • คุณ ... ไม่ได้แพ็ค
  • F. .. กำหนดค่าครึ่งหนึ่งแล้ว (การกำหนดค่าล้มเหลวด้วยเหตุผลบางประการ)
  • ชั่วโมง ... ติดตั้งครึ่งหนึ่ง (การติดตั้งล้มเหลวด้วยเหตุผลบางประการ)
  • W. ... ทริกเกอร์ที่รอ (แพคเกจกำลังรอทริกเกอร์จากแพ็คเกจอื่น)
  • เ ... ทริกเกอร์รอดำเนินการ (แพ็คเกจถูกทริกเกอร์)

ตัวอักษรที่สาม -> สถานะข้อผิดพลาด (ปกติคุณไม่ควรเห็นตัวอักษรตัวที่สาม แต่จะเว้นวรรคแทน):

  • R ... จำเป็นต้องเริ่มต้นใหม่ (แพคเกจใช้งานไม่ได้ต้องติดตั้งใหม่)

2
(แถบแนวตั้งและเครื่องหมายสแลชในบรรทัดที่สอง, สามและสี่ของส่วนหัวคือ "ลูกศร" ที่ชี้ไปที่คอลัมน์แรก, ที่สองและสามเพื่อช่วยให้คุณถอดรหัสสิ่งที่ htorque ได้อธิบายในเชิงลึกมากขึ้น)
Ubuntourist

1
ฉันจะอ่านรายการนี้ได้ที่ไหน ฉันลอง man dpkg แต่มันไม่อยู่ที่นั่น
Fabrizio Regini

1
@FabrizioRegini ลองอีกครั้งมันอยู่ที่ด้านบนสุดของหน้า dpkg ของผู้ชาย (ส่วน "ข้อมูลเกี่ยวกับแพ็คเกจ") :)
htorque

มันอยู่ที่ไหนในหน้า man dpkg แสดงความหมายของ 'ii', 'if' และอื่น ๆ ?
pmatulis

1
@FabrizioRegini man dpkg-queryRun
jarno

27

อักษรตัวแรกจะแสดงสถานะที่คาดหวังของแพ็คเกจ
ตัวอักษรตัวที่สองแสดงสถานะปัจจุบันของแพ็คเกจ

ตัวอย่างเช่น:

iiหมายถึง 'ควรติดตั้งและติดตั้ง' ในขณะที่
rc'ลบ / ถอนการติดตั้ง แต่มันยังคงมีไฟล์การกำหนดค่า'


1
ดังนั้นปลอดภัยที่จะลบไฟล์การกำหนดค่าของเคอร์เนลที่มีแท็ก rc?
ดาวอังคารลี

10

เนื่องจากตัวแทนของฉันเหลือน้อยฉันไม่สามารถแสดงความคิดเห็นเพื่อตอบคำถามที่ผู้คนมีเกี่ยวกับสถานที่ที่จะรับข้อมูลนี้ หลังจากตรวจสอบซอร์สโค้ดสำหรับ dpkg และรหัส main.c ของโปรแกรมที่เกี่ยวข้องฉันพบสิ่งที่ฉันค้นหา

ข้อมูลสำหรับการอ่าน -l | - รายการเอาท์พุทเป็นระบบ

man dpkg-query

และไม่ได้อยู่ใน

man dpkg

dpkg ทำหน้าที่เป็น front-end ในกรณีเหล่านี้เท่านั้น


1
  1. หมายความว่าต้องการแพ็กเกจที่ต้องการติดตั้งและติดตั้งแพ็กเกจ

  2. ดู man dpkg-query

  3. ตัวอักษรตัวพิมพ์ใหญ่ที่แสดงในตัวเลือกหลังจากเท่ากับเครื่องหมายในสามบรรทัดแรกในตำนานเป็นตัวอักษรที่อาจแสดงให้เห็นว่าเป็นตัวอักษรสามตัวแรกในสนามแรกตามลำดับ แต่ไม่ทั้งหมดของพวกเขาในกรณีเดียวกันคือบางตัวอักษร จะแสดงเป็นตัวพิมพ์เล็ก อักขระที่สามคือช่องว่างตามปกติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.