भ्रष्ट पैकेज स्थापना (mysql) की मरम्मत कैसे करें


15

उबंटू 16.04 में अपग्रेड करने के बाद, मैंने देखा कि mysql में मनमौजी त्रुटियाँ थीं। माना जाता है, यह एक टूटा हुआ सेटअप था, मैंने mysql का पर्स चलाने की कोशिश की। यह सब कुछ हटाने के लिए नहीं लगता था, इसलिए मैंने इसे स्वयं करने की कोशिश की:

sudo rm -r /etc/mysql
sudo rm -r /usr/share/mysql-workbench
sudo rm -r /usr/share/mysql
sudo rm -r /usr/share/mysql-common

यह एक गलती थी। कभी भी ऐसा करने की कोशिश न करें। अब mysql भी सही ढंग से स्थापित नहीं होगा। मैंने आश्रितों को पुनः स्थापित करने की कोशिश की है:

sudo apt-get install --reinstall $(apt-cache depends mysql-server | grep -Po 'Depends:\s+\K[^ ]+$' | tr '\n' ' ' )

और पैकेज खुद:

sudo apt install mysql-workbench mysql-server --reinstall

लेकिन मुझे सभी प्रकार की गुप्त त्रुटियाँ मिलेंगी, जैसे:

sudo apt-get install --reinstall mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not         upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Internal Error, No file name for mysql-server:amd64

और अनइंस्टॉल कर रहा है

sudo apt-get remove mysql-common
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:
 libmysqlclient20 : Depends: mysql-common (>= 5.5) but it is not going to be installed
 mariadb-client-core-10.0 : Depends: mariadb-common (>= 10.0.24-7) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

या अगर मैं पुन: कॉन्फ़िगर करता हूं

sudo dpkg --configure -a
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server

या अगर मैं बल स्थापित करता हूं:

sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

या अगर मैं एक पर्स करता हूं:

sudo apt-get -f purge mysql-server 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  mysql-server*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 159 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 348226 files and directories currently installed.)
Removing mysql-server (5.7.12-0ubuntu1) ...
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
/var/lib/dpkg/info/mysql-server-5.7.postinst: line 112: /usr/share/mysql-common/configure-symlinks: No such file or directory
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)

क्या एक आंशिक स्थापित से पुनर्प्राप्त करने में असमर्थ है? क्या मुझे ओएस को फिर से स्थापित करना है ??


क्या आपने एक सरल दृष्टिकोण करने की कोशिश की है sudo apt-get install --reinstall mysql?
वीडियोनौथ

मैंने उन लोगों से त्रुटियों को शामिल करने के लिए अद्यतन किया
जोनाथन

शायद आप चैट में आना चाहते हैं और हम देखते हैं कि क्या हम इसे सुलझा सकते हैं।
विदेहोनथ

जवाबों:


22

टूटे हुए पैकेज को साफ करने के लिए निम्न कार्य करें:

sudo apt-get clean
sudo apt-get update
sudo dpkg -r mysql-client-5.7
sudo dpkg -r mysql-server-5.7
sudo dpkg -r libmysqlclient20:i386
sudo dpkg -r libmysqlclient20:amd64
sudo dpkg -r libmysqlclient18:amd64
sudo dpkg -r mysql-common
sudo dpkg -r mysql 

इसके बाद इसे फिर से स्थापित करें:

sudo apt-get install mysql mysql-client* mysql-server*

बहुत बहुत धन्यवाद!! एक-एक करके निर्भरता को दूर करना ही एकमात्र विकल्प है जिससे आप बाहर निकलना चाहते हैं
स्टैकमोंक

इसके लिए +1। हटाने के लिए MySQL के लिए हटाए जाने वाले पैकेजों के पूर्ण ढेर का उल्लेख करने के लिए धन्यवाद। इसने मेरे लिए भी काम किया।
परवीन वर्मा

मेरे ubuntu 18.04 पर mysqlclient (3 डी कमांड चलाने) को हटाने की कोशिश कर रहा है: निर्भरता की समस्याएँ mysql-client-5.7 को हटाने से रोकती हैं: mysql-server-5.7 mysql-client-5.7 (> = 5.7.26-0ubuntu0.18.04) पर निर्भर करता है। 1)। dpkg: त्रुटि प्रसंस्करण पैकेज mysql-client-5.7 (--remove): निर्भरता की समस्याएं - प्रसंस्करण करते समय त्रुटियों को दूर नहीं किया गया था: mysql-client-5.7, लेकिन चलने वाला sudo apt purge mysql-server mysql-server-5.7 mysql-server- कोर -5.7 जैसा कि यहाँ से पूछना है ububuntu.com/questions/760724/16-04-upgrad-broke-mysql-server से लगता है कि इसका उदाहरण हटा दिया गया है
Carmine

अब मुझे त्रुटि का एक गुच्छा मिल गया है क्योंकि मैं sudo apt install openjdk-8-jre openjdk-8-jdk स्थापित करने का प्रयास कर रहा था।
कार्मिन

मैं उस प्रक्रिया को खोजने में सक्षम था जो पहले mysql के अद्यतन को साफ करने के मेरे किसी भी प्रयास को अवरुद्ध कर रही थी, वास्तव में मैंने अपने सिस्टम में चल रहे एक उदाहरण को रोक दिया, फिर मैंने लिंक किए गए अन्य समाधान से शुद्ध किया। उसके बाद मैंने सुनिश्चित किया कि मेरा सिस्टम अपडेट था। वास्तव में मुझे पता चला कि किसी तरह मुझे कई अपडेट याद हैं। उसके बाद अब तक जावा एसडीके की स्थापना के लिए खुद को माईस्किल उदाहरण की आवश्यकता होती है, यह अच्छी तरह से आगे बढ़ता है
कारमाइन

13

@Videonauth को धन्यवाद

sudo dpkg -r mysql-client-5.7
sudo dpkg -r mysql-server-5.7
sudo dpkg -r libmysqlclient20:i386
sudo dpkg -r libmysqlclient20:amd64
sudo dpkg -r libmysqlclient18:amd64
sudo dpkg -r mysql-common

फिर चल रहा है:

sudo apt-get purge mysql\* mariadb\* libmysql\* libmariadb\*

यदि कुछ भी विफल रहता है, तो बस चलाएं sudo dpkg -r <failedpackage> और यदि THAT विफल रहता है तो केवल उस पैकेज को हटा दें जो उस पर निर्भर है। यदि आप दोहराते हैं, तो अंत में फिर से काम करेगा।

यह भी देखें कि dpkg और aptitude / apt-get में क्या अंतर है?


उन libmysqlclient पैकेजों को हटाते हुए, भले ही अन्य पैकेज उन पर भरोसा करते हैं, और सब कुछ शुद्ध करने का काम किया। हालाँकि अब मुझे mysql_upgrade त्रुटियाँ मिलती हैं।
स्किट

मुझे कभी भी mysql_upgrade त्रुटियाँ नहीं मिलीं। लेकिन आपको इससे अधिक पैकेज भी निकालने पड़ सकते हैं । मुझे लगता है कि यह निर्भर करता है कि कौन सा पैकेज दूषित हो गया है। वहाँ स्थापित सभी पैकेजों के लिए खोज करने का एक तरीका है जो mysql से संबंधित हैं लेकिन मैं भूल जाता हूं कि कैसे। मुझे लगता है कि यह एक dpkg सूची कमांड है जिसे grep के माध्यम से पाइप किया जाता है
जोनाथन

9

इसे इस्तेमाल करे,

mysql को शुद्ध करने के लिए इस कमांड को रन करें, अपने इंस्टॉल किए गए संस्करण के साथ संस्करण 5.7 को बदलें

sudo apt purge mysql-client-5.7 mysql-client-core-5.7 mysql-common mysql-server-5.7 mysql-server-core-5.7 mysql-server

इसे साफ करने और संकुल अद्यतन करने के लिए चलाएँ

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove && sudo apt -f install

अंत में mysql इंस्टॉल करें

sudo apt install mysql-server

यह मेरे लिए काम किया।


1
यह मेरे लिए काम किया, जहां चयनित उत्तर नहीं दिया (यह विफल रहा sudo dpkg -r mysql-client-5.7)
jeff-h

धन्यवाद! मैं घंटों के लिए एक समाधान की तलाश में था और यह एकमात्र उत्तर काम करता है!
मिर्ज़ा

1
इसने मेरे लिए काम किया। इस ट्यूटोरियल ने भी मदद की।
nwaweru 8

4

mysqlजैसा कि ऊपर दिखाया गया है, शुद्ध करने के बाद , आपको mysql को इस तरह स्थापित करना होगा:

sudo apt-get install mysql-common 
sudo apt-get install mysql-server

जब आप इस तरह से स्थापित करते हैं, तो आपके पास एक अधिष्ठापन त्रुटि नहीं होगी।


यह मेरे लिए काम करता है
user1735921

2

मुझे इसका सही कारण नहीं पता, लेकिन ये सभी तरीके मेरे काम नहीं आए। मेरे मामले में, समस्या को ठीक करने वाली प्रक्रिया थी:

sudo apt-get purge mysql-*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade

sudo rm -rf /etc/mysql
sudo rm -rf /var/lib/mysql*

और रिबूट !

अंत में, मैं चलाने में सक्षम हो गया हूँ sudo apt-get install mysql-server!


धन्यवाद यह मेरे लिए काम किया
Nijo

1

इसने मेरे लिए काम किया

sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade

फिर उसके बाद मैंने फिर से mysql स्थापित किया

sudo apt-get install mysql-server और अब इसका काम ठीक है।


0

आज्ञा सूदो dpkg -r मेरे लिए काम नहीं करता है ।।

मैं sudo apt-get purge mysql-*सभी रिलेटेड पेजेज को अनइंस्टॉल करता था और फिर उन्हें रीइंस्टॉल करता था

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.