Fedora'nın 'apt-get purge' eşdeğeri nedir?


45

Debian'da bir paketi silmek için en az iki yol var:

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

Birincisi, sistem genelinde yapılandırma dosyalarını (yani " / etc " da bulunanları) korur , ikincisi de yapmaz.

Fedora'nın ikinci formdaki karşılığı nedir purge? Veya belki de yum remove pkgnameconfig dosyalarını gerçekten koruyup korumadığını sormalıyım .

Yanıtlar:


27

yum remove yapılandırma dosyalarını korumak için garanti edilmez.

Yum NASIL belgesinde belirtildiği gibi :

Her durumda, paketin kaldırılması için komut sözdizimi şöyledir:

# yum remove package1 [package2 package3...]

Yukarıda belirtildiği gibi, paket1'i ve paket 1'e bağlı olan bağımlılık ağacındaki bütün paketleri, muhtemelen konfigürasyon verileri ile ilgili olarak geri dönüşü olmayan bir şekilde kaldırır .

Güncelleme

James'in işaret ettiği gibi, rpm -ebir paketi silmek için bu komutu kullanabilir, ancak değişen tüm yapılandırma dosyalarının yedek kopyalarını kaydedebilirsiniz.

Daha fazla bilgi için, bkz . Paketleri Silmek için RPM'yi Kullanma . Özellikle:

Paketin yapılandırma dosyalarından herhangi birinin değiştirilip değiştirilmediğini kontrol eder. Eğer öyleyse, kopyalarını kaydeder.


4
Bu gerçekten doğru değil, "rpm -e" yapılandırma dosyalarını kaldırır eğer onlar değişmemiştir. Değiştirilmişlerse <dosyaadı> .rpmsave konumuna taşınırlar ve silinmezler.
James Antill,

9

Bu cevabı, ServerFault'da başlıklı tekrarlanan bir soruya buldum: Ubuntu / Debian'da ne yaptığını görebildiğim tek yöntemi sağlayan "apt-get purge" yum eşdeğeriapt-get purge <pkg> .

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

Burada yum remove <pkg>düşünebildiğim diğer tek yöntem, çıktının ayrıştırılması ve sonra değiştirilmiş tüm dosyaları manuel olarak silmektir. Örneğin, yakın zamanda ElasticSearch'ün 2.3 için RPM'sini kurduğumda, bu RPM ile ilişkilendirilmiş birkaç dosyayı değiştirdim. YUM ile kaldırdığımda, çıktıdaki gibi mesajlar alacaksınız:

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

Bunlar YUM kullanılarak komut dosyasıyla veya elle silindikten sonra silinebilir.

Referans


Bu ilginç bir dnf eklentisi olabilir ....
mattdm

@ mattdm - bu sorun zaman zaman ortaya çıktı, eğer bunu "RPM" dünyasında yapabilirsek iyi olurdu.
slm

1

"Temizleme" için eşdeğer yoktur, sadece kullanın yum remove package.

Ayrıca yum reinstall package, bazı paketleri yeniden yüklemek istediğinizde kullanabilirsiniz ...


1
Açıklandığı gibi Aslında Justin ethier cevabı , yum removeeşdeğerdir apt-get purge.
Gilles 'SO- kötülük yapmayı bırak'

6
@Gilles Justin Ethier yum remove, " yapılandırma dosyalarını korumak için garanti edilmediğini " söyledi . Bu, konfigürasyon dosyalarını korumanın garanti edilmediğini söylemekle aynı şey değildir (buna eşdeğerdir apt-get purge). Bu (çok) daha güçlü iddiada mı bulunuyorsunuz?
Eliah Kagan

@EliahKagan Justin'in bahsettiği yum şeklini anlıyorum. Bunun doğru olduğundan emin değilim, CentOS tam tersini söylüyor gibi görünüyor.
Gilles 'SO- kötülük olmayı bırak'

1
Bence tanımsız davranış. Yum, yapılandırma dosyalarını koruyabilir veya korumaz olabilir.
m0j0

-2

Bir RPM sistemi ile yakın zamanda kaldırdığınız bir programdan config dosyalarını temizlemek istiyorsanız, yapmanız gereken tek şey girmek: yum clean all


2
Bu yanlış. "Yum clean all" sadece yum tarafından kullanılan önbellek meta verilerini, ayna listelerini vb. Temizler. Yapılandırma dosyalarına hiçbir şey yapmaz.
m0j0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.