Неисправные пакеты на сервере Linux

5

Итак, я пытаюсь установить пакет PHP5 cURL на сервер Ubuntu Lucid 10.04.3. Меня беспокоит то, что на этом сервере есть сломанные пакеты, и если я установлю этот пакет вместе с поврежденными пакетами, он может испортить PHP или Apache.

Я уже пробовал sudo apt-get cleanи sudo dpkg --configure -a; sudo apt-get -f installно сломанные пакеты все еще там.

Если вы просто sudo aptitude install php5-curlдумаете, что это повлияет на MySQL или что-то еще, использующее PHP5?

Вывод sudo aptitude install php5-curl :

Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
The following packages are BROKEN:
  php5-cli php5-gd php5-mysql php5-xmlrpc
The following NEW packages will be installed:
  php5-curl
The following packages will be upgraded:
  libapache2-mod-php5 php5-common
2 packages upgraded, 1 newly installed, 0 to remove and 101 not upgraded.
Need to get 3571kB of archives. After unpacking 2621kB will be used.
The following packages have unmet dependencies:
  php5-gd: Depends: php5-common (= 5.2.10.dfsg.1-2ubuntu6) but 5.3.2-1ubuntu4.18 is to be installed.
  php5-xmlrpc: Depends: php5-common (= 5.2.10.dfsg.1-2ubuntu6) but 5.3.2-1ubuntu4.18 is to be installed.
  php5-mysql: Depends: php5-common (= 5.2.10.dfsg.1-2ubuntu6) but 5.3.2-1ubuntu4.18 is to be installed.
  php5-cli: Depends: php5-common (= 5.2.10.dfsg.1-2ubuntu6) but 5.3.2-1ubuntu4.18 is to be installed.
The following actions will resolve these dependencies:

Install the following packages:
php5-curl [5.2.10.dfsg.1-2ubuntu6 (karmic)]

Keep the following packages at their current version:
libapache2-mod-php5 [5.2.10.dfsg.1-2ubuntu6 (karmic, now)]
php5-common [5.2.10.dfsg.1-2ubuntu6 (karmic, now)]

Score is -9900

Accept this solution? [Y/n/q/?]
Алекс W
источник

Ответы:

3

Хорошо, вот что я в итоге сделал:

Прежде всего, я бы порекомендовал использовать aptitudeвместо, apt-getпотому что он делает лучший выбор по умолчанию. Итак, я пошел дальше и принял первое решение aptitude, которое заключалось в том, чтобы оставить все ту же версию, кроме той, php5-curlкоторая должна была быть установлена. Поверьте мне, вы не хотите обновлять пакеты php5-commonили libapache2-mod-php5на критически важных серверах, потому что они имеют миллион зависимостей. Тогда серверу не удалось загрузить пакет, так как репозитории на этом сервере устарели (запомнилось 10.04), и он не смог найти файл .deb. Итак, я скопировал имя php5-curl-5.2.10.dfsg.1-2ubuntu6_amd_64.debи Google и нашел сайт с файлом .deb. Затем я сделал следующие команды, чтобы установить этот пакет, не вызывая ад зависимости:

$ wget http://www.thesitewhereyoufounditongoogle.com/php5-curl-5.2.10.dfsg.1-2ubuntu6_amd_64.deb

$ sudo dpkg -i php5-curl-5.2.10.dfsg.1-2ubuntu6_amd_64.deb

а затем, конечно, перезагрузить Apache

$ sudo /etc/init.d/apache2 restart

И вуаля! cURL был установлен.

Алекс W
источник