โดยพื้นฐานแล้วสิ่งที่ฉันกำลังค้นหาคือ Debian ที่เทียบเท่าของ:
yum list available
เพื่อแสดงให้ฉันเห็นว่ามีแพ็คเกจใดบ้าง (แม้ว่าจะยังไม่ได้ติดตั้งในปัจจุบัน) ฉันต้องการสิ่งที่สามารถเรียกใช้จากคอนโซลเนื่องจากอยู่บนเซิร์ฟเวอร์ระยะไกล ขอบคุณ
โดยพื้นฐานแล้วสิ่งที่ฉันกำลังค้นหาคือ Debian ที่เทียบเท่าของ:
yum list available
เพื่อแสดงให้ฉันเห็นว่ามีแพ็คเกจใดบ้าง (แม้ว่าจะยังไม่ได้ติดตั้งในปัจจุบัน) ฉันต้องการสิ่งที่สามารถเรียกใช้จากคอนโซลเนื่องจากอยู่บนเซิร์ฟเวอร์ระยะไกล ขอบคุณ
คำตอบ:
grep-dctrl
และอนุพันธ์ของมันเป็นวิธีที่ดีในการสืบค้นไฟล์แคช apt (คุณสามารถติดตั้งเครื่องมือเหล่านี้บน Ubuntu ด้วย sudo apt-get install dctrl-tools)
ในกรณีของแพคเกจใช้ได้ ( แต่ไม่ได้ติดตั้งจำเป็น) grep-available
คุณสามารถใช้ ตัวอย่างเช่นในการแสดงรายการแพ็คเกจทั้งหมดที่มี:
grep-available -s Package .
แก้ไข:
aptitude
สามารถแสดงรายการของแพ็คเกจที่ไม่ได้ติดตั้งโดยเพียงแค่เปิดใช้งาน
คุณยังสามารถรับรายการแพคเกจที่ไม่ได้ติดตั้งด้วยaptitude
โดยใช้:
aptitude -F "%p" search "?not(?installed)"
โปรดทราบว่าด้วยแพ็คเกจ multi-arch ใหม่คุณจะได้รับแพ็คเกจสำหรับสถาปัตยกรรมอื่น ๆ ที่ระบุไว้ในผลลัพธ์นี้ ตัวอย่างเช่นฉันจะได้รับ:
aptitude -F "%p" search "?not(?installed)" | grep "^bash:"
bash:i386
ฉันbash
ติดตั้งแพคเกจแล้ว แต่เป็นรุ่น amd64 เนื่องจากระบบปฏิบัติการของฉันได้รับการติดตั้งด้วย Ubuntu รุ่นที่แม่นยำ หากคุณไม่ต้องการเห็นแพ็คเกจเหล่านี้สำหรับสถาปัตยกรรมอื่น ๆ คุณสามารถยกเว้นบรรทัดที่มี:
:
aptitude -F "%p" search "?not(?installed)" | grep -v ':'
apt-cache
ใช้สำหรับการสอบถามแคชแพ็กเกจ:
apt-cache pkgnames | ประเภท
ค้นหา apt-แคชสิ่ง
apt-แคชค้นหา --names เท่านั้นสิ่งที่
code
"dpkg --get-selections | grep '[[: พื้นที่:]] ติดตั้ง $' | awk '{พิมพ์ $ 1}' > installed.txt "และพบข้อมูลซ้ำกัน อีกสองคำสั่งคุณให้จะไม่ทำงานเพราะผมไม่ได้มองหาแพคเกจโดยเฉพาะอย่างยิ่ง แต่ใด ๆแพคเกจที่ไม่ได้ติดตั้งในปัจจุบัน
ใช้apt-cache
เพื่อจุดประสงค์นี้:
apt-cache search package
เนื่องจากapt-cache
ใช้เฉพาะแพ็คเกจแคชบนระบบตรวจสอบให้แน่ใจว่าแคชนี้เป็นข้อมูลล่าสุด:
apt-get update
คุณยังสามารถใช้ยูทิลิตีนี้ได้apt-file
หากคุณทราบชื่อไฟล์ที่คุณต้องการค้นหา นี้จะต้องมีการเพิ่มระบบ ตัวอย่างเช่น:
apt-file search somefilename
ฉันมักจะใช้apt-cache
วิธีใดวิธีหนึ่งต่อไปนี้:
apt-cache search package | sort | grep item
(สิ่งนี้แสดงให้คุณเห็นสิ่งที่มีรายการจริง ๆ ในการสรุปหรือชื่อ)
apt-cache search thing | sort | less
(การค้นหาสิ่งนี้จะเรียงลำดับเพื่อให้ได้รับชมอย่างเพลิดเพลินless
)
มุมมองของฉันคือการทำงานกับคำสั่งที่ติดตั้งโดยค่าเริ่มต้นและหลีกเลี่ยงแพ็กเกจพิเศษหากไม่มีเหตุผลเฉพาะใด ๆ
ใน Debian ของฉันกับ GNU ทุบตีคำสั่งง่ายๆเหล่านี้
apt list
apt list --all-versions
ให้รายการสิ่งใด ๆ (ติดตั้งและไม่ได้ติดตั้ง) ฉันสามารถ จำกัด ผลลัพธ์ด้วยการ grep "ติดตั้ง" หรือ grep -v "ติดตั้ง" นอกจากนี้ยังสามารถใช้ร่วมกับชื่อแพคเกจอย่างน้อยหนึ่งชื่อ (ยอมรับได้เครื่องหมายไวด์)
สลับ "-all-versions" ให้ในบรรทัดแยกเอาท์พุทสำหรับแต่ละรุ่นแพคเกจ (มั่นคง, การทดสอบ, ไม่เสถียร, การทดลอง)
"รายการ apt" แบบง่ายให้เพียงหนึ่งเวอร์ชัน (ลำดับความสำคัญสูงสุด)
คำถามของคุณอย่างเคร่งครัด (คุณต้องการแสดงรายการแพคเกจที่ไม่ได้ติดตั้ง) ลองใช้
(แก้ไขตามความคิดเห็นด้านล่าง)
# apt-get update
# dpkg -l '*' | egrep --invert-match '^i'
ไม่แน่ใจเกี่ยวกับไวยากรณ์ที่แน่นอนเนื่องจากฉันกำลังเขียนสิ่งนี้ในกล่องหน้าต่างและไม่มีวิธีตรวจสอบ อาจลองเปลี่ยนสิ่งที่คุณ grep
'^ii'
แทน'[ii]'
) คุณจะหายไปจากแพ็คเกจที่ติดตั้ง แต่ไม่ได้กำหนดค่าตัวอย่าง (เช่นiF
หรือiH
ตัวอย่าง)