Как я могу обновить PHP до более высокой версии для Debian Squeeze?

16

В настоящее время мой PHP на 5.3.3, как я могу обновить его? Также как я могу обновить что-нибудь? Например, если я хочу обновить phpMyAdmin?

Doug
источник

Ответы:

21

Обновите все пакеты:

apt-get update; apt-get upgrade;

Если вы хотите обновить только один пакет (например, php5):

apt-get update; apt-get install php5;

Для версий пакета, доступных в Debian, посмотрите:

http://www.debian.org/distrib/packages

Если вы хотите установить php5 5.4.4-2, который доступен только на wheezy, вы должны добавить wheezy в ваш /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian/ wheezy main non-free contrib

а потом:

apt-get update
apt-get install -t wheezy php5

Чтобы не было никаких сюрпризов, вы должны использовать apt pinning, чтобы предотвратить установку вашей системы пакетов wheezy, просто создайте файл / etc / apt / preferences.

Package: *
Pin: release n=squeeze
Pin-Priority: 650

Package: *
Pin: release n=wheezy
Pin-Priority: -10

Поэтому, когда это происходит, когда вы делаете apt-get install, если вы не укажете -t wheezy, он по умолчанию установит пакет из squeeze.

Даниэль Прата Алмейда
источник
1
Единственный доступный php5 - 5.3.3: packages.debian.org/squeeze/php5 Как мне обновить его до более поздней версии? Или я что-то упустил?
Даг
Есть ли обратная сторона при установке из wheezy?
Даг
Нет, wheezy довольно стабильный, он был заморожен 30 июня и будет выпущен как следующий Debian 7.
Даниэль Прата Алмейда
Здесь было бы хорошо упомянуть о бэкпортах, а также кратко объяснить, как их использоватьapt-get source apt-get build-dependencies debuild
dawud
13

Как заметил @Juan, Пиннинг поставит вас в ад зависимости. Когда я хочу получить преимущество в своих системах Debian, я обычно обращаюсь к http://www.dotdeb.org/

Для правильных инструкций -> http://www.dotdeb.org/instructions/

foocorpluser
источник
3
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
Скотт Пак
Я не согласен, канонический источник информации о том, как установить dot deb, навсегда останется их сайтом, перефразируя его здесь, не предоставив надежного сервиса. (при условии, что документ когда-нибудь изменится) Конечно, если у кого-то возникнет вопрос об установочном документе, serverfault будет хорошим местом для его устранения.
foocorpluser
1
Одной из целей StackOverflow, а также расширением остальных сайтов, было устранение спагетти-беспорядка ссылок для этого типа информации. Независимо от того, не соглашаемся мы с этими сайтами или нет, механизм хранения информации является основной целью системы.
Скотт Пак
1
Я хотел бы указать людям на DotDeb (ответ сверху) - он не работал так, как они сказали, и когда я охотился по всему их сайту, не было ни места, где задавать вопросы, ни электронной почты, ни форума, ни контактов, ни никакой помощи вообще. Некоторые предполагают, что это может быть тот уровень знаний, которого мне не хватает. Однако, в моей защите, в их решении просто отсутствуют зависимости, так как я пытался установить php56 на мою систему Debian 7. Сообщение направлено из aptitude: --- libapache2-mod-php5 (> = 5.6.0-1 ~ dotdeb.1 ~) | libapache2-mod-php5filter (> = 5.6.0-1 ~ dotdeb.1 ~) | php5-cgi (> = 5.6.0-1 ~ dotde
муз топор
2

Debian stable разработан для того, чтобы быть действительно, действительно стабильным; таким образом, использование более новых версий пакетов обычно не поддерживается, часто сложно и / или плохо, а иногда невозможно. Тем не менее, есть способы сделать это:

  • Проверьте backports.debian.org, посмотрите, есть ли нужный пакет - это «поддерживаемый» способ.
  • Если он недоступен, создайте простой обратный порт sid: http://wiki.debian.org/SimpleBackportCreation (используйте библиотеки dev, установленные в вашей системе, для компиляции исходных кодов пакетов из тестирования Debian или нестабильно)
  • Установка .debs из другого репозитория (например, wheezy или ubuntu) - очень плохая идея.

Если бэкпорт недоступен, а простой sid-бэкпорт невозможен, вы, вероятно, не сможете заставить пакет работать в вашей системе. Вы можете рассмотреть возможность перехода на тестирование Debian (что не так плохо, когда тестирование находится под заморозкой, как Debian Wheezy на момент написания этой статьи).

Этот ответ не будет полным без повторения инструкций «простой sid-бэкпорт», данных ботом dpkg на irc.debian.org:

  1. Откройте sources.list и добавьте строку deb-src для sid (не строку deb!)
  2. включить debian-backports (
  3. выполните следующие действия в выбранном вами терминале:
    • обновление способностей;
    • aptitude install build-essential;
    • aptitude build-dep packagename;
    • apt-get -us -uc -b source packagename
  4. установить получившиеся в результате дэбы.

Смотрите также: http://wiki.debian.org/Backports

DavidMoksha
источник