Question Comment corriger l'erreur dpkg (1)


Pour être honnête, je n'utilise pas Ubuntu mais Debian (7.8), mais comme les commandes sont presque identiques et que cela ne me semble pas être un problème lié au système d'exploitation, j'ai pensé que je le poserais sur ce forum glorieux.

J'ai un problème en essayant de mettre à niveau mon système. J'ai essayé de courir apt-get upgrade -f (tout est en root btw) mais le résultat est le suivant:

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)  

Maintenant, j'ai essayé de rechercher dpkg renvoyant le code d'erreur (1), mais je ne peux pas vraiment résoudre ce problème.

J'espère que quelqu'un pourra me proposer l'aide dont j'ai besoin, je l'apprécierais vraiment.

Sincères amitiés,
Rémy

EDIT >>

@ vembutech J'ai essayé de regarder dans / var / lib / dpkg / status et j'ai trouvé ce qui suit à propos de mysql-server-5.5 [http://pastebin.com/8DzKnY2x][1].

@ Wang Xiaoyu Je n'obtiens que les lignes suivantes lors de cette commande:

Lire les listes de colis ... Fait
  Arbre de dépendance du bâtiment
  Lecture des informations d'état ... Terminé

@ octavien Lorsque j'essaye d'arrêter mysqld, j'obtiens l'erreur suivante:

root @ 149-210-180-7: ~ # service mysqld stop
  mysqld: service non reconnu

Cependant, lorsque j'essaye d'arrêter mysql, j'obtiens l'erreur suivante:

[FAIL] Arrêter le serveur de base de données MySQL: mysqld a échoué!


1
2018-01-13 11:44


origine


Essayez avec la commande suivante et vérifiez si le statut de dpkg. sudo -i, gedit / var / lib / dpkg / status. - vembutech
@vembutech J'ai répondu avec une modification - Handige Harrie
Cela a glissé à travers la migration mais à l'avenir, s'il vous plaît utilisez unix.stackexchange.com - RolandiXor♦
Je n'étais pas au courant de ce sous-domaine, je l'utiliserai dans le futur. - Handige Harrie


Réponses:


Il semble que vous ayez besoin d'arrêter / tuer la base de données MySQL en premier, puis de mettre à jour:

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

Je ne suis pas sûr de savoir comment est appelé l'exécutable, mais s'il y a "sql" dans son nom quelque part, alors cela devrait trouver son pid (peut-être parmi d'autres):

ps aux | grep -i sql

Alors essayez de le tuer (kill <pid> ou kill -9 <pid> ou sudo kill <pid>, etc ...) et une autre ps juste au cas où il serait re-engendré.

Ensuite, installez et ça devrait marcher ...?


3
2018-01-14 02:02



Merci beaucoup! Après avoir tué le processus mysqld en cours d'exécution avec la commande kill, tout s'est bien passé! - Handige Harrie
Pas de problème, la réponse acceptée / check-check, + upvote, ça suffit :-) Pourquoi mysqld ne s'arrêterait pas, je n'en suis pas sûr. La recherche de mysql-server-5.5 5.5.38-0 + wheezy1 a eu un succès similaire superuser.com/questions/502822/… leurs réponses devaient remplacer "my-huge.cnf" par l'original "my.cnf", ou même purger "toute l'application mysql" et supprimer /var/lib/mysql mais cela supprime également votre data / databse, donc je n'aime pas cette idée sans une bonne sauvegarde en premier (devrait également sauvegarder avant une mise à niveau, pour être un "utilisateur parfait" ;-) - Xen2050


Il me semble que tu avais mysql-server-5.5 déjà installé, au moins le démon mysqld est en cours d'exécution. dpkg ne parvient pas à arrêter ce démon. Essayez de l'arrêter manuellement avant de l'exécuter apt-get upgrade -f via sudo service mysqld stop.


0
2018-01-13 13:39



J'ai répondu avec une modification - Handige Harrie
Ok, vérifions si le service fonctionne du tout: ps aux | grep mysql - octavian


ok, ça a l'air faux avec l'installation. Donc, vous pouvez essayer

dpkg -C  ou sudo apt-get check 

pour trouver des informations sur error code 1. 


0
2018-01-13 14:04



J'ai répondu avec une modification - Handige Harrie
je l'ai trouvé qui est E: Sub-process /usr/bin/dpkg returned an error code (1) . vous savez, si apt-get upgrade opération génère un code d'erreur, tel que le code d'erreur (1), qui peut être trouvé des informations de journal en utilisant dpkg -C commander. êtes-vous sûr de faire dpkg -C commander? - Wang Xiaoyu