Gentoo'da bir paketi güvenle kaldırın


12

Gentoo'daki belirli bir paketi kaldırmak istedim ve ortaya çıkan adam sayfasına göz attım. --unmergeSeçeneği buldum :

UYARI: Bu işlem önemli paketleri kaldırabilir! Eşleşen tüm paketleri kaldırır. Bu, bağımlılıkların denetlenmesini sağlamaz, bu nedenle sisteminizin düzgün çalışması için gerekli paketleri kaldırabilir. Bağımsız değişkenleri atom veya ebuild olabilir. --Unmerge bağımlılığının farkında olan bir sürümü için --depclean veya --prune kullanın .

Ancak, kaldırmak istediğim paketin sistemde yüklü başka bir paket için gerekli olup olmadığını kontrol etmek istiyorum. --depcleanve --prunebu işlevselliği sağlama:

  • --depclean bağımlılık olarak yüklenen ancak artık gerekli olmayan paketleri kaldırır
  • --prune "bir paketin en yüksek yüklü sürümü hariç tümünü sisteminizden kaldırır"

İçin bağımlılık denetimi sürümü yok --unmergemu?

Yanıtlar:


17

Ben depcleansenin tarif ettiğin gibi çalıştığını sanmıyorum . Herhangi bir argüman olmadan yapar, ancak bir paket adı iletirseniz unmerge, ek bir bağımlılık kontrolü ile çalışır . Gönderen emerge(1):

Depclean, bağımlılık farkında bir versiyonu olarak hizmet vermektedir --unmerge. Bir veya daha fazla atom verildiğinde, ters bağımlılığı olmayan eşleşen paketleri birleştirir. Ters bağımlılıkları göstermek için --depcleanile birlikte kullanın --verbose.

Her zaman tek tek paketleri birleştirmek için --depclean( -c) kullanıyorum ; iyi çalışıyor


6

gentoolkit yardıma geliyor:

equery d <atom>

Önce bağımlılıkları kontrol edebilir, ardından bağımlılıkları inceledikten sonra paketi kaldırmaya devam edebilirsiniz.


5

Aynı sonucu elde etmenin başka bir yolu (bağımlılık kontrolüyle birleşen bir komut olmamasına rağmen): emerge --deselect packagepaketi dünya dosyasından kaldıran. Şimdi çalıştırmak emerge --depclean, başka bir paket için gerekli değilse bu paketi kaldıracaktır.


emerge --depcleanBu, kullanılarak yüklenen tüm paketleri kaldırdığı anlamına mı geliyor emerge --oneshot(bu paketler dünyadan bir pakete ihtiyaç duymadıkça)?
daniel kullmann

@danielkullmann evet. tüm bağımlılık grafiğini hesaplar ve dünyadaki herhangi bir paket tarafından çekilmeyenleri kaldırır. emerge --noreplace --selectKurulu paketleri yeniden derlemeden eklemek için kullanabilirsiniz , btw.
njsg

1

Bazen emerge --unmergebu uyarı mesajını verir:

 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

Bir paketi ayırmadan önce bağımlılık denetimi yapmanın önerilen yolu bu gibi görünüyor. Yine de bunu başarmanın daha iyi, daha otomatik bir yolu olduğunu umuyorum.

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.