Bozuk paket kurulumu (MySQL) nasıl onarılır


15

Ubuntu 16.04'e yükselttikten sonra, mysql'ın akıllara durgunluk veren hatalar olduğunu fark ettim. İkna, kırık bir kurulum oldu, mysql tasfiyesi çalıştırmayı denedim. Bu her şeyi silmek gibi görünmüyordu, bu yüzden kendim yapmayı denedim:

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

Bu bir hataydı. ASLA bunu yapmaya çalışmayın. Şimdi mysql doğru bir şekilde kurulmayacak. Sınırları yeniden yüklemeyi denedim:

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

Ve paketlerin kendileri:

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

Ama ben her türlü şifreli hatalar alıyorum, örneğin:

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

Ve kaldırma

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.

Veya yeniden yapılandırırsam

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

Veya yüklemeye zorlarsam:

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)

Veya bir tasfiye yaparsam:

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)

Apt kısmi kurulumdan kurtulamıyor mu? İşletim sistemini yeniden yüklemem gerekiyor mu ??


tarafından daha basit bir yaklaşım yapmaya çalıştınız sudo apt-get install --reinstall mysqlmı?
Videonauth

Bunlardan hataları içerecek şekilde güncelledim
Jonathan

Belki sohbete girmek istersiniz ve bunu çözüp çözemeyeceğimizi görürüz.
Videonauth

Yanıtlar:


22

Bozuk paketleri temizlemek için aşağıdakileri yapın:

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 

Bundan sonra yeniden yükleyin:

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

çok teşekkürler!! bağımlılıkları tek tek kaldırmak, apt-get
stuck'tan

Bunun için +1. MySQL'in kaldırılması için kaldırılacak paketlerin tamamını belirttiğiniz için teşekkür ederiz. Benim için de çalıştı.
Parveen Verma

Benim ubuntu 18.04 üzerinde mysqlclient (çalışan 3 komut) kaldırmak için çalışıyor: bağımlılık sorunları mysql-istemci-5.7 kaldırılmasını önlemek: mysql-sunucu-5.7 mysql-istemci-5.7 (> = 5.7.26-0ubuntu0.18.04 bağlıdır. 1). dpkg: hata işleme paketi mysql-client-5.7 (--remove): bağımlılık sorunları - kaldırılmıyor İşleme sırasında hatalarla karşılaşıldı: mysql-client-5.7, ancak sudo apt purge mysql-server mysql-server-5.7 mysql-server- Burada olduğu gibi core-5.7 askubuntu.com/questions/760724/16-04-upgrade-broke-mysql-server örneği silmiş gibi görünüyor
Carmine

şimdi sudo apt install openjdk-8-jre openjdk-8-jdk yüklemeye çalışırken bir sürü hata aldım.
Carmine

Daha önce mysql güncellemesini temizleme girişimimi engelleyen işlemi bulabildim, gerçekten sistemimde çalışan bir örneği durdurdum, sonra bağlantılı diğer çözümden temizledim. Bundan sonra sistemimin güncellendiğinden emin oldum. Gerçekten bir şekilde birçok güncellemeyi özlediğimi öğrendim. Bundan sonra şimdiye kadar kendini mysql örneği gerektiren java sdk kurulumu iyi devam ediyor gibi görünüyor
Carmine

13

@Videonauth sayesinde

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

Sonra çalışıyor:

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

Bir şey başarısız olursa, sadece çalıştırın sudo dpkg -r <failedpackage>ve bu başarısız olursa, bağımlı olan paketi kaldırın. Tekrar ederseniz, sonunda apt-get tekrar çalışır.

Ayrıca bkz. Dpkg ile aptitude / apt-get arasındaki fark nedir?


Diğer paketler onlara güvenmesine rağmen bu libmysqlclient paketlerini kaldırmak ve her şeyi temizlemek hile yaptı. Gerçi şimdi mysql_upgrade hataları alıyorum.
skerit

Hiç mysql_upgrade hataları almadım. Ancak daha da fazla paketi kaldırmanız gerekebilir . Sanırım hangi paketin bozulduğuna bağlı. Yüklü mysql ile ilgili tüm paketleri aramak için bir yol var ama nasıl unutuyorum. Bence bu grep'ten aktarılan bir dpkg listesi komutu
Jonathan

9

Bunu dene,

mysql'i temizlemek için bu komutu çalıştırın, 5.7 sürümünü kurulu sürümünüzle değiştirin

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

paketleri temizlemek ve güncellemek için bunu çalıştır

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

sonunda mysql'i yükle

sudo apt install mysql-server

bu benim için çalıştı.


1
Bu benim için çalıştı, seçilen cevap (başarısız oldu sudo dpkg -r mysql-client-5.7)
jeff-h

teşekkür ederim! Saatlerce bir çözüm arıyordum ve bu tek cevap işidir!
mirza

1
Bu benim için çalıştı. Bu eğitim de yardımcı oldu.
nwaweru

4

mysqlYukarıda gösterildiği gibi temizledikten sonra , mysql'i şu şekilde yüklemeniz gerekir:

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

Bu şekilde yüklediğinizde, bir yükleme hatası yaşamayacaksınız.


bu benim için çalışıyor
user1735921

2

Kesin sebebini bilmiyorum, ama tüm bu yöntemler benim için işe yaramadı. Benim durumumda, sorunu düzelten prosedür:

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*

ve yeniden başlatın !

sonunda koşabildim sudo apt-get install mysql-server!


Teşekkürler benim için çalıştı
Nijo

1

Bu benim için çalıştı

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

sonra mysql ile tekrar yükledim

sudo apt-get install mysql-server ve şimdi iyi çalışıyor.


0

Sudo dpkg -r komutu benim için çalışmıyor.

Ben kullanılan sudo apt-get purge mysql-*tüm releated pageage kaldırıp onları yeniden

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.