ใช้ไฟล์เพื่อติดตั้งแพกเกจด้วย apt-get


9

ฉันคิดว่ามันสะดวกในการติดตั้งแพ็คเกจบนเครื่องใหม่ผ่านไฟล์แพ็คเกจเช่น Brewfiles, caskfiles, dockerfiles, package.json เป็นต้น

มีทางเลือกอื่นสำหรับการรับ apt ตั้งแต่ฉันยังใช้มัน
ผ่าน commandline ด้วย

apt-get install pkg1 pkg2 pkg3…

?


2
มันต้องการหรือไม่ คุณสามารถใช้xargs: xargs -P1 apt-get install < list-of-packages.
muru

@muru ดีฉันไม่รู้จริง ๆ ว่า xargs ทำงานอย่างไร (อ่านคนตอนนี้) แต่ฉันไม่คิดว่านั่นเป็นวิธีแก้ปัญหาที่ทำให้แพคเกจรวมอยู่ในไฟล์เดียว? ฉันจะยังคงต้องแสดงรายการไฟล์ด้วยตนเองหลังจาก <เนื่องจากใช้ไฟล์. txt พร้อมกับแพ็คเกจสามชุดที่ใช้ไม่ได้กับคำสั่งนี้ (ทดสอบบนเดเบียน)
thibmaek

1
การ<เปลี่ยนเส้นทางคือเปลือก สำหรับหลายไฟล์ให้ใช้:cat file1 file2 .. | xargs -P1 apt-get install
muru

คำตอบ:


13

ตามที่ระบุไว้ในความคิดเห็นของคำถามของคุณคุณสามารถสร้างไฟล์ข้อความง่ายๆที่เรียกว่าpackages.txtรายชื่อแพคเกจที่จะติดตั้ง:

iceweasel
terminator
vim

จากนั้นเรียกใช้คำสั่งต่อไปนี้:

cat packages.txt | xargs sudo apt-get install

xargs ใช้เพื่อส่งชื่อแพ็กเกจจากpackages.txtไฟล์ไปยังบรรทัดรับคำสั่ง จากหน้าคน:

xargs อ่านรายการจากอินพุตมาตรฐานคั่นด้วยช่องว่าง (ซึ่งสามารถป้องกันด้วยเครื่องหมายอัญประกาศคู่หรือเดี่ยวหรือแบ็กสแลช) หรือขึ้นบรรทัดใหม่และดำเนินการคำสั่ง (ค่าเริ่มต้นคือ / bin / echo) หนึ่งครั้งหรือมากกว่าด้วยอาร์กิวเมนต์เริ่มต้น โดยรายการที่อ่านจากอินพุตมาตรฐาน


9

การปรับปรุงคำตอบของ @ ortomala-lokni เล็กน้อยคุณสามารถให้ไฟล์เป็นอาร์กิวเมนต์โดยตรงกับxargs:

xargs -a packages.txt sudo apt-get install

เลือกที่คุณสามารถให้ตัวเลือกในการป้องกันไม่ให้มีการเรียกร้องจากการวิ่งเลยถ้าคุณไม่ได้มีตัวละครที่ไม่ใช่ช่องว่างใด ๆxargs-rapt-getpackages.txt


นี้อาจจะเป็นความผิดปกติของอัลไพน์ / BusyBox แต่หาเรื่องไม่ได้รับการบันทึกไว้และไม่ได้ดูเหมือนจะทำงานที่นั่น-a xargs: unrecognized option: aผลลัพธ์เวอร์ชันของฉันที่แสดงคือBusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
Taylor Edmiston

การใช้คำตอบที่ยอมรับนั้นส่งผลให้เคียวรี Y / n ที่ถูกยกเลิกของ apt ใช้งานได้ ขอบคุณ!
Ok Letsdothis

1

ป้อนคำอธิบายรูปภาพที่นี่

มันทำงานได้ทั้งสองวิธีสำหรับฉันตรวจสอบให้แน่ใจว่าคุณมี xargs ล่าสุดหรือตรวจสอบว่ามีตัวเลือก -a หรือไม่พร้อมตัวเลือกช่วยเหลือ (xargs --help)


5
คำตอบนี้มีปัญหาการเข้าถึง: ข้อความในภาพไม่สามารถอ่านได้โดยคนตาบอด
ctrl-alt-delor

0

เช่นเดียวกับโซลูชันการเขียนสคริปต์ทั่วไปเพิ่มเติมคุณสามารถสร้างแพคเกจ deb

คุณจะต้องการ

  • equivs-buildเพื่อสร้างเดบิต deb สามารถมีการอ้างอิงเท่านั้น นี่คือเครื่องมือสร้าง deb ที่ง่าย
  • gdebi เพื่อติดตั้งเดบิต

สิ่งนี้จะใช้ได้กับระบบที่ใช้เดเบียนทั้งหมด (ระบบที่ใช้ apt / deb-files)

ข้อดีของการทำกับไฟล์ deb ซึ่งต่างจาก shell script คือการยกเลิกได้ง่ายกว่ามากคุณสามารถถอนการติดตั้ง deb หรือกำหนดค่า deb ใหม่และติดตั้งใหม่ (ซึ่งจะทำให้ไฟล์ถูก เพิ่มและลบ)

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