ฉันควรใช้ "apt-get remove" หรือ "apt-get purge" หรือไม่?


51

สำหรับการถอนการติดตั้งแอพ (หรือแพ็คเกจ) ฉันควรใช้apt-get remove package-nameหรือapt-get purge package-name?

อะไรคือข้อดีของพวกเขากับคนอื่น ๆ ?

คำตอบ:


43

หากคุณกำหนดแพ็คเกจ / ซอฟต์แวร์เองไม่ว่าจะโดยการแก้ไขไฟล์กำหนดค่าโดยตรงหรือผ่าน GUI คุณอาจต้องการปรับแต่งของคุณเอง โดยปกติในระบบ Unix / Linux การกำหนดค่าจะถูกบันทึกไว้ในไฟล์ข้อความแม้ว่าการกำหนดค่า / การปรับแต่งจะกระทำผ่าน GUI

แพคเกจเดบิตไบนารีเดเบียนแต่ละชุดมีรายการไฟล์ที่ระบุเป็นไฟล์ปรับแต่ง dpkgและaptให้เกียรติรหัสนี้เมื่อลบแพคเกจและในการอัพเกรด โดยค่าเริ่มต้นapt/dpkgจะไม่ลบไฟล์กำหนดค่าในการลบแพ็คเกจ คุณต้องร้องขอการกำจัด ในการอัพเกรดระบบจะขอให้คุณเลือกระหว่างเวอร์ชันปัจจุบันและเวอร์ชันใหม่ (หากมีความแตกต่าง) ก่อนเขียนทับไฟล์กำหนดค่า แม้ในกรณีนั้นมันจะบันทึกสำเนาของไฟล์ต้นฉบับ นี่เดเบียนพยายามที่จะช่วยคุณตามสมมุติฐานที่ว่าไฟล์กำหนดค่าของคุณอาจมีข้อมูลที่มีค่า

apt-get purgeดังนั้นถ้าคุณไม่ได้กำหนดแพคเกจหรือคุณไม่ต้องการที่จะให้การกำหนดค่าของคุณคุณสามารถใช้

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

ความคิดเห็นเล็กน้อย: หากคุณลบแพ็กเกจและภายหลังต้องการลบไฟล์ปรับแต่งมันเคยเป็นกรณีที่aptจะไม่ลบไฟล์ปรับแต่งหากไม่ได้ติดตั้งแพ็กเกจ อย่างไรก็ตามหลายปีที่ผ่านมาการทำงานapt-get purgeจะลบไฟล์กำหนดค่าแม้ว่าจะไม่ได้ติดตั้งแพคเกจอีกต่อไป

นี้ได้รับการแก้ไขใน0.8.0~pre1รุ่นของแพกเกจที่ปล่อยออกมาวันศุกร์ 13 สิงหาคม 2010 หรืออาจจะเป็นใน0.8.15~exp1รุ่นของฉลาดปล่อย Fri, 10 มิถุนายน 2011 ดูDebian รายงาน Bug: apt-get --purge ไม่ทำงานตามที่คาดไว้ลงวันที่ 24 มิถุนายน 2545


1
สิ่งเหล่านี้เทียบเท่าหรือไม่: apt-get remove --purge APPVS apt-get purge APP?
มินิ

1
@mini: ใช่ อ้างอิงจากหน้า apt-get man "remove --purge เทียบเท่ากับคำสั่ง purge"
Faheem Mitha

if you have removed the package and later want to remove the config files, you will need to call dpkg directly, because apt will not remove the config files if the package is no longer installed.หมายความว่าapt-get purgeจะไม่ลบไฟล์กำหนดค่าหลังจากที่apt-get removeถูกเรียกใช้งานหรือไม่
Anmol Singh Jaggi

@AnmolSinghJaggi ส่วนนี้ไม่ถูกต้องจริงและล้าสมัย ฉันตั้งใจจะเปลี่ยนมันก่อน ฉันเปลี่ยนมันตอนนี้
Faheem Mitha

@FaheemMitha โอเค!
Anmol Singh Jaggi

28

จากหน้าคนของapt-get:

   remove
        remove is identical to install except that packages are removed 
        instead of installed. Note that removing a package leaves its 
        configuration files on the system. If a plus sign is appended to the 
        package name (with no intervening space), the identified package 
        will be installed instead of removed.

   purge
        purge is identical to remove except that packages are removed and 
        purged (any configuration files are deleted too).

ฉันมักจะใช้purgeหากคุณไม่ต้องการเก็บไฟล์การกำหนดค่าไว้


4

ล้างการลบconfiguration files แพคเกจของคุณ แต่ลบเก็บconfiguration filesแพคเกจของคุณ

แต่ข้อดีหรือข้อเสีย: มันเกี่ยวข้องกับระบบของคุณแพ็กเกจเครื่องของคุณติดตั้งหรือไม่และอื่น ๆ

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