Как обновить только определенные зависимости пакета?

7

Предположим, что у меня есть пакет A , у которого Depends: B (>= 1.0.0) в файле control .

B было установлено как зависимость A некоторое время назад с 1.0.0 .

Теперь B было обновлено в репозитории версии 1.0.42 , и мне бы хотелось upgrade it.

То, что я не люблю делать: apt-get install B , так как он будет отмечать B как «вручную установленный» (не уверен, как правильно его назвать), и он не будет удален с autoremove , если я решите прекратить использование A когда-либо.

Итак, есть ли аналог apt-get upgrade , который только обновляет конкретный пакет и его зависимости (возможно, рекурсивный, это не имеет значения в моем случае, поскольку B не зависит ни от чего другого)?

PS: Я спрашиваю о доступных в настоящее время версиях LTS. Итак, 10.04 и 12.04

    
задан zerkms 18.07.2013 в 22:25
источник

2 ответа

5

Хорошо, если не будет другого ответа - вот один из способов сделать это:

Просто установите его с apt-get install B явно, затем отметьте его как автоматически установленным, используя apt-mark markauto B

    
ответ дан zerkms 07.11.2013 в 22:26
источник
0

Будучи специфичным для вашего вопроса, я бы сделал:

  • apt-get update для повторной синхронизации файлов индекса пакетов из их источников.
  • apt-get install B установит последнюю версию.
  • apt-mark auto B , чтобы пометить его автоматически установлен

Для обновления определенного пакета:

  • apt-get update
  • apt-get install <package_name> это устанавливает обновленный пакет ... там ... пакет обновляется в отличие от apt-get upgrade , который будет обновлять все обновляемые пакеты.

Если вам нужна конкретная версия пакета, который вы бы сделали:

  • apt-get <package_name>=<verson> или apt-get -t <version> <package_name>

С apt-get -t <version> <package_name> вы можете указать target-release как -t '2.1 *', -t нестабильно или -t sid.

Если вам нужен список доступных версий:

  • apt-cache showpkg <package_name>
ответ дан precise 09.11.2013 в 06:02