web-dev-qa-db-ja.com

壊れたシナプス更新を修正する方法:「パッケージは非常に悪い矛盾した状態にあります」

私はUbuntu 8.10を実行しているDell Mini9を持っています。ある日、私はLAMPスタックをインストールできるかどうかを確認する明るいアイデアを思いつきました。 MySQL 5.0のインストールに問題がありました。私はエラーを思い出しませんが、update-manager、synaptic、またはapt-getを実行しようとすると、mysql-server-5.0に関するエラーが発生して失敗します。

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

 $ 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)
を返しました
15
spoulson

他の答えはどれも私にとってマーベリックではうまくいきませんでした。

私の場合、これはうまくいったことがわかりました:

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

Sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

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

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

19
Robin Green

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

また、mysql-server-5.を参照しますが、常に最新バージョンを指すラッパーパッケージmysql-serverがあることを理解してください。つまり、インストールを要求した場合mysql-serverapt-getは、それがmysql -server-5.と両方をインストールします。システムに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

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

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

6
user4358

aptitudeを試してみると、依存関係の処理が向上します。

Sudo aptitude remove mysql-server-5.0
1
innaM

試す

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

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

0
John Oxley

私は郵便配達員にこの問題がありました。 /etc/init.d/mailmanを削除

rm /etc/init.d/mailman

修正しました:)

0

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

メッセージが言っていることを正確に試し、re-最初にインストールしましたか?

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

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

0
Telemachus

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

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

0
Jaime Soriano