Bir paketi doğrudan apt-get (veya dpkg'ın başka bir ön ucu) ile yüklemek ve ardından derhal kaldırmak, bağımlılıklarını bırakmak yerine, yalnızca gerekli bağımlılıkları kurmanın daha iyi bir yolu var mı?
Bir paketi doğrudan apt-get (veya dpkg'ın başka bir ön ucu) ile yüklemek ve ardından derhal kaldırmak, bağımlılıklarını bırakmak yerine, yalnızca gerekli bağımlılıkları kurmanın daha iyi bir yolu var mı?
Yanıtlar:
apt-get tam olarak bunun için bir komut sağlar ...
apt-get build-dep <package name>
Aldığınız man sayfalarından
build-dep, kaynak paketin derleme bağımlılıklarını karşılamak amacıyla apt-get paketlerini kurar / kaldırır. Varsayılan olarak, bağımlılıklar paketi yerel olarak oluşturmak için karşılanır. İstenirse bunun yerine --host-architecture seçeneğiyle bir ana makine mimarisi belirtilebilir.
aptitude, yükleme sırasında paket adı yerine bir sorgu belirlemenize izin verir. Adlı paketin bağımlılıklarını yüklemek foo
istiyorsanız, aşağıdakilere ters bağımlılığı olan paketleri yükleyebilirsiniz foo
:
aptitude install '?reverse-depends(foo)'
veya
aptitude install '~Rfoo'
Bir paketi yükleyip ardından kaldırmayla ilgili sorun, bağımlılık olarak yüklenen paketlerin tümü "otomatik olarak yüklendi" olarak işaretlenecek ve herhangi bir yükleme / kaldırma / yükseltme eylemi tarafından uygun bir şekilde veya siz çalıştırmadığınız apt-get autoclean
sürece kaldırılacağıdır. aptitude mark
veya apt-mark
komutunu kullanarak manuel olarak yüklendi olarak işaretleyin .
Ancak, bu bunu neden yapmak isteyeceğinizin en iyi tahminini soruyor, elle derleyeceğiniz bazı yazılımlar için bağımlılıklar kurmaya çalışıyorsunuz. Bu durumda, derleme bağımlılıklarını önce ile yüklersiniz apt-get build-dep packagename
, ancak daha sonra equiv
doğru bağımlılıklara sahip bir sahte paket oluşturmak için paketi kullanarak çalışma zamanı bağımlılıklarına sahip (genellikle derleme bağımlılıklarından farklı olan) bir sahte paket oluşturmalısınız. elle derlenmiş programınız. İlgili bilgileri görme equivs
içinde APT NASIL
build dependencies
vedependencies
? Olduğu gibi, normalde bir program yüklerseniz, aslında çalıştırılması gereken bağımlılıklar elde edersiniz ve yapı bağımlılıkları ile kütüphaneler, derleyiciler, bunun gibi şeyler hakkında daha fazla düşünüyorum. Emin olmadığım için (bu cevabın upvotes var) ama bana göre yapı bağımlılıkları elde etmek, paketlerin sahip olduğu (çalışma) bağımlılıklarını almakla aynı şey değil mi?