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

У phpmyadmin есть неудовлетворенные зависимости

Я использую debian 6.0.6, перед установкой phpmyadmin я устанавливаю это:

apt-get update && apt-get -y install apache2 apache2-doc autoconf automake \
bison ca-certificates ethtool flex g++ gcc gcc-4.4 libapache2-modphp5 \
libcrypt-ssleay-perl libmysqlclient-dev libnet1 libnet1-dev libpcre3 \
libpcre3-dev libphp-adodb libssl-dev libtool libwww-perl make mysqlclient \
mysql-common mysql-server ntp php5-cli php5-gd php5-mysql php-pear \
sendmail sysstat vim

Я пытаюсь установить phpmyadmin, но обнаружил такую ​​ошибку:

apt-get install phpmyadmin
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:
 phpmyadmin : Depends: php5-mcrypt but it is not going to be installed
E: Broken packages

И я попробовал эту команду:

apt-get install phpmyadmin php5-mcrypt
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:
php5-mcrypt : Depends: php5-common (= 5.3.3-7+squeeze17) but 5.3.28-1~dotdeb.0 is to be installed
E: Broken packages

Что я должен делать?

Ваш «php5-common», похоже, предоставляется «Dotdeb», сторонним сайтом, распространяющим пакеты. Либо вы ранее возились со своим sources.list и отменили изменение, либо вы не разместили здесь полный список. Или, возможно, третий вариант, вы могли вручную загрузить файл .deb из Dotdeb и установить его вручную.

В результате упаковки без сжатия ваша система упаковки сломана. Вы пытаетесь установить (из репозитория Squeeze, в соответствии с вашим sources.list) пакет (php5-mcrypt), который зависит от php5-common, который также принадлежит Squeeze (версия 5.3.3-7 + squeeze17), но на самом деле у вас есть версия Dotdeb (5.3.28-1 ~ dotdeb.0). Поскольку версии не совпадают, php5-mcrypt не устанавливается.

Если у вас нет веской причины хотеть получать пакеты из источников, отличных от Debian - и вы не знаете, как справляться с конфликтами, когда они возникают - я рекомендую придерживаться только официальных источников. Во-первых, убедитесь, что ваш sources.list не упоминает Dotdeb и обновите aptitude или apt-get, чтобы убедиться, что они работают вне обновленного списка в кеше. Затем, на всякий случай, сделайте резервную копию связанных файлов конфигурации, удалите файлы Dotdeb (по крайней мере, общие для php5 и, возможно, все, от чего это зависит) и переустановите их. Если вы не очистите пакет, файл конфигурации должен остаться, но при условии, что люди Dotdeb используют те же места (что относительно вероятно, но я ничего о них не знаю, поэтому не обещаю).