с yum, как вы можете удалить пакет, но не удалить его зависимости одновременно?

13

Сегодня, если я это сделаю, $ yum remove packageAменя встретят:

Removing:
packageA                        noarch                 3.5.1.b37-15                                 @yumFS                 293 k
Removing for dependencies:
 packageB                      noarch                 3.5.1.b125-7                                 @yumFS                  87 M
..
Is this ok?

Я хотел бы удалить packageA, не удаляя packageB (и т. Д.), Возможно ли это?

rogerdpack
источник
1
Возможно ? Да. Но вся цель менеджеров пакетов - предотвратить именно это. Поищите в «RPM Hell» хорошую идею о том, что вы настраиваете, делая такие вещи.
DopeGhoti

Ответы:

18

Появляется возможным , используя rpm:

$ rpm -e --nodeps packageA

хотя, очевидно, будьте очень осторожны, поскольку, если вы удалите пакет зависимостей и не вернете его обратно, это может привести к неожиданным результатам для пакетов, которые все еще зависят от него ...

rogerdpack
источник
Вопрос по этому поводу. У меня была проблема с зависимостью версии, предупреждение было Application built with libpng-1.6.16 but running with 1.5.13. Я думал, что просто поменяю его, но yumхотел удалить тонну вещей, если я сначала удалил libpng. Таким образом, я использовал подход, который вы показали здесь, чтобы удалить оба, libpngа libpng-develзатем собрал и установил libpng-1.6.1из источника, и моя проблема ушла. Хотя это сработало для программного обеспечения, в котором я сразу нуждался (Mapnik), могу ли я поверить, что я не сломал что-то еще в обратном направлении, например, то, что yumизначально хотел удалить вместе с libpng?
Элробис
То есть не было варианта пакета для установки 1.6? Хм, я догадываюсь, что они используют разделяемые библиотеки, и вы хорошо, но они не были протестированы менеджерами пакетов, так что ... Я не знаю, как работает система управления пакетами.
rogerdpack
1

Я обнаружил, что это можно сделать с помощью yum:

sudo yum remove --noautoremove <package name>
Jaime
источник
2
Хм ... Я попробовал это на CentOS 6 и 7 и получил "нет такой опции: --noautoremove" какие-нибудь идеи?
rogerdpack
3
Я был на fedora 29, когда делал тестирование нового пакета, который я только что создал. Хм .. интересно, если это единственная вещь Fedora.
Хайме