web-dev-qa-db-ja.com

aptがWheezyに依存関係をインストールしないのはなぜですか?

私が走れば

# apt-get install sendmail
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 sendmail : Depends: sendmail-bin but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

sendmail-binapt-get installコマンドに追加すると機能しますが、 squeezeでは必要ありませんでした
なぜWheezyへの依存関係を指定する必要があるのですか?

[〜#〜]編集[〜#〜]

exim4パッケージを削除すると、apt-get install sendmailは機能しますが、パッケージの依存関係に関連しているようです

[〜#〜]編集[〜#〜]

今私はスクイーズでテストしました、そしてそれは同じです!
私の問題は、パペットスクイーズのマニフェストがwheezyに対応していないことです。

4
Lluís

エラーメッセージをさらに詳しく見ると、「保持」されたパッケージがあるようです( "E:問題を修正できません。壊れたパッケージを保持しています")。

Debianでパッケージを保持して、パッケージがアップグレードされないようにすることができます(たとえば、新しいバージョンで問題を引き起こすバグに気付いている場合)。

次のコマンドを使用して、保留中のパッケージを見つけることができます。

dpkg --get-selections | awk '{if ($2 == "hold") print $0;}'

私の推測では、現在のsendmail-binは保留されており、apt-get install sendmailは対処しませんが、apt-get install sendmail sendmail-binは、必要に応じてholdステータスをインストール、アップグレード、削除します。

6
Bruno

私はこれを新しいdebian wheezyインストールで実行しましたが、うまくいきました。設定に問題があります。最初にこれを試みましたか?

apt-get update
apt-get upgrade

このような問題に遭遇すると、アップグレードを実行すると、何かが間違っていることがわかり、次のような修正が提案されます。

apt-get -f install

次に、eximをインストールしてsendmailを削除します;-\

1
aseq

Aptが指示した内容に対する解決策を見つけようとすると、さまざまな可能性にスコアが割り当てられます。一部のアクション(パッケージの削除など)は「悪い」と見なされ、負のスコアが与えられます。スコアが悪くなりすぎると、救済されます。

残念なことに、それは少し簡単に解消し、より明確な指示を与えるまで、あなたが望んでいること(以前にMTAを削除してsendmailをインストール)しない場合があります。

インストール中に「標準システムユーティリティ」タスクを選択せず​​、MTAを必要とするものをインストールする前に、選択したMTAをインストールすると、状況はよりスムーズになります。

0
Peter Green