ถอนการติดตั้งแพคเกจอย่างปลอดภัยใน Gentoo


12

ฉันต้องการที่จะถอนการติดตั้งแพคเกจเฉพาะใน Gentoo และเรียกดูผ่านหน้าคนโผล่ออกมา ฉันพบ--unmergeตัวเลือก:

คำเตือน: การกระทำนี้สามารถลบแพ็คเกจที่สำคัญได้! ลบแพ็คเกจที่ตรงกันทั้งหมด สิ่งนี้ไม่ทำการตรวจสอบการพึ่งพาดังนั้นมันอาจลบแพ็คเกจที่จำเป็นสำหรับการทำงานที่เหมาะสมของระบบของคุณอาร์กิวเมนต์อาจเป็น atoms หรือ ebuilds สำหรับการพึ่งพารุ่นตระหนักถึง --unmergeใช้--depcleanหรือ--prune

อย่างไรก็ตามฉันต้องการให้ตรวจสอบว่าฉันต้องการถอนการติดตั้งแพคเกจอื่น ๆ ที่ติดตั้งในระบบหรือไม่ --depcleanและ--pruneไม่มีฟังก์ชั่นดังกล่าว:

  • --depclean ลบแพ็กเกจที่ติดตั้งเป็นการอ้างอิง แต่ไม่ต้องการอีกต่อไป
  • --prune "ลบทั้งหมดยกเว้นแพ็คเกจรุ่นที่ติดตั้งสูงสุดจากระบบของคุณ"

ไม่มีรุ่นการตรวจสอบการพึ่งพา--unmergeหรือไม่

คำตอบ:


17

ฉันไม่คิดว่าจะdepcleanทำงานอย่างที่คุณอธิบายไว้ ไม่มีข้อโต้แย้งใด ๆ แต่ถ้าคุณส่งมันชื่อแพคเกจมันจะทำงานเหมือนกับunmergeการตรวจสอบการพึ่งพาเพิ่มเติม จากemerge(1):

Depclean --unmergeทำหน้าที่เป็นพึ่งพารุ่นตระหนักถึง เมื่อได้รับหนึ่งอะตอมขึ้นไปมันจะทำการรวมกันของแพ็คเกจที่ไม่มีการย้อนกลับ ใช้--depcleanร่วมกับ--verboseเพื่อแสดงการพึ่งพาย้อนกลับ

ฉันมักจะใช้--depclean( -c) เพื่อรวมแพคเกจส่วนบุคคล; มันใช้งานได้ดี


6

gentoolkit มาเพื่อช่วย:

equery d <atom>

คุณสามารถตรวจสอบการอ้างอิงก่อนจากนั้นดำเนินการลบแพคเกจหลังจากตรวจสอบการอ้างอิง


5

อีกวิธีหนึ่งในการบรรลุผลลัพธ์เดียวกัน (แม้ว่าจะไม่ใช่คำสั่งที่ไม่รวมการตรวจสอบการพึ่งพา): emerge --deselect packageซึ่งจะลบแพ็กเกจออกจากไฟล์ world ตอนนี้การรันemerge --depcleanจะลบแพ็กเกจนั้นถ้าไม่จำเป็นต้องใช้กับแพ็คเกจอื่น


นั่นหมายความว่าemerge --depcleanจะลบแพ็กเกจทั้งหมดที่ติดตั้งโดยใช้emerge --oneshot(ยกเว้นแพ็คเกจเหล่านั้นจำเป็นต้องใช้จากแพ็คเกจจากโลก)
daniel kullmann

@danielkullmann ใช่ มันคำนวณกราฟการพึ่งพาทั้งหมดและลบสิ่งที่ไม่ได้ถูกดึงโดยแพ็คเกจใด ๆ ในโลก คุณสามารถใช้emerge --noreplace --selectเพื่อเพิ่มแพ็กเกจที่ติดตั้งแล้วโดยไม่ต้องคอมไพล์ใหม่ btw
njsg

1

บางครั้งemerge --unmergeให้ข้อความเตือนนี้:

 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

ดูเหมือนว่านี่เป็นวิธีที่แนะนำในการทำการตรวจสอบการพึ่งพาก่อนที่จะรวมแพคเกจ ฉันยังคงหวังว่าจะมีวิธีที่ดีกว่าอัตโนมัติมากขึ้นเพื่อบรรลุเป้าหมายนี้

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