
最近、Ubuntu 16.04にパッケージをインストールするコマンドを実行しました。apt-get
% sudo apt-get install <package>
apt-get
インストールできず、一部のステータスメッセージが印刷されました。最後の行は次のとおりです。
[ output truncated... ]
E: Unable to correct problems, you have held broken packages.
私が知っている限り、aptにはdpkg
パッケージのインストール状態の好みを表すことができるパッケージタグシステムがあります。
次のコマンドを使用してこのリストを表示できます。
dpkg -l
したがって、結果リストの「必須」または「インストール」状態のすべてのパッケージを使用して、他のシステムでアプリケーションのインストール状態を再生成できます。
する破損したパッケージの保管これは関係ありますか?dpkg -l
つまり、パッケージの状態に表示されているパッケージのインストール環境設定をインストールするapt-get
と、最終結果は依存関係の競合を引き起こしますか?
所有することは何を意味するか。破損したパッケージの保管?
答え1
このメッセージは、apt が何も変更しておらず、解決しようとしている破損したパッケージが同じ状態のままであることを示しています。この場合、「保留」は「保持」として使用されます。つまり、次のようになります。
問題を修正できないため、パッケージは変更されていません。
答え2
他の答えは不完全で完全に正確ではありません。
dpkg
「保留」状態があります。デフォルトでは、この状態は、最新バージョンが利用可能であっても、システムが特定の状態のパッケージをアップグレードしたくないことを意味します。この状態は手動でのみ設定できます。この状態のパッケージがあるかどうかを確認するには、を実行しますdpkg -l|grep ^h
。出力が生成されると、パッケージは保留されます。この状態のパッケージがあり、アップグレードが必要なときに表示されるapt
エラーメッセージが表示されます。
残念ながらあなたは返品apt
パッケージを表示してインストールしたいが適切な固定やその他の理由でインストールできない場合は、エラーメッセージを参照してください。この状況は、特定のファイルをインストールする権限を付与して(一時的に?)解決できますapt
。たとえば、インストールするパッケージとバージョンを明示的に一覧表示したり、パラメータを-t target-distribution
aptに渡したり、固定構成を変更して解決したりできます。