Назад | Перейти на главную страницу

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

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

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

Мы используем 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

Эта проблема вызвана 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 заменена, и система будет работать без пакета, мы можем создать фиктивный пакет с указанием этого имени пакета. эквиваленты инструмент для создания такого пакета.

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

equivs-control /dev/stdout > f

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

"Package: php5-mysql"

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

equivs-build f

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

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

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