ฉันจะลบแพ็กเกจเฉพาะหนึ่งแพ็กเกจที่มี apt-get ได้อย่างไร?


18

ฉันเพิ่งติดตั้ง MySQL-server และการอ้างอิงทั้งหมดรวมถึงสิ่งจำเป็นอื่น ๆ แต่เมื่อมันไปกำหนดค่า mysql-server มันล้มเหลวในการทำเช่นนั้นและพ่นข้อผิดพลาดออกมา ข้อผิดพลาดใดไม่เกี่ยวข้องที่นี่เนื่องจากฉันจัดการเพื่อค้นหาปัญหาเป็นปัญหาการพึ่งพาระหว่าง mysql-server และ mysql-common ต้องลบ Mysql-common

แต่เมื่อฉันไป

apt-get purge remove mysql-common 

มันต้องการลบทุกอย่างที่เกี่ยวข้องโดยอัตโนมัติรวมถึงการพึ่งพา mysql ทั้งหมดแม้กระทั่ง apache2 และ php5 ..

ดังนั้นสิ่งที่อาร์กิวเมนต์จะต้องเพิ่มไปยังคำสั่ง apt-get เพื่อถอนการติดตั้งเพียงหนึ่งแพคเกจ แต่ยังปล่อยให้คนอื่น ๆ ทั้งหมดเหมือนเดิม

คำตอบ:


21

ฉลาดรับจะไม่ยอมให้คุณทำเช่นนั้นเพราะมันเป็นขั้นตอนที่อาจเป็นอันตรายสำหรับระบบการจัดการแพคเกจที่จะอนุญาต

ตราบใดที่คุณมีความตระหนักว่าอาจจะมีผลกระทบการใช้งานdpkgกับ--removeตัวเลือกที่จะทำมัน ตัวอย่างเช่น:

sudo dpkg --remove mysql-common

หมายเหตุ : ในระบบ 12.04 ของฉันกับapache2, php5, mysql-serverติดตั้งแยกต่างหากโดยใช้apt-getในการลบmysql-commonไม่ต้องการที่จะลบapache2หรือphp5

จากความคิดเห็นของการนอนไม่หลับ: ถ้าคุณต้องการที่จะแทนที่ระบบการตัดสินใจการพึ่งพาของคุณสามารถ (ที่มีการดูแลที่ดีและทำให้แน่ใจว่าคุณรู้ว่าสิ่งที่คุณกำลังทำ) --force-dependsใช้เพิ่มเติม

sudo dpkg --remove --force-depends mysql-common

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

ไม่ต้องกังวลกับผู้ชาย ฉันจะไม่ทิ้งคุณไว้ ฉันยอมรับเสมอ ผู้คนมักจะเพิกเฉยหลังจากที่ฉันยอมรับและยังมีปัญหาอยู่ แต่ฉันแค่ลองมันแล้วมันจะไม่ยอมให้ฉัน มีคำสั่งบังคับหรือไม่?
นอนไม่หลับ

ขออภัยถูกต้อง - ฉันคิดว่าคุณต้องรอระยะเวลาหนึ่งก่อนที่คุณจะทำได้ - 15 นาทีฉันคิดว่า? โปรดลองอีกครั้งเมื่อใดก็ตามที่คุณมีโอกาสไม่รีบร้อน นอกจากนี้ฉันเพิ่งสังเกตเห็นว่าคุณพูดถึงคุณกำลังใช้ Debian - โปรดทราบว่าคำถามที่เกี่ยวข้องกับ Debian นั้นไม่ได้อยู่ในหัวข้อและมักจะถูกปิดเช่นนี้ โปรดลองถาม unix.stackexchange.com เพื่อหาสิ่งที่เฉพาะ Debian ในอนาคต :)
ish

ใช่ฉันคิดเช่นนั้น .. เหตุผลหลักที่ฉันไม่ได้พูดถึงมันจนกว่าฉันจะต้องการ ฉันหมายถึงผู้จัดการแพคเกจของพวกเขาเหมือนกันอูบุนตูเพิ่งเลิกเดเบียน แต่ไม่เป็นไร สิ่งที่ 15 นาทีไม่ทำงานแม้ว่า cuz ฉันพยายามนานกว่า 15 นาทีหลังจาก แต่ฉันไม่สามารถพิมพ์สิ่งที่คล้ายกับ "dpkg -f --remove mysql-common" ได้หรือไม่?
นอนไม่หลับ

หากธรรมดาช่วยให้คุณมีคำเตือนและยกเลิกแน่ใจว่าคุณสามารถบังคับให้มันด้วย--remove -fBTW, เป็นเช่นเดียวกับ--remove -r
ish

0

หากใครอยากรู้ว่ามีเดเบียน 2014 สั่ง:

dpkg --force-all -r name_of_package

มันเปลี่ยนไปเล็กน้อย

มีอาร์กิวเมนต์ --force- จำนวนมากดังนั้นเพื่อประโยชน์ในการพึ่งพาได้ดียิ่งขึ้นตรวจสอบพวกเขาโดย:

dpkg --force-help

--force-allไม่ปลอดภัยแน่นอนทำไมไม่แนะนำ--force-dependsและให้คำเตือนที่เหมาะสมด้วย
guntbert

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