web-dev-qa-db-ja.com

dpkgエラーの修正方法(1)

正直なところ、UbuntuではなくDebian(7.8)を使用していますが、コマンドはほとんど同じであり、これはOS関連の問題ではないと思われるため、この素晴らしいフォーラムで質問したいと思いました。

システムをアップグレードしようとして問題があります。 apt-get upgrade -f(これはすべてルートbtwにあります)を実行しようとしましたが、次の結果が返されます。

root@*******:/# apt-get upgrade -f    
Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
The following packages will be upgraded:  
  mysql-server-5.5  
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  
8 not fully installed or removed.  
Need to get 0 B/2,093 kB of archives.  
After this operation, 6,144 B of additional disk space will be used.  
Do you want to continue [Y/n]? y  
Reading changelogs... Done  
Preconfiguring packages ...  
(Reading database ... 77057 files and directories currently installed.)  
Preparing to replace mysql-server-5.5 5.5.38-0+wheezy1 (using .../mysql-server-5.5_5.5.40-0+wheezy1_AMD64.deb) ...  
[FAIL] Stopping MySQL database server: mysqld failed!  
invoke-rc.d: initscript mysql, action "stop" failed.  
dpkg: warning: subprocess old pre-removal script returned error exit status 1  
dpkg: trying script from the new package instead ...  
[FAIL] Stopping MySQL database server: mysqld failed!  
invoke-rc.d: initscript mysql, action "stop" failed.  
dpkg: error processing /var/cache/apt/archives/mysql-server-5.5_5.5.40-0+wheezy1_AMD64.deb (--unpack):  
 subprocess new pre-removal script returned error exit status 1  
[FAIL] Stopping MySQL database server: mysqld failed!  
invoke-rc.d: initscript mysql, action "stop" failed.  
[ ok ] Starting MySQL database server: mysqld already running.  
Errors were encountered while processing:  
 /var/cache/apt/archives/mysql-server-5.5_5.5.40-0+wheezy1_AMD64.deb  
E: Sub-process /usr/bin/dpkg returned an error code (1)  

今、エラーコード(1)を返すdpkgを検索しようとしましたが、この特定のケースを実際に解決することはできません。

誰かが私に必要な助けを提供してくれることを願っています。本当に感謝しています。

敬具、
レミー

編集>>

@vembutech/var/lib/dpkg/statusを調べてみたところ、mysql-server-5.5 [ http://Pastebin.com/8DzKnY2x] [1] について次のことがわかりました。

@Wang Xiaoyuそのコマンドを実行すると、次の行しか表示されません。

パッケージリストを読み込んでいます...完了
依存関係ツリーの構築
状態情報を読み込んでいます...完了

@octavian mysqldを停止しようとすると、次のエラーが表示されます。

root @ 149-210-180-7:〜#service mysqld stop
mysqld:認識されないサービス

ただし、mysqlを停止しようとすると、次のエラーが表示されます。

[FAIL] MySQLデータベースサーバーの停止:mysqldが失敗しました!

1
Handige Harrie

最初にMySQLデータベースを停止/強制終了してから更新する必要があるようです:

[FAIL] Stopping MySQL database server: mysqld failed!  
invoke-rc.d: initscript mysql, action "stop" failed.

実行可能ファイルの名前がわからないが、どこかに「sql」という名前が付いている場合、これを実行するとpidが見つかるはずです(おそらく):

ps aux | grep -i sql

次に、それを再生成した場合に備えて(kill <pid>またはkill -9 <pid>またはSudo kill <pid>など)と別のpsを強制終了します。

その後、インストールして動作します...?

3
Xen2050

mysql-server-5.5が既にインストールされていて、少なくともmysqldデーモンが実行されているように見えます。 dpkgはこのデーモンの停止に失敗します。 apt-get upgrade -f経由でSudo service mysqld stopを実行する前に、手動で停止してください。

0
octavian

わかりました。インストールに問題があります。だから、試すことができます

dpkg -CまたはSudo apt-get check

error code 1.に関する情報を検索するには

0
Wang Xiaoyu