อะไรคือสิ่งที่เทียบเท่ากับ


45

ใน Debian มีวิธีลบแพคเกจอย่างน้อยสองวิธี:

  • apt-get remove pkgname
  • apt-get purge pkgname

ไฟล์แรกเก็บรักษาไฟล์กำหนดค่าทั้งระบบ (เช่นไฟล์ที่พบใน " / etc ") ในขณะที่ไฟล์ที่สองไม่มี

อะไรคือสิ่งที่เทียบเท่ากับ Fedora ของรูปแบบที่สองpurge? หรือบางทีฉันควรจะถามว่าyum remove pkgnameจริง ๆ แล้วรักษาไฟล์กำหนดค่า

คำตอบ:


27

yum remove ไม่รับประกันว่าจะเก็บไฟล์การกำหนดค่าไว้

ตามที่ระบุไว้ในyum HOWTO :

ในกรณีใด ๆ ไวยากรณ์คำสั่งสำหรับการลบแพ็กเกจคือ:

# yum remove package1 [package2 package3...]

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

ปรับปรุง

เมื่อเจมส์ชี้ให้เห็นคุณสามารถใช้rpm -eคำสั่งเพื่อลบแพ็คเกจ แต่บันทึกสำเนาสำรองของไฟล์การกำหนดค่าใด ๆ ที่มีการเปลี่ยนแปลง

สำหรับข้อมูลเพิ่มเติมโปรดดูที่การใช้ RPM เพื่อลบแพคเกจ โดยเฉพาะอย่างยิ่ง:

มันตรวจสอบเพื่อดูว่าไฟล์ config ของแพ็คเกจใด ๆ ได้รับการแก้ไขหรือไม่ ถ้าเป็นเช่นนั้นจะบันทึกสำเนาของพวกเขา


4
ไม่เป็นความจริงเลย "rpm -e" จะลบไฟล์การกำหนดค่าหากไม่มีการเปลี่ยนแปลง หากมีการเปลี่ยนแปลงพวกเขาจะถูกย้ายไปที่ <filename> .rpmsave และไม่ถูกลบ
James Antill

9

ฉันพบคำตอบนี้สำหรับคำถามซ้ำซ้อนใน ServerFault ชื่อ: yum เทียบเท่ากับ "apt-get purge"ที่ให้วิธีการเดียวที่ฉันเห็นว่าสามารถทำได้apt-get purge <pkg>ใน Ubuntu / Debian

for package in package1 package2 package3
do
  echo "removing config files for $package"
  for file in $(rpm -q --configfiles $package)
  do
    echo "  removing $file"
    rm -f $file
  done
  rpm -e $package
done

วิธีอื่นที่ฉันนึกได้ที่นี่คือการแยกเอาท์พุทจากyum remove <pkg>นั้นลบไฟล์ที่อาจถูกแก้ไขด้วยตนเอง ตัวอย่างเช่นเมื่อฉันเพิ่งติดตั้ง RPM ของ ElasticSearch สำหรับ 2.3 ฉันได้แก้ไขไฟล์หลายไฟล์ที่เชื่อมโยงกับ RPM นี้ เมื่อฉันลบมันด้วย YUM คุณจะได้รับข้อความในผลลัพธ์ดังนี้:

warning: /etc/sysconfig/elasticsearch saved as /etc/sysconfig/elasticsearch.rpmsave
warning: /etc/elasticsearch/logging.yml saved as /etc/elasticsearch/logging.yml.rpmsave
warning: /etc/elasticsearch/elasticsearch.yml saved as /etc/elasticsearch/elasticsearch.yml.rpmsave

สิ่งเหล่านี้สามารถลบการลบโพสต์โดยใช้ YUM สคริปต์หรือด้วยมือ

การอ้างอิง


นี่อาจเป็นปลั๊กอิน
dnf ที่

@mattdm - ปัญหานี้เกิดขึ้นเป็นครั้งคราวจะดีถ้าเราสามารถทำได้ในโลก "RPM"
slm

1

มีเทียบเท่าสำหรับ "ล้าง" yum remove packageเพียงแค่ใช้ไม่เป็น

นอกจากนี้คุณสามารถใช้yum reinstall packageเมื่อคุณต้องการติดตั้งแพคเกจบาง ...


1
จริงตามที่อธิบายไว้ในคำตอบของจัสติน Ethier ของ , เทียบเท่ากับyum remove apt-get purge
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

6
@Gilles Justin Ethier กล่าวว่าyum remove" ไม่รับประกันว่าจะเก็บไฟล์การกำหนดค่า" ไม่เหมือนกันกับการบอกว่ามันรับประกันว่าจะไม่เก็บไฟล์การกำหนดค่าไว้ (ซึ่งหมายความว่ามันเทียบเท่าapt-get purge) คุณเรียกร้องสิ่งนี้ได้มากขึ้นหรือไม่?
Eliah Kagan

@EliahKagan นั่นคือวิธีที่ฉันเข้าใจยำวิธีที่จัสตินอ้างถึง ฉันไม่แน่ใจว่ามันถูกต้องCentOSดูเหมือนจะพูดตรงกันข้าม
Gilles 'หยุดความชั่วร้าย' ใน

1
ฉันคิดว่ามันเป็นพฤติกรรมที่ไม่ได้กำหนด ยำอาจหรืออาจไม่เก็บไฟล์การกำหนดค่า
m0j0

-2

หากคุณต้องการล้างไฟล์กำหนดค่าจากโปรแกรมที่คุณเพิ่งลบผ่านระบบ RPM สิ่งที่คุณต้องทำคือป้อน: yum clean all


2
สิ่งนี้ไม่ถูกต้อง "yum clean all" เพียงล้างเมตาดาต้าที่แคชรายการกระจก ฯลฯ ซึ่งใช้โดย yum มันไม่ทำอะไรกับไฟล์การกำหนดค่า
m0j0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.