LINUX.ORG.RU

Sub-process /usr/bin/dpkg returned an error code (1) при попытке устновки mariadb

 , ,


0

1

Всем привет! Продолжаю разбираться с настройкой веб серера на Ubuntu. Такая проблема: не могу установить MariaDB.

apt install mariadb-server

выдает:

dpkg: error while cleaning up:
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 mysql-server-8.0
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

Как пытался решить (не помогло):

dpkg --configure -a
apt-get install -f
apt remove mysql-server-8.0


Последнее исправление: VasyOK_ZP (всего исправлений: 1)
Ответ на: комментарий от Dimez
dpkg -l | grep mysql
ii  mysql-client-8.0                      8.0.34-0ubuntu0.20.04.1                      amd64        MySQL database client binaries
ii  mysql-client-core-8.0                 8.0.34-0ubuntu0.20.04.1                      amd64        MySQL database core client binaries
ii  mysql-common                          5.8+1.0.5ubuntu2                             all          MySQL database common files, e.g. /etc/mysql/my.cnf
iF  mysql-server-8.0                      8.0.34-0ubuntu0.20.04.1                      amd64        MySQL database server binaries and system database setup
ii  mysql-server-core-8.0                 8.0.34-0ubuntu0.20.04.1                      amd64        MySQL database server binaries

VasyOK_ZP
() автор топика
Ответ на: комментарий от Dimez
apt purge mysql-server-8.0

в конце выдало:

dpkg: error while cleaning up:
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 mysql-server-8.0
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

Потом выполнил.

apt-get autoremove
apt-get autoclean

вроде не помогло…

VasyOK_ZP
() автор топика
Ответ на: комментарий от VasyOK_ZP

нужно смотреть этот самый post-installation script и пытаться понять, что там ему вдруг не нравится. Дело это непростое и заумное, поэтому попробуем вариант попроще

sudo -i
strace -fe trace=%file -o apt_trace.log apt purge mysql-server-8.0

apt_trace.log залей на какой-нибудь пастебин и дай ссылку здесь

d00fy ★★★
()
Ответ на: комментарий от VasyOK_ZP

классика, в которую каждый раз тыкаю носом нелюбителей снапа.

Найди хук, который падает, удали его, деинсталлируй, установи заново, надейся, что хвостов не осталось. Гарантированно в общем случае поможет только переустановка ОС.

HE_KOT
()
Ответ на: комментарий от HE_KOT

классика, в которую каждый раз тыкаю носом нелюбителей снапа.

Т.е. я правильно понимаю, что ты предлагаешь БД завернуть в snap?

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от d00fy
strace -fe trace=%file -o apt_trace.log apt purge mysql-server-8.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl
  libhtml-template-perl libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libtimedate-perl
  liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  mysql-server-8.0*
0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
1 not fully installed or removed.
After this operation, 1456 kB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 104994 files and directories currently installed.)
Removing mysql-server-8.0 (8.0.34-0ubuntu0.20.04.1) ...
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing package mysql-server-8.0 (--remove):
 installed mysql-server-8.0 package pre-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Failed to stop mysql.service: Unit mysql.service not loaded.
invoke-rc.d: initscript mysql, action "stop" failed.
Failed to preset unit: File mysql.service: Link has been severed
/usr/bin/deb-systemd-helper: error: systemctl preset failed on mysql.service: No such file or directory
Failed to start mysql.service: Unit mysql.service not found.
invoke-rc.d: initscript mysql, action "start" failed.
Unit mysql.service could not be found.
dpkg: error while cleaning up:
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 mysql-server-8.0
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

apt_trace.log первые 4 тыс строк: https://pastebin.com/CmivrXNn

VasyOK_ZP
() автор топика
Последнее исправление: VasyOK_ZP (всего исправлений: 2)
Ответ на: комментарий от Dimez

ты предлагаешь БД завернуть в snap

Я предлагаю закопать наконец dpkg, пытающийся выцепить нужные файлы из общей помойки. А БД как угодно пусть ставит, хоть снапом, хоть докером.

HE_KOT
()
Последнее исправление: HE_KOT (всего исправлений: 1)
Ответ на: комментарий от Dimez

А, уже показал. Ты зачем-то удалил файл сервиса руками (хотя вроде нет), удалятор не может стопануть mysql (хотя странно, можно и пропустить этот процесс)

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Dimez
dpkg -l | grep -v "^ii"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                  Version                                      Architecture Description
+++-=====================================-============================================-============-===============================================================================
rc  git                                   1:2.25.1-1ubuntu3.11                         amd64        fast, scalable, distributed revision control system
rc  linux-image-5.4.0-62-generic          5.4.0-62.70                                  amd64        Signed kernel image generic
rc  linux-modules-5.4.0-62-generic        5.4.0-62.70                                  amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
rc  linux-modules-extra-5.4.0-62-generic  5.4.0-62.70                                  amd64        Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP
rc  mariadb-client-10.3                   1:10.3.38-0ubuntu0.20.04.1                   amd64        MariaDB database client binaries
ic  mariadb-common                        1:10.3.38-0ubuntu0.20.04.1                   all          MariaDB common metapackage
rc  mariadb-server-10.3                   1:10.3.38-0ubuntu0.20.04.1                   amd64        MariaDB database server binaries
iF  mysql-server-8.0                      8.0.34-0ubuntu0.20.04.1                      amd64        MySQL database server binaries and system database setup

Что делал. Устновил на серер php, nginx, mysql, mariadb в этом порядке. Возможно отключал включал 22 порт.

VasyOK_ZP
() автор топика
Ответ на: комментарий от Dimez

я уже сказал - в общем случае такое не лечится по причине архаичности пакетного менеджера, а искать, что именно не нравится кривым мариевским портянкам на баше, можно полторы недели. Кто вообще в здравом уме юзает MariaDB, это ж полуживой кошмар.

HE_KOT
()
Ответ на: комментарий от HE_KOT

ОС - Ubuntu. Сначала mysql, потом mariadb. Потом попытался удалить mysql

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
VasyOK_ZP
() автор топика
Последнее исправление: VasyOK_ZP (всего исправлений: 1)
Ответ на: комментарий от VasyOK_ZP

на уровне ОС - неа, нету. Собственно, предложения прежние - найти, какой скрипт падает при удалении, снести его (переместить на случай, если не тот найдёшь), прогнать цикл удаление-установка-удаление, чтобы всё очистилось. Или подождать того чела, который хочет сделать всё по красоте и разобраться, какие именно файлы поломались. Оба варианта одинаково паршивы, лол.

HE_KOT
()
Ответ на: комментарий от d00fy

systemctl disable mysql.service - вот после этого mysql вроде бы удалось удалить и я поставил MariaDB:

apt install mariadb-server
...
*** debian-start (Y/I/N/O/D/Z) [default=N] ? Y

Запускаю:

mysql_secure_installation
Enter current password for root (enter for none): 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Почему оно не коннектится?

Потом выполнил

systemctl start mariadb
systemctl enable mariadb

эээээ…..

VasyOK_ZP
() автор топика
Последнее исправление: VasyOK_ZP (всего исправлений: 2)
Ответ на: комментарий от VasyOK_ZP

У тебя в /var/lib/dpkg/info/ лежат скрипты вида

  • mysql-server-8.0.postinst
  • mysql-server-8.0.postrm
  • mysql-server-8.0.preinst
  • mysql-server-8.0.prerm

если у тебя нет других идей, можно просто удалить их. или лучше добавить ближе к началу «exit 0»

З.Ы. а место на диске случайно не закончилось?

router ★★★★★
()
Ответ на: комментарий от router

router, уже не лежат.

d00fy, спасибо! Несколько прояснилось. Запустил

mysql_secure_installation
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Создал БД.

Но моя ЦМСка пишет. Your web server does not appear to support any common PDO database extensions. Check with your hosting provider to see if they support PDO (PHP Data Objects) and offer any databases

Есть идеи почему?

VasyOK_ZP
() автор топика
Ответ на: комментарий от d00fy

я даже +- правильные вопросы там беру, а не только ответы. https://stackoverflow.com/questions/9883968/how-to-enable-php-extensions-and-database-support осюда взял apt-get install php-mysql хоть там косвенный намек на это…

VasyOK_ZP
() автор топика