ข้ามการอัพเกรดที่เฉพาะเจาะจงในโลกแห่ง -auvD


30

มีวิธีง่าย ๆ ที่จะข้ามการอัพเกรดบางอย่างemerge -auvD worldหรือไม่?

ตัวอย่างเช่นในปัจจุบันมีการทำเครื่องหมายว่าใช้งานไม่ได้มั่นคงในแผนผังพอร์เทจซึ่งทำให้การอัปเกรดทั้งหมดขาด media-sound/teamspeak-server-bin-3.0.5-r1เนื่องจากแพ็กเกจนั้นเป็นรายการแรกในรายการ แน่นอนว่าฉันสามารถปิดบังเวอร์ชันนี้โดยใช้package.maskไฟล์ได้ แต่ฉันต้องการตัวแปรสภาพแวดล้อมหรือสวิตช์บรรทัดคำสั่งเพื่อข้ามไปตอนนี้เท่านั้น - มันอาจจะได้รับการแก้ไขในไม่ช้า

โปรดทราบว่าฉันไม่ต้องการใช้emerge -auvD1 list of working packages(เช่นอัปเดตแพ็คเกจอื่น ๆ โดยระบุชื่อทั้งหมด)

คำตอบ:


38

ดูเหมือนว่า--excludeตัวเลือกจะทำสิ่งนี้:

--exclude ATOMS
รายการที่คั่นด้วยช่องว่างของชื่อแพ็กเกจหรืออะตอมของสล็อต Emerge จะไม่ติดตั้ง ebuild หรือแพ็คเกจไบนารีที่ตรงกับอะตอมของแพ็คเกจที่ระบุ

ดังนั้นนี่คืองานของฉัน:

emerge -auvD --exclude=media-sound/teamspeak-server-bin world

ฉันไม่สามารถหาตัวอย่างของใครบางคนที่ยกเว้นหลาย ๆ แพ็คเกจในหนึ่งคำสั่งดังนั้นสำหรับการอ้างอิง: แต่ละแพ็คเกจต้องใช้--excludeแท็ก afaik emerge --deep --update @world -av --exclude=chromium --exclude=firefox.
NuclearPeon

12

หากคุณไม่ต้องการปิดบังคุณสามารถใช้--keep-goingตัวเลือก นั่นทำให้การตั้งค่าใหม่ปรากฏขึ้นและดำเนินต่อไปโดยไม่มีแพ็คเกจที่ล้มเหลวในรายการ


3

คำตอบ ThiefMaster ของเป็นวิธีที่เหมาะสมที่จะไป แต่มีอีกทางเลือกหนึ่งซึ่งผมคิดว่าปรับปรุงเมื่อคำตอบของคีกล่าวคือด้วยคำตอบของเขาการปรากฏตัวจะถูกลองและอาจต้องใช้เวลา ในกรณีที่คุณรู้ว่าแพ็คเกจแรกนั้นมีปัญหาเพราะคุณเพิ่งพบปัญหาคุณสามารถใช้--resumeและ--skipfirst:

--resume(-r)

ดำเนินการต่อในรายการการผสานล่าสุดที่ถูกยกเลิกเนื่องจากข้อผิดพลาด --resumeนี้อีกครั้งใช้ข้อโต้แย้งและตัวเลือกที่ได้รับด้วยคำสั่งเดิมที่เป็นอยู่ของกลับมาและผู้ใช้ยังอาจให้ตัวเลือกเพิ่มเติมเมื่อโทร มันเป็นข้อผิดพลาดในการจัดเตรียมอะตอมหรือชุดให้เป็นอาร์กิวเมนต์--resumeเนื่องจากใช้อาร์กิวเมนต์จากคำสั่งที่กลับมาทำงานต่อแทน โปรดทราบว่าการดำเนินการนี้จะส่งคืนข้อผิดพลาดเมื่อล้มเหลวเท่านั้น หากไม่มีสิ่งใดที่พอร์เทอร์ที่จะทำแล้วการขนส่งจะออกจากข้อความและเงื่อนไขความสำเร็จ รายการเรซูเม่จะยังคงอยู่จนกว่าจะเสร็จสมบูรณ์ทั้งหมดหรือจนกว่ารายการผสานที่ถูกยกเลิกอื่นจะเข้ามาแทนที่ ประวัติย่อมีความสามารถในการจัดเก็บสองรายการที่ผสาน หลังจากหนึ่งรายการประวัติย่อเสร็จสมบูรณ์เป็นไปได้ที่จะเรียกใช้--resumeอีกครั้งเพื่อดำเนินการรายการที่เก่ากว่า รายการประวัติจะถูกเก็บไว้ใน/var/cache/edb/mtimedbและอาจถูกยกเลิกอย่างชัดเจนโดยการเรียกใช้emaint --fix cleanresume(ดู emaint (1))

--skipfirst

--resumeตัวเลือกนี้จะใช้ได้เฉพาะเมื่อใช้กับ มันลบแพคเกจแรกในรายการประวัติ การอ้างอิงจะถูกคำนวณใหม่สำหรับแพ็คเกจที่เหลือและสิ่งใดก็ตามที่มีการขึ้นต่อกันที่ไม่พอใจหรือถูกปิดบังจะถูกทิ้งโดยอัตโนมัติ ดู--keep-goingตัวเลือกที่เกี่ยวข้องด้วย

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