ฉันไม่รู้ว่ามีวิธีที่ดีกว่า (อาจมี) แต่ขึ้นอยู่กับขนาดที่คุณต้องการคุณสามารถใช้คุณสมบัติการค้นหาความถนัดเพื่อเป็นส่วนหนึ่งของเครื่องจักร ช่วยให้คุณค้นหาแพ็คเกจที่ตรงกับรูปแบบ ดังนั้นaptitude search '~i'
ให้คุณติดตั้งแพ็คเกจทั้งหมด
เราจำเป็นต้องก้าวไปอีกขั้น ผู้จัดการแพคเกจชอบที่จะรู้ว่าคุณร้องขอแพคเกจใดโดยตรงและแพคเกจใดที่เพิ่งถูกดึงเข้ามาเนื่องจากแพ็คเกจอื่น ๆ หากไม่มีข้อมูลนั้นสิ่งที่น่าเกลียดก็เกิดขึ้นได้ ดังนั้นเราสามารถขยายรูปแบบการค้นหานั้นเพื่อเลือกแพ็คเกจที่ไม่ได้ติดตั้งโดยอัตโนมัติ:aptitude search '!~M ~i'
คุณลักษณะการค้นหาจะครอบคลุมในรายละเอียดบางอย่างในคู่มืออ้างอิงความถนัดของ
ตอนนี้คุณมีรายการแพ็คเกจที่จะติดตั้งแล้ว คุณสามารถจัดรูปแบบเอาต์พุตตามความจำเป็นโดยส่งแฟล็ก -F ไปยังคำสั่งนั้นเช่น -F '% p' เพื่อรับรายการด้วยชื่อแพ็คเกจ
ตัวอย่างเช่นคุณสามารถเรียกใช้งานบนเครื่อง 1 :
aptitude -F "%c %p" --disable-columns search '!~M ~i' | awk -F " " '{ print "apt-get -y install " $2 }' > aptshell.sh
จากนั้นคัดลอกaptshell.sh
ไฟล์ที่สร้างขึ้นใหม่ไปยังเครื่อง 2และใช้คำสั่งนี้บนเครื่อง 2เพื่อรันที่นั่น:
sudo sh aptshell.sh
จากนั้นทำซ้ำขั้นตอนที่มีเดิมเครื่อง 2เป็นใหม่เครื่อง 1และเดิมเครื่อง 1เป็นใหม่เครื่อง 2 ตอนนี้แต่ละเครื่องมีแพ็คเกจทั้งหมดที่ก่อนหน้านี้เท่านั้น