In diesem Artikel dokumentiere ich den Wechsel eines PPA[1. „Personal Package Archive“] unter Ubuntu 14.04 LTS „Trusty Tahr“.
Achtung: Dies ist keine Schritt-für-Schritt-Anleitung. Die im Folgenden beschriebenen Schritte müssen auf einem anderen System nicht zwingend funktionieren. Fehler können euer System unbrauchbar machen. Also sagt nicht, ihr wurdet nicht gewarnt.
Warnung vor Fremdquellen: Die Benutzung fremder Quellen für Software sollte nach Möglichkeit auf das Notwendigste beschränkt werden, da sie einige gravierende Nachteile mit sich bringt.[2. ubuntuusers Wiki – Risiken von Fremdquellen]
Ich betreibe einen Server mit Ubuntu 14.04 LTS. In Trusty steht in den Originalquellen lediglich die PHP-Version 5.5.x zur Verfügung. Ich benötige jedoch PHP in Version 5.6.x und habe dazu das PPA ppa:ondrej/php5 in mein System eingebunden. Dieses PPA wurde nun von seinem Maintainer als deprecated markiert.
Der Maintainer stellt als Ersatz das PPA ppa:ondrej/php bereit. Dieses beinhaltet die PHP-Versionen 5.5, 5.6 und 7.0, welche auch nebeneinander installiert werden können.
Um dieses PPA meinem System hinzuzufügen, folge ich der PPA-Beschreibung[3. The main PPA for PHP (5.5, 5.6, 7.0) with many PECL[…]] und führe folgenden Befehl aus:
:~$ sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php Co-installable PHP versions: PHP 5.5, 5.6, PHP 7.0 and batteries included. You can get more information about the packages at https://deb.sury.org For PHP 5.4 on Ubuntu 12.04 use: ppa:ondrej/php5-oldstable BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/#bug-reporting PLEASE READ: If you like my work and want to give me a little motivation, please consider donating regularly: https://donate.sury.org/ WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround: # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php More info: https://launchpad.net/~ondrej/+archive/ubuntu/php Press [ENTER] to continue or ctrl-c to cancel adding it gpg: keyring `/tmp/tmptgkt4t8k/secring.gpg' created gpg: keyring `/tmp/tmptgkt4t8k/pubring.gpg' created gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com gpg: /tmp/tmptgkt4t8k/trustdb.gpg: trustdb created gpg: key E5267A6C: public key "Launchpad PPA for Ondřej Surý" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) OK :~$
Analog zu dem oben ausgeführten Befehl wird das alte PPA aus dem System entfernt:
:~$ sudo add-apt-repository -r ppa:ondrej/php5 This PPA is going to be DEPRECATED, please use ppa:ondrej/php If you need other PHP versions use: PHP 5.4: ppa:ondrej/php5-oldstable (Ubuntu 12.04 LTS) PHP 5.5, PHP 5.6 and PHP 7.0: ppa:ondrej/php (Ubuntu 14.04 LTS - Ubuntu 16.04 LTS) WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround: # apt-get install -y language-pack-en-base # LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php5 More info: https://launchpad.net/~ondrej/+archive/ubuntu/php5 Press [ENTER] to continue or ctrl-c to cancel removing it :~$
Hinweis: Durch das Entfernen des PPA wird die aus diesem PPA installierte Software nicht vom System entfernt.
Um zukünftig die Software aus dem neuen PPA zu nutzen, werden die folgenden Befehle ausgeführt. Bei dieser Gelegenheit habe ich gleich meine PHP-Version auf 7.0 aktualisiert:
:~$ sudo apt-get update :~$ sudo apt-get --reinstall install php-pear Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Die folgenden zusätzlichen Pakete werden installiert: php-cli php-common php-xml php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline php7.0-xml Die folgenden NEUEN Pakete werden installiert: php-cli php-common php-xml php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline php7.0-xml Die folgenden Pakete werden aktualisiert (Upgrade): php-pear 1 aktualisiert, 9 neu installiert, 0 zu entfernen und 2 nicht aktualisiert. Es müssen 2.284 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 9.839 kB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n] J
Operation beendet, Webanwendung funktioniert noch, Happy End.