壊れたシナプス更新を修正する方法:「パッケージは非常に悪い一貫性のない状態です」


15

Ubuntu 8.10を実行しているDell Mini9があります。ある日、LAMPスタックをインストールできるかどうかを確認するという素晴らしいアイデアがありました。MySQL 5.0のインストールに問題がありました。エラーは思い出せませんが、update-manager、synaptic、またはapt-getを実行しようとすると、mysql-server-5.0に関するエラーで失敗します。「パッケージは非常に矛盾した状態です」。

apt-get remove mysql-server-5.0も試しましinstallたが、運はありませんでした。両方とも以下の同じエラーで失敗します。どうすれば修正できますか?

$ sudo apt-get remove mysql-server-5.0
パッケージリストを読み込んでいます...完了
依存関係ツリーの構築       
状態情報を読み込んでいます...完了
次のパッケージは自動的にインストールされ、不要になりました。
  dhcdbd libisc32
それらを削除するには、「apt-get autoremove」を使用します。
次のパッケージは削除されます。
  mysql-server-5.0
0がアップグレードされ、0が新しくインストールされ、1が削除され、164がアップグレードされていません。
1完全にインストールまたは削除されていません。
この操作の後、85.4MBのディスクスペースが解放されます。
続行しますか[Y / n]? 
dpkg:mysql-server-5.0の処理エラー(--remove):
 パッケージは非常に不整合な状態です。
 削除する前に再インストールしてください。
処理中にエラーが発生しました:
 mysql-server-5.0
E:サブプロセス/ usr / bin / dpkgがエラーコードを返しました(1)

構文の強調表示が不要な画面出力には、<pre>の使用を検討してください。
ジョンオックスリー

回答:


19

Maverickでは、他の答えはどれもうまくいきませんでした。

私の場合、これが機能していることがわかりました。

sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm

sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

(「flashplugin-nonfree」を壊れたパッケージの名前に置き換え、「prerm」を失敗したスクリプトのタイプに置き換えます。私の場合は「postrm」、削除後のスクリプトです。)

そして、彼らはUbuntuが使いやすいと言います!! 不平を言う不平を言う



1
私は同様の問題の解決策を何時間も探していましたが、これが唯一の解決策です。ありがとうございました。
LukeGT

6

mysqlインストールでもまったく同じ問題がありました。パッケージをパージする必要があります。パッケージを単純に削除しても、パッケージに付属の構成ファイルは削除されません。

また、mysql-server-5.0を参照しますが、常に最新バージョンを指すラッパーパッケージmysql-serverがあることを認識しています。つまり、mysql-serverのインストールを要求した場合、apt-getmysql-server-5.0に依存していることを通知し、両方をインストールする必要があります。システムにmysql-serverパッケージがある場合は、再インストールを試みる前にそれも削除されていることを確認する必要があります。

  • mysqlサーバー(mysqld)が実行されていないことを確認してください。もしそうなら、それを下に持って行きます:

    sudo /etc/init.d/mysqld stop

  • mysql-server-5.0に依存するパッケージがあるかどうかを確認します。

    sudo apt-cache rdepends mysql-server-5.0

    存在する場合は、-forceオプションを使用してアンインストールする必要があります。

  • パッケージを削除します(#2に応じて--forceオプションを含めます)

    sudo apt-get --purge remove --force mysql-server-5.0

  • 以下を実行して、インストーラーファイルもクリアされていることを確認します。

    sudo apt-
    get autoclean sudo apt-get autoremove

  • サーバーパッケージを再度インストールする

    sudo apt-get install mysql-server-5.0

これで問題を解決できるはずです。ただし、mysql-commonパッケージからのファイルに変更を加えた場合、パッケージはまだ壊れている可能性があります。

mysql-commonは、クライアントコンポーネントとサーバーコンポーネントの両方で使用される基本パッケージです。それでも問題が解決しない場合は、このパッケージを再インストールしてください。これに依存するパッケージは間違いなくあります。上記の#2を使用して確認してください。mysql-commonを再インストールする前にmysql-serverをパージします。また、mysql-commonを再インストールすることを忘れないでください。そうしないと、システムが非常に壊れてしまいます。


1

aptitude依存関係の処理が改善された試してみることができます。

sudo aptitude remove mysql-server-5.0

ここでのエラーはdpkg'sであるため、aptitude必ずしもこれ以上うまくいくとは思わない。誤解しないで、私はすべてのためだaptitude以上apt-getが、一日の終わりに、彼らは両方の手にオーバー本当の核心ザラザラdpkg(あなたは、もともとPerlで実装された聞くことが幸せになるでしょう)。
テレマコス

;-)試してみる価値があると思いました。
innaM

0

試して

sudo dpkg -i reconfigure mysql-server-5.0
sudo apt-get remove --force mysql-server-5.0

別のパッケージが破損している場合は、そのパッケージも試しapt-get remove --forceてください。


0

そこにあるdpkgエラーdpkgは、パッケージを実際に削除しようとしたときに問題が発生することを示唆しています。(一日の終わりに、apt-getなどSynapticが実際の作業をに引き渡しdpkgます。)

メッセージの内容を正確に実行して、最初にインストールしてみましたか?

apt-get install --reinstall mysql-server-5.0

聞こえるかもしれませんが、ばかげている dpkg、削除プロセス中に窒息している(削除するはずのファイルが途中でなくなっているため)、再インストールしてから削除することが役立つ場合があります。nagulが示唆mysqlするように、インストールまたは削除を試みる前に、それが実行されていないことを確認してください。


0

dpkg -r --force-remove-reinstreq <package> 再インストールが必要かどうかを確認せずにパッケージを削除します。

その後、好みのパッケージマネージャーでパッケージを再インストールできるはずです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.