Проблема с установкой php-cli

Я пытаюсь установить пакет php5-cli на мою машину, но я получаю следующую ошибку для неудовлетворенных зависимостей.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libmaven2-core-java : Depends: libdoxia-core-java (>= 1.1) but it is not going to be installed
 php5-cli : Depends: libonig2 (>= 5.9.5) but it is not going to be installed
            Depends: libqdbm14 (>= 1.8.74) but it is not going to be installed
            Depends: php5-common (= 5.6.12+dfsg-1+deb.sury.org~vivid+1) but it is not going to be installed
            Depends: php5-json but it is not going to be installed
            Recommends: php5-readline but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Я пробовал apt-get install -f, apt-get clean и apt-get autoclean, но ничего из этого не помогло. Я испробовал почти все решения, приведенные в этом посте. Как разрешить неудовлетворенные зависимости после добавления PPA? но никто из них, казалось, не работал для меня.

редактировать: я пытался установить пакеты по отдельности, используя

sudo apt-get install php5-readline php5-json php5-common libqdbm14 libonigia-core-java libmaven2-core-java 2 libdox

но это тоже не сработало.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
libonig2 is already the newest version.
libmaven2-core-java is already the newest version.
libmaven2-core-java set to manually installed.
libqdbm14 is already the newest version.
php5-common is already the newest version.
php5-json is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 php5-readline : Depends: php5-cli (= 5.6.12+dfsg-1+deb.sury.org~vivid+1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Вот вывод для политики apt-cache php5-readline

php5-readline:
  Installed: (none)
  Candidate: 5.6.12+dfsg-1+deb.sury.org~vivid+1
  Version table:
     5.6.12+dfsg-1+deb.sury.org~vivid+1 0
        500 http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/ vivid/main amd64 Packages
     5.6.12+dfsg-1 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
     5.6.4+dfsg-4ubuntu6.2 0
        500 http://pk.archive.ubuntu.com/ubuntu/ vivid-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ vivid-security/main amd64 Packages
     5.6.4+dfsg-4ubuntu6 0
        500 http://pk.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages

вывод на grep -r 'ftp.us.debian.org' /etc/apt/ and apt-cache policy libmaven2-core-java является

/etc/apt/sources.list:deb http://ftp.us.debian.org/debian unstable main contrib non-free
/etc/apt/sources.list.save:deb http://ftp.us.debian.org/debian unstable main contrib non-free
/etc/apt/sources.list.bak:deb http://ftp.us.debian.org/debian unstable main contrib non-free
grep: and: No such file or directory
grep: apt-cache: No such file or directory
grep: policy: No such file or directory
grep: libmaven2-core-java: No such file or directory

И это вывод в скрипт:

alsa-base http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
cgroupfs-mount http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
curl http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
dmsetup http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
dnsmasq-base http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libarchive13 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libcurl3-gnutls http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libdevmapper1.02.1 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libeclipse-aether-java http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libgnutls-deb0-28 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libgnutls-deb0-28 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libgnutls-openssl27 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libgrpc-dev http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libgrpc0 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libhogweed4 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libhogweed4 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libjsch-java http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libnettle6 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libnettle6 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
librtmp1 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
librtmp1 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libsisu-inject-java http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libssh2-1 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libssl-dev http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libssl1.0.0 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libssl1.0.0 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libtasn1-6 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libtasn1-6 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libunwind8 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libwagon-java http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libwagon2-java http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
pepperflashplugin-nonfree http://ftp.us.debian.org/debian/ unstable/contrib amd64 Packages

выход для apt-cache policy libmaven2-core-java

libmaven2-core-java:
  Installed: 2.2.1-22
  Candidate: 2.2.1-22
  Version table:
 *** 2.2.1-22 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status
     2.2.1-17 0
        500 http://archive.ubuntu.com/ubuntu/ vivid/universe amd64 Packages

Я следовал инструкциям в ответе, удалил репозиторий, запустил apt-get -f install и мне пришлось выполнить автоматическое удаление, чтобы удалить некоторые пакеты, которые больше не нужны. Кажется, это решило проблему с libmaven2-core-java. Затем я снова попытался установить php5-cli, но получил следующий вывод.

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-cli : Depends: php5-common (= 5.6.4+dfsg-4ubuntu6.2) but 5.6.12+dfsg-1+deb.sury.org~vivid+1 is to be installed
            Recommends: php5-readline but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

вывод в sudo apt-get install -f

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 53 not upgraded

и выводить в sudo apt-get установить php5-cli

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-cli : Depends: php5-common (= 5.6.4+dfsg-4ubuntu6.2) but 5.6.12+dfsg-1+deb.sury.org~vivid+1 is to be installed
            Recommends: php5-readline but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

вывод для политики apt-cache php5-common

php5-common:
  Installed: 5.6.12+dfsg-1+deb.sury.org~vivid+1
  Candidate: 5.6.12+dfsg-1+deb.sury.org~vivid+1
  Version table:
 *** 5.6.12+dfsg-1+deb.sury.org~vivid+1 0
        100 /var/lib/dpkg/status
     5.6.4+dfsg-4ubuntu6.2 0
        500 http://archive.ubuntu.com/ubuntu/ vivid-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ vivid-security/main amd64 Packages
     5.6.4+dfsg-4ubuntu6 0
        500 http://archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages

Вывод в dpkg -l | grep 'sury' это

ii  php5-json                                            1.3.7-1+deb.sury.org~vivid+1               amd64        JSON module for php5

1 ответ

Решение

У вас включены несовместимые репозитории программного обеспечения. Мы можем это исправить...

  1. Используйте главный сервер для репозиториев Ubuntu

    sudo sed -i.bak 's/http:\/\/pk\./http:\/\//' /etc/apt/sources.list
    sudo apt-get update
    
  2. устанавливать ppa-purge

    sudo apt-get install ppa-purge
    

    Если установка невозможна и ppa-purge не установлен, скачайте пакет deb

    cd ..
    wget http://mirrors.kernel.org/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr57_all.deb
    

    извлечь и скопировать исполняемый файл

    dpkg -x ppa-purge_0.2.8+bzr57_all.deb ppa-purge
    sudo cp ppa-purge/usr/sbin/ppa-purge /usr/sbin
    
  3. Очистить PPA PPA:ondrej/php5-5.6

    sudo ppa-purge ppa:ondrej/php5-5.6
    sudo apt-get update
    
  4. Следующее сообщение об ошибке

    libmaven2-core-java : Depends: libdoxia-core-java (>= 1.1) but it is not going to be installed
    

    Вы используете дополнительно репозиторий Debian, http://ftp.us.debian.org/, Этот репозиторий обеспечивает libmaven2-core-java который зависит от libdoxia-core-java, Но этот пакет не доступен.

    Поэтому удалите хранилище http://ftp.us.debian.org/ в вашем /etc/apt/sources.list, После этого беги

    sudo apt-get update
    

    и понизьте пакеты с помощью:

    sudo apt-get install libmaven2-core-java=2.2.1-17
    
  5. Обычно не требуется после продувки PPA ppa:ondrej/php5-5.6 с ppa-purge, но в вашем случае понизьте также пакеты, перечисленные dpkg -l | grep 'sury'

    sudo apt-get install php5-common=5.6.4+dfsg-4ubuntu6.2 
    sudo apt-get install php5-json=1.3.2-2build1
    
  6. Ремонт вашей установки

    sudo apt-get install -f
    
Другие вопросы по тегам