Belirli bir paket için neden yüklendiğini bulabilir miyim?
Öyleyse görebilir miyim, el ile mi yüklendi, yoksa başka bir paketin bağımlılığı olarak yüklendiğini? Ya da dağıtımın bir parçası olarak mı kuruldu?
Belirli bir paket için neden yüklendiğini bulabilir miyim?
Öyleyse görebilir miyim, el ile mi yüklendi, yoksa başka bir paketin bağımlılığı olarak yüklendiğini? Ya da dağıtımın bir parçası olarak mı kuruldu?
Yanıtlar:
Bir terminalde aşağıdaki komutu girmek hızlı bir çözümdür:
aptitude why $package
veya, yalnızca nihai nedenle ilgileniyorsanız:
aptitude why $package --show-summary
Değiştir $ paketi paketin adı ile ve yüklemeniz gerekebilir aptitude
ilk paketi.
İşte alabileceğiniz çıktı aptitude why aspell --show-summary
Packages requiring aspell:
inkscape
Daha fazla ayrıntı için koşarsın aptitude why aspell
. Aşağıdaki örnek çıktıyı aşağıdaki gibi okuyabilirsiniz: " inkscape
Gerektiren libgtkspell
, gerektiren libenchantic2a
, hangilerini gerektiren aspell
". ( i
işaretçiler yüklü paketleri gösterir; A
işaretleyiciler 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 $ paketine bağlı olan diğer paketleri listeler . --recurse
Doğrudan veya dolaylı olarak bağımlı olan tüm paketleri listeleme seçeneğini ekleyebilirsiniz .
apt-cache rdepends --recurse $package
Muhtemelen çok fazla paket veriyor. Ben eklersiniz --installed
yüklü paketlere kısıtlama seçeneği. -i
seçenek, bağımlılık öncesi ve bağımlılık ile ilgili paketlerle sınırlıdır. Ancak başka bir paket tarafından önerildiği için bir paket kurulabilir. Böyle bir öneriyle ilgili paketleri dahil etmek için bunun doğru olanları vereceğini tahmin ediyorum:apt-cache rdepends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --installed --recurse $package
apt-cache rdepends --no-{suggests,conflicts,breaks,replaces,enhances} --installed --recurse $package
Belirli bir paketin neden yüklendiğine dair hızlı ve kısa bir akıl yürütme, aşağıdaki komutu bir terminale ( Applications -> Accessories -> Terminal
) yazarak bulunabilir :
aptitude why <package-name>
İlgilendiğiniz paketin ismiyle değiştirin. Örneğin, şunu yazmak aptitude why libgoo-canvas-perl
, aşağıdakileri verir:
i shutter Suggests libgoo-canvas-perl
Bu, temel olarak shutter
, bu durumda paketin libgoo-canvas-perl
kurulmasını önermiştir . Daha sonra yazarak aptitude why shutter
bağımlılık zincirinde yürüyebilirim.
Ancak, bir uyarı var. Yeteneklerin gerçek durum olmayabilecek durum için en makul açıklamayı bulduğunu, ancak yine de size daha fazla bakmanız için bir ipucu vereceğini sık sık görüyorum.
Benim durumumda, shutter
önerir libgoo-canvas-perl
- ancak önerilen paketler varsayılan olarak otomatik olarak kurulmaz. Yine de, shutter
beni el ile yüklememe yönlendiren ekran görüntülerini düzenleyememe ile "deneyim" hatıralarımı canlandırıyorligbgoo-canvas-perl
Son olarak, 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 tavsiyelerine bakmak için zorunlu olarak karar verilen), aşağıdaki komutu çalıştırarak öğrenebilirsiniz.
aptitude show <package-name>
Bu, aşağıdaki gibi bir satır çıkacaktır (çıktının 3. satırı):
Automatically installed: no
Daha fazla bilgi için info aptitude
(bir terminalde) koşmak veya Yetenek wiki sayfasını ziyaret etmek
Belirli bir paketin ne zaman yüklendiğini bulmak için 2 seçenek vardır:
Install
Kurulumla ilgili tüm girişleri listelemek için arama yapabilirsiniz (duruma bakabilirsiniz ). Ancak, bu sadece Synaptic kullanılarak kurulan paketleri gösterecektir.Bir terminalde aşağıdaki komutu çalıştırın. Bu yükleme geçmişi girişleri için dpkg günlüklerini arayacaktır. Bununla birlikte, bu kayıtların ne kadarının tutulacağının azami sınırı vardır, bu nedenle aradığınız paket uzun süre önce kuruluysa, bulamayabilirsiniz. Daha fazla ayrıntı burada
zcat -f /var/log/dpkg.log* | grep "\ install\ " | grep -i <package-name>
zcat -f /var/log/dpkg.log* | grep -i PackageName | egrep “\ install\ |\ upgrade\ “
Evet, yapabilirsiniz ve bu oldukça açık bir emirdir. Yetenek kurduğunuzu varsayarak, bir Terminal Penceresi reklam türü açabilirsiniz:
aptitude why package
Bu, belirli bir pakete bağlı olan paketlerin bir listesini vermelidir. El ile kurulmuş bir paketse, "Paket yüklemek için bir neden bulmak mümkün olmadı" gibi bir şey söyleyecektir.
İşte aptitude
, güvenilmeyen, 10.10 artık varsayılan olarak gönderilmeyen basit bir yol .
Synaptic'i açın ve kaldırmayı deneyin.
Diğer paketleri silmenizi isteyen bir iletişim kutusu açılırsa, bunlar (tekrarlı olarak) ona bağlı paketlerdir.
apt-get remove package_name_goes_here -s
Yine, sonuç olarak çıkarılacak paketler (özyinelemeli) buna bağlı olanlardır. ( -s
Parametre apt-get
paketi gerçekten kaldırmamasını söyler .)
y/N
yazmanız gereken ekstra bir onay isteği de vardır -s
. Ancak bir uyarı ekledim.