Я установил PPA, ondrej/php5, поэтому я могу установить PHP 5.5 на сервере Ubuntu 12.04. Однако я хочу установить Apache 2.2, а указанный выше PPA предоставляет Apache 2.4.
Я создал файл /etc/apt/preferences.d/apache2
:
Package: *apache*
Pin: release o=LP-PPA-ondrej-php5
Pin-Priority: -100
Соответствующие строки из apt-cache policy
:
500 http://ppa.launchpad.net/ondrej/php5/ubuntu/ precise/main i386 Packages
release v=12.04,o=LP-PPA-ondrej-php5,a=precise,n=precise,l=PPA for PHP5,c=main
origin ppa.launchpad.net
500 http://ppa.launchpad.net/ondrej/php5/ubuntu/ precise/main amd64 Packages
release v=12.04,o=LP-PPA-ondrej-php5,a=precise,n=precise,l=PPA for PHP5,c=main
origin ppa.launchpad.net
После создания файла вот результат apt-cache policy apache2
:
apache2:
Installed: (none)
Candidate: (none)
Package pin: 2.4.6-3+debphp.org~precise+1
Version table:
2.4.6-3+debphp.org~precise+1 -100
500 http://ppa.launchpad.net/ondrej/php5/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
2.2.22-1ubuntu1.4 -100
500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
2.2.22-1ubuntu1 -100
500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Почему официальным репозиториям Ubuntu отдается приоритет -100
?
решение1
Увеличьте приоритет пакета в репозиториях Ubuntu:
Редактировать
/etc/apt/preferences.d/apache2
sudo nano /etc/apt/preferences.d/apache2
Добавьте следующую конфигурацию
Package: *apache2* Pin: release o=ubuntu Pin-Priority: 1000
Проверять
% apt-cache policy apache2 apache2: Installed: 2.4.12-2ubuntu2 Candidate: 2.4.12-2ubuntu2 Package pin: 2.4.12-2ubuntu2 Version table: 2.4.16-4+deb.sury.org~wily+4 1000 500 http://ppa.launchpad.net/ondrej/php5/ubuntu/ wily/main i386 Packages *** 2.4.12-2ubuntu2 1000 500 http://archive.ubuntu.com/ubuntu/ wily/main i386 Packages 100 /var/lib/dpkg/status