Как вы можете снять (убрать удержание) посылку?

49

Я использовал synaptic для блокировки версии pidgin-data- как я могу изменить статус с holdобратно на нормальный, чтобы он обновлялся должным образом?

В PinningHowto говорится, что выполнение команды withapt-get install packagename следует удалить hold, но выполнение dpkg -l | grep ^hвсе равно показывает, что оно выполнено:

hi  pidgin-data                                                 1:2.10.6-0ubuntu1+pidgin1.12.04                            multi-protocol instant messaging client - data files

Как я могу правильно отменить holdстатус?

Дэвид Фрейзер
источник

Ответы:

59

Вы можете использовать sudo apt-mark unhold package_name. Пакет отпущенный и возвращает подтверждение: Canceled hold on package_name..

DrA7
источник
1
Ваша sudoпроблема, вероятно, потому что вы написали просто sudo echo "package_name install"|dpkg --set-selections. Это sudo, echoно не следующий канал, следовательно, ошибка доступа. Попробуйте вместо этого: sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'. Это sudo-sub-shell с командной строкой echo "package_name install"|dpkg --set-selections.
Urhixidur
1
Мой ответ был несколько связан с неотредактированной версией ответа ниже, которая ранее включала именно ту команду, на которую я ссылался. Однако этот вопрос специально используется apt-getв качестве примера, и поэтому я ответил на вопрос, apt-markкоторый включен в пакет apt . Однако очень полезно точно знать, почему команды dpkg не работали.
DrA7
@ DrA7 имя_пакета уже не удерживается. Что мне теперь делать?
Dr.jacky
13

Правильный способ снять трюм должен быть:

echo "package_name install"|sudo dpkg --set-selections
жасмин
источник
2

Отключить один пакет с именем $ package_name:

echo $package_name install | dpkg --set-selections

Отменить все пакеты, которые в настоящее время проводятся:

dpkg --get-selections | grep hold | awk '{ print $1, "install" }' | dpkg --set-selections
Эрл Руби
источник
1

Запустить echo pidgin-data install | dpkg --set-selections(заменить pidgin-dataна имя удерживаемого пакета) - это изменит статус пакета installвместо hold.

Дэвид Фрейзер
источник
1

Вы можете разблокировать все пакеты APT с:

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
panticz.de
источник