Вопрос: Установите только зависимости данного пакета в Debian или Ubuntu (apt)


Есть ли лучший способ установить только необходимые зависимости пакета, вместо того, чтобы напрямую устанавливать его с помощью apt-get (или любого другого интерфейса dpkg), а затем сразу же удалить его, не учитывая его зависимости?


15
2018-02-24 17:17


Источник




Ответы:


apt-cache depends pkgname покажет зависимости пакета.

Если вы хотите все это в одной команде, вы можете сделать хуже, чем:

apt-get install `apt-cache depends pkgname | awk '/Depends:/{print$2}'`

19
2018-02-24 17:58





apt-get предоставляет команду для именно этого ...

apt-get build-dep <package name>

С man-страниц, которые вы получаете

build-dep заставляет apt-get устанавливать / удалять пакеты, пытаясь удовлетворить зависимости сборки для исходного пакета. По умолчанию зависимости выполняются для сборки пакета изначально. При желании хост-архитектура может быть указана с опцией -host-architecture.


13
2018-02-24 18:29



Не может быть разницы между build dependencies а также dependencies? Как и в случае, если вы обычно устанавливаете программу, вы получаете зависимости, которые ей нужно выполнять, и с зависимостями построения, я думаю, больше о библиотеках, компиляторах, подобных вещах. Так как я не уверен (этот ответ действительно имеет upvotes), но мне кажется, что получение зависимостей сборки не является таким же, как получение зависимостей (run) от пакетов. - Nanne
Ты прав. При ответе на это, очень давно, я не имел полного понимания разницы между зависимостями сборки (временем сборки) и зависимостями (временем выполнения). Спасибо, что разъяснил Нанну! - Nathan Crock


aptitude позволит вам указывать запрос вместо имени пакета при установке. Если вы хотите установить зависимости пакета с именем foo, вы можете установить пакеты, которые имеют обратную зависимость от foo:

aptitude install '?reverse-depends(foo)'

или

aptitude install '~Rfoo'

Проблема с установкой пакета и его удалением состоит в том, что все пакеты, которые устанавливаются как зависимости, будут помечены как «автоматически установлены» и будут удалены любым действием по установке / удалению / обновлению по способностям или при запуске apt-get autoclean если вы не отметите их вручную, используя aptitude mark или apt-mark команда.

Тем не менее, это ставит вопрос о том, почему вы хотели бы сделать это, я думаю, что вы пытаетесь установить зависимости для некоторого программного обеспечения, которое вы собираетесь скомпилировать вручную. В этом случае сначала установите зависимости сборки apt-get build-dep packagename, но тогда вы должны создать фиктивный пакет с зависимостями времени выполнения (которые обычно отличаются от зависимостей сборки), используя equiv пакет для создания фиктивного пакета с правильными зависимостями для вашей вручную скомпилированной программы. См. Информацию о equivs в APT HOWTO


4
2018-02-24 19:54





В случае создания pkgname из источников

apt-get build-dep pkgname

3
2018-02-24 18:27



строить зависимости не зависят от времени выполнения - sehe
>> В случае создания pkgname из источников - eri
Я не знаю, где это гарантировано / задокументировано. Кроме того, все равно это не делается для любых целей. Я использую build-dep все время но мне бы очень хотелось получить лучший ответ на текущий вопрос. Мне тоже нужно это. - sehe