パッケージの保留を解除(保留を解除)するにはどうすればよいですか?


49

シナプスを使用してバージョンをロックしますpidgin-data-ステータスholdを正常から元に戻し、適切にアップグレードするにはどうすればよいですか?

PinningHowtoはやってすることを言いますapt-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.


1
あなたのsudo問題はたぶんあなたがただ書いたからですsudo echo "package_name install"|dpkg --set-selections。これにより、echo後続のパイプではなくsudo が実行されるため、アクセスエラーが発生します。代わりにこれを試してください:sudo -E -- sh -c 'echo "package_name install"|dpkg --set-selections'。これにより、コマンドラインがであるサブシェルがsudoedされecho "package_name install"|dpkg --set-selectionsます。
Urhixidur

1
私の答えは、多少の未編集バージョンに関連していた答え以前に正確にコマンドI参照含ま下記こちら。しかし、質問は具体apt-get例として具体的に使用しているためapt-markaptパッケージに含まれているものを使用して答えました。ただし、dpkgコマンドが機能しなかった理由を正確に知ることは非常に役立ちます。
DrA7 14

@ DrA7 package_nameはすでに保持されていませんでした。私は今どうすればいい?
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-selectionspidgin-data保持されているパッケージ名に置き換えます)-これにより、パッケージのステータスがinstallでなくに変更されますhold


1

以下を使用して、すべてのAPTパッケージを保留解除できます。

apt-mark showhold | awk '{ print $1, "install" }' | dpkg --set-selections
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.