Apa yang setara dengan Fedora dari 'apt-get purge'?


45

Di Debian, setidaknya ada dua cara untuk menghapus paket:

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

Yang pertama mempertahankan file konfigurasi seluruh sistem (yaitu yang ditemukan di " / etc "), sedangkan yang kedua tidak.

Apa yang setara dengan Fedora dari bentuk kedua purge,? Atau mungkin saya lebih baik bertanya apakah yum remove pkgnamesebenarnya menyimpan file konfigurasi.

Jawaban:


27

yum remove tidak dijamin untuk menyimpan file konfigurasi.

Sebagaimana dinyatakan dalam yum HOWTO :

Dalam hal apa pun, sintaks perintah untuk menghapus paket adalah:

# yum remove package1 [package2 package3...]

Seperti disebutkan di atas, ia menghapus package1 dan semua paket di pohon dependensi yang bergantung pada package1, mungkin sejauh ireversibel sejauh menyangkut data konfigurasi .

Memperbarui

Seperti yang ditunjukkan James, Anda dapat menggunakan rpm -eperintah untuk menghapus suatu paket tetapi menyimpan salinan cadangan dari semua file konfigurasi yang telah berubah.

Untuk informasi lebih lanjut, lihat Menggunakan RPM untuk Menghapus Paket . Khususnya:

Memeriksa untuk melihat apakah ada file konfigurasi paket yang telah dimodifikasi. Jika demikian, ia menyimpan salinannya.


4
Itu tidak sepenuhnya benar, "rpm -e" akan menghapus file konfigurasi jika belum berubah. Jika sudah diubah, mereka dipindahkan ke <filename> .rpmsave dan tidak dihapus.
James Antill

9

Saya menemukan jawaban ini untuk pertanyaan duplikat di ServerFault berjudul: yum setara dengan "apt-get purge" yang menyediakan satu-satunya metode yang saya lihat yang dapat melakukan apa yang bisa dilakukan apt-get purge <pkg>di 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

Satu-satunya metode lain yang bisa saya bayangkan di sini adalah mengurai output dari yum remove <pkg>dan kemudian secara manual menghapus semua file yang mungkin telah dimodifikasi. Misalnya ketika saya baru-baru ini menginstal RPM ElasticSearch untuk 2.3, saya memodifikasi beberapa file yang dikaitkan dengan RPM ini. Ketika saya menghapusnya dengan YUM Anda akan mendapatkan pesan di output seperti ini:

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

Ini dapat dihapus penghapusan posting menggunakan YUM baik dituliskan atau dengan tangan.

Referensi


Ini mungkin merupakan plugin dnf yang menarik ....
mattdm

@mattdm - masalah ini telah muncul dari waktu ke waktu, alangkah baiknya jika kita bisa melakukan ini di dunia "RPM".
slm

1

Tidak ada padanan untuk "pembersihan", cukup gunakan yum remove package.

Anda juga dapat menggunakan yum reinstall package, ketika Anda ingin menginstal ulang beberapa paket ...


1
Sebenarnya, seperti yang dijelaskan dalam jawaban Justin Ethier , yum removesama dengan apt-get purge.
Gilles 'SO- berhenti bersikap jahat'

6
@Gilles Justin Ethier mengatakan yum remove" tidak dijamin untuk menyimpan file konfigurasi." Itu tidak sama dengan mengatakan bahwa dijamin tidak menyimpan file konfigurasi (yang berarti setara dengan apt-get purge). Apakah Anda membuat klaim (jauh) lebih kuat ini?
Eliah Kagan

@EliahKagan Begitulah cara saya memahami yum howto yang dikutip Justin. Saya tidak yakin itu benar, CentOS tampaknya mengatakan sebaliknya.
Gilles 'SANGAT berhenti menjadi jahat'

1
Saya pikir itu perilaku yang tidak terdefinisi. Yum mungkin atau mungkin tidak menyimpan file konfigurasi.
m0j0

-2

Jika Anda ingin membersihkan file konfigurasi dari program yang baru-baru ini Anda hapus melalui sistem RPM, yang harus Anda lakukan adalah memasukkan: yum bersihkan semua


2
Ini salah. "Yum clean all" hanya membersihkan metadata yang di-cache, daftar mirror, dll., Yang digunakan oleh yum. Tidak melakukan apa pun untuk mengonfigurasi file.
m0j0
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.