Debian - apt-get - Зависит: php5-mysql, но не будет установлен

Нам понадобился php5-mysqlnd, и, таким образом, php5-mysql был удален, и теперь пакет имеет неудовлетворенные зависимости всякий раз, когда мы хотим установить что-то с помощью apt-get.

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

Мы используем Debian 7.7 (wheezy) и apt-get. Заранее спасибо за помощь.

и вот вывод:

 The following packages have unmet dependencies:
     psa-php5-configurator : Depends: php5-mysql but it is not going to be installed
    E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
    -mysql but it is not going to be installed

2 ответа

Решение

Эта проблема вызвана Plesk 12, который не поддерживает mysqlnd. Кажется, что он работает с mysqldn, хотя официально не поддерживается. Не рекомендуется изменять эти параметры в производственной среде. Это безобразный хак, но это можно сделать.

Вам нужно изменить пакет.deb и удалить конфликтующие зависимости. Получите пакет.deb и распакуйте его во временный каталог:

dpkg-deb -x psa-php5-configurator_x.x.x-x_x.deb tmp_dir
dpkg-deb --control psa-php5-configurator_x.x.x-x_x.deb tmp_dir/DEBIAN

Теперь вы можете редактировать пакет по своему желанию, а затем перепаковать и установить его:

dpkg -b tmp_dir psa-php5-configurator_my-ugly-hack.deb
sudo dpkg -i psa-php5-configurator_my-ugly-hack.deb

Обратите внимание, что, поскольку это ужасный хак, вам нужно делать это снова при каждом обновлении Plesk. Удачи в выбранном вами пути.

Если мы считаем, что функциональность php5mysql заменена, и система будет работать без пакета, мы можем создать фиктивный пакет, предоставляющий имя этого пакета. WIMS - инструмент, генерирующий такой пакет.

установить эквивалент. документация краткая, а использование простое. мы пишем файл конфигурации. мы можем начать с примера файла конфигурации шаблона.

equivs-control /dev/stdout > f

затем отредактируйте файл f. мы можем оставить большую часть нетронутой, но изменим строку "Package:" с помощью

"Package: php5-mysql"

и соберите пакет в соответствии с файлом конфигурации.

equivs-build f

эта продукция в рабочем каталоге

php5-mysql_<version>_<architecture>.deb

где версия и архитектура определены в файле конфигурации, и по умолчанию "1.0" и "все", соответственно. пакет не содержит ничего установить пакет. apt удовлетворяется, когда другие пакеты зависят от php5mysql.

Другие вопросы по тегам