it-swarm-tr.com

Bir paketin neden yüklendiğini görebilir miyim?

Belirli bir paket için neden kurulduğunu öğrenebilir miyim?

Yani, görebilir miyim veya manuel olarak yüklendiğini veya başka bir paketin bağımlılığı olarak yüklendiğini görebilir miyim? Yoksa dağıtımın bir parçası olarak mı yüklendi?

123
Peter Smit

Hızlı bir çözüm bir terminalde aşağıdaki komutu girmektir:

aptitude why $package

veya yalnızca nihai nedenle ilgileniyorsanız:

aptitude why $package --show-summary

$ package öğesini paketin adıyla değiştirin; önce aptitude paketini yüklemeniz gerekebilir.

aptitude why aspell --show-summary için alabileceğiniz çıktı

Packages requiring aspell:
  inkscape

Daha fazla ayrıntı için aptitude why aspell komutunu çalıştırırsınız. Aşağıdaki örnek çıktıyı aşağıdaki gibi okuyabilirsiniz: "inkscape gerektiren bir libgtkspell gerektiren el ile kurdunuz, aspell gerektiren libenchantic2a gerektirir." (i işaretleri kurulu paketleri gösterir; A işaretleri otomatik olarak kurulan paketleri gösterir.)

i   inkscape       Depends libgtkspell0 (>= 2.0.10)                                                                    
i A libgtkspell0   Depends libenchant1c2a (>= 1.6.0)                                                                   
i A libenchant1c2a Depends aspell-en | myspell-dictionary | aspell-dictionary | ispell-dictionary | hunspell-dictionary
i A aspell-en      Depends aspell (>= 0.60.3-2)

Son olarak, aşağıdaki komut

apt-cache rdepends --installed $package

bilgisayarınızda yüklü olan ve doğrudan $ package öğesine bağlı olan diğer paketleri listeler. Doğrudan veya dolaylı olarak bağımlı olan tüm paketleri listelemek için --recurse seçeneğini ekleyebilirsiniz.

116
enzotib

Belirli bir paketin neden kurulduğuna dair hızlı ve kısa bir neden, bir terminalde aşağıdaki komutu yazarak bulunabilir (Applications -> Accessories -> Terminal):

aptitude why <package-name>

İlgilendiğiniz paketin adıyla değiştirin. Örneğin, aptitude why libgoo-canvas-Perl Yazdığınızda aşağıdakiler elde edilir:

i   shutter Suggests libgoo-canvas-Perl

Bu temelde shutter paketinin bu durumda libgoo-canvas-Perl Paketinin kurulmasını önerdiği anlamına gelir. Sonra aptitude why shutter Yazarak bağımlılık zincirine çıkabiliyorum.

Ancak, bir uyarı var. Sıklıkla, gerçek durum olmayabilir durum için en makul açıklamayı bulduğunu fark ediyorum, ancak yine de size daha fazla bakmanız için bir ipucu verecektir.

Benim durumumda, shutterlibgoo-canvas-Perl Önerir - ancak önerilen paketler varsayılan olarak otomatik olarak kurulmaz. Yine de, shutter ile ekran görüntülerini düzenleyememekle "deneyim" anılarımı elle çalıştırıyor, bu da beni ligbgoo-canvas-Perl

Son olarak, aşağıdaki komutu çalıştırarak bir paketin otomatik olarak yüklenip yüklenmediğini (paket yönetim sistemi tarafından kurulmasını istediğiniz diğer paketlerin bağımlılıklarına ve önerilerine bakmaktan zorunlu olarak karar verilir) öğrenebilirsiniz.

aptitude show <package-name>

Bu, aşağıdaki gibi bir satır çıkarır (çıktının 3. satırı):

Automatically installed: no

Daha fazla bilgi için info aptitude 'U (terminalde) çalıştırın veya Yetenek wiki sayfasını ziyaret edin

Belirli bir paketin kurulduğunu ne zaman bulmak için 2 seçenek vardır:

  1. Synaptic paket yöneticisi, tüm etkinliklerin geçmiş günlüğünü tutar. Geçmiş günlük dosyasını görüntülemek için, Dosya menüsünden Geçmiş'i seçin. Kurulumla ilgili tüm girişleri listelemek için Install (büyük/küçük harf duyarlı) arayabilirsiniz. Ancak, bu yalnızca kurulu paketleri gösterir {Synaptic kullanarak
  2. Terminalde aşağıdaki komutu çalıştırın. Bu kurulum geçmişi girişleri için dpkg günlüklerini arar. Bununla birlikte, bu günlüklerin ne kadarının saklanacağına dair maksimum sınır vardır, bu nedenle aradığınız paket uzun zaman önce kuruluysa, bulamayabilirsiniz. Daha fazla ayrıntı burada

    zcat -f /var/log/dpkg.log* | grep "\ install\ " | grep -i <package-name>
    
31
koushik

Evet, yapabilirsiniz ve aslında oldukça açık bir komut. Yüklü bir yetenek olduğunu varsayarsak, bir Terminal Penceresi reklam türü açabilirsiniz:

aptitude why package

Bu, söz konusu pakete bağlı paketlerin bir listesini vermelidir. Manuel olarak yüklenen bir paketse, "Paketi yüklemek için bir neden bulmak mümkün değildi" gibi bir şey söyleyecektir.

12
Daniel Rodrigues

10.10 varsayılan olarak artık gönderilmeyen aptitude'ye güvenmeyen basit bir yol.

Grafikle

Synaptic'i açın ve kaldırmaya çalışın.

Sizden diğer paketleri silmenizi isteyen bir iletişim kutusu açılırsa, bunlar (özyineli olarak) buna bağlı olan paketlerdir.

Terminalden

apt-get remove package_name_goes_here -s

Yine, sonuç olarak çıkarılacak paketler (özyineli olarak) buna bağlı olan paketlerdir. (-s parametresi apt-get paketi kaldırmamak için.)

6
badp