Не удалить флаг на Apt?

Есть ли в инфраструктуре пакетов Debian / Ubuntu какой-либо способ маркировки пакетов, чтобы они никогда не удалялись, независимо от закрепления других пакетов?

Моя проблема в том, что иногда пакеты устанавливаются Puppet конечно, из нестандартных репозиториев) вызывать удаление других пакетов, в частности openssh- {server, client}.

То, как это происходит, заключается в том, что пакеты A и B зависят от разных версий пакета C. Если A установлен и один просит установить B, то версия C изменится. Новая версия C несовместима с A, поэтому A удаляется.

Самое смешное, что затем процесс переворачивается, поскольку при следующем запуске Puppet замечает, что A не установлен, и пытается установить его.

Итак, в общем, я хочу убедиться, что A никогда не будет удален, что помешает установке B. Это будет сообщено как ошибка, и я узнаю о проблеме.

Если кому-то все равно, Puppet использует следующую команду для установки пакетов:

/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install <package>
3
задан 23 May 2012 в 18:45

2 ответа

Это, вероятно, может быть решено путем добавления этого к apt.conf [.d]:

Aptitude::Always-Use-Safe-Resolver "true";

И к site.pp в кукольном:

Package { provider => 'aptitude' }

проверено это должным образом все же.

0
ответ дан 23 May 2012 в 18:45

Вам необходимо «держать» пакеты так, чтобы apt-get upgrade никогда не удалял их как часть обновления до более новой версии.

echo "package-name hold" | sudo dpkg --set-selections

Однако, обратите внимание, что явное выполнение apt-get install package-name БУДЕТ отменять удержание, в то время как apt-get remove package-name БУДЕТ удалить его.

Если вы прикрепите его к определенной версии с приоритетом 1001 или выше, даже apt-get install НЕ обновит его, но его все равно можно удалить.

0
ответ дан 23 May 2012 в 18:45

Другие вопросы по тегам:

Похожие вопросы: