Есть ли лучший способ установить только требуемые зависимости пакета, вместо того, чтобы устанавливать его непосредственно с помощью apt-get (или любого другого интерфейса dpkg), а затем сразу же удалять его, оставляя его зависимости?
Есть ли лучший способ установить только требуемые зависимости пакета, вместо того, чтобы устанавливать его непосредственно с помощью apt-get (или любого другого интерфейса dpkg), а затем сразу же удалять его, оставляя его зависимости?
Ответы:
apt-get предоставляет команду именно для этого ...
apt-get build-dep <package name>
Из страниц руководства вы получаете
build-dep вызывает apt-get для установки / удаления пакетов в попытке удовлетворить зависимости сборки для исходного пакета. По умолчанию зависимости удовлетворены для первоначальной сборки пакета. При желании хост-архитектура может быть указана с параметром --host-Architecture.
aptitude позволит вам указать запрос вместо имени пакета при установке. Если вы хотите установить зависимости именованных пакетов foo
, вы можете установить пакеты, которые имеют обратную зависимость от foo
:
aptitude install '?reverse-depends(foo)'
или
aptitude install '~Rfoo'
Проблема с установкой и последующим удалением пакета состоит в том, что все пакеты, которые устанавливаются как зависимости, будут помечены как «автоматически установленные» и будут удалены любым действием установки / удаления / обновления с помощью aptitude или при запуске, apt-get autoclean
если только вы не запустили пометьте их как установленные вручную с помощью aptitude mark
или apt-mark
команды.
Тем не менее, возникает вопрос, почему вы хотели бы сделать это, я думаю, вы пытаетесь установить зависимости для некоторого программного обеспечения, которое вы собираетесь скомпилировать вручную. В этом случае вы должны сначала установить зависимости для сборки apt-get build-dep packagename
, но затем вам следует создать фиктивный пакет, который имеет зависимости времени выполнения (которые обычно отличаются от зависимостей сборки), используя equiv
пакет для сборки фиктивного пакета с правильными зависимостями для Ваша вручную скомпилированная программа. Смотрите информацию о equivs
в APT HOWTO
В случае построения pkgname из источников
apt-get build-dep pkgname
build dependencies
иdependencies
? Например, если вы обычно устанавливаете программу, вы получаете зависимости, необходимые для ее фактического запуска, а со сборочными зависимостями я больше думаю о библиотеках, компиляторах и тому подобном. Так как я не уверен (этот ответ имеет положительные отзывы), но мне кажется, это не тривиально, что получение зависимостей сборки - это то же самое, что получать (запускать) зависимости пакетов?