ทำไมยัมไม่ทำความสะอาดแพ็คเกจเด็กกำพร้า?


3

ฉันเพิ่งใช้ Yum (บน Fedora 13) เพื่อติดตั้ง xmms2. พบการอ้างอิงบางอย่างและติดตั้งสิ่งเหล่านั้นด้วย ทันทีหลังจากที่ฉันติดตั้ง xmms2ฉันแสดง yum erase xmms2แต่มันถอนการติดตั้งเพียง xmms2 แพ็คเกจไม่ใช่แพ็คเกจที่ติดตั้งพร้อมกับแพ็คเกจเพื่อแก้ไขการขึ้นต่อกัน ฉันพยายามแสดงด้วย package-cleanup --orphansแต่ไม่ได้แสดงรายการแพ็คเกจเหล่านั้น เกิดอะไรขึ้นที่นี่ ไม่ควรถอนการติดตั้งแพ็คเกจอื่นด้วยเช่นกัน?


2
แม้ว่านี่จะเป็นคำถามเก่า แต่ก็คุ้มค่าที่จะชี้ให้เห็นว่าส่วนหนึ่งของปัญหาที่นี่คือคำศัพท์ที่ yum นั้นแตกต่างกันเล็กน้อย นั่นเป็นสาเหตุที่ 'การล้างข้อมูลบนบรรจุภัณฑ์ - รูปแบบ' ไม่ทำงานอย่างที่คาดไว้เพราะ "เด็กกำพร้า" ไม่ใช่สิ่งที่คุณคิด แพคเกจที่ไม่ได้มีอยู่เป็นการอ้างอิง (ไม่จำเป็นสำหรับแพ็คเกจที่ติดตั้งอื่น ๆ ) จะถูกเรียก ใบไม้ ในยำ แพ็คเกจ "orphaned" เป็นแพ็คเกจที่ติดตั้งบนระบบ แต่ไม่สามารถใช้ได้ในที่เก็บที่กำหนดค่าไว้ ดังนั้นรอบต่อนาทีใด ๆ ที่ติดตั้งด้วยมือจาก repo ที่ถูกปิดใช้งานหรือถูกลบออกจาก repo ต้นทางตั้งแต่ถูกติดตั้ง
FeRD

คำตอบ:


4

มันเป็นการตัดสินใจออกแบบที่ทำมานานแล้ว ติดตั้ง yum-plugin-remove-with-leaves ถ้าพวกเขาทำให้คุณโกรธ


3

ใน yum-3.2.28-13 มันจะเอาแพ็คเกจกำพร้าที่มี clean_requirements_on_remove=1 ภายใต้ [main] ใน /etc/yum.conf. ตามลิงค์นี้: ทดสอบคุณลักษณะ autoremove ของ orphaned deps .


ทำงานเหมือนจับใจ เหตุใดพฤติกรรมนี้จึงไม่เป็นค่าเริ่มต้น
Bengt

3

หากใครบางคนจบลงที่นี่ในคำถามเก่านี้ ....

เพียงแค่ใช้

yum autoremove

มันจะทำงานเหมือนเปิดใช้งาน clean_requirements_on_remove มันจะลบแพ็คเกจปากแข็งของคุณ ;-)

(ฉันใช้ CentOS 7)

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