Sommaire

emblem-notice-24.pngDernière mise à jour : 15/02/2024

emblem-question-24.pngLien avec mon activité professionnelle ?

Il n'y a aucun lien entre le contenu du dépôt ou du blog et mon employeur actuel, bien que mon activité principale soit désormais le packaging de PHP, ce qui me permet de contribuer plus activement aux projets.

Les opinions exprimées ici, sont les miennes et n'implique aucunement quelconque communauté, projet ou entreprise (Fedora, PHP, Red Hat, CentOS, ...).

emblem-question-24.pngQuels sont les objectifs de ce dépôt ?

Fournir les dernières versions de la pile PHP, aussi complète que possible, et de quelques autres logiciels, aux utilisateurs de Fedora et d'Enterprise Linux (RHEL, CentOS, Oracle, Scientific Linux, ...). Il contient principalement :

  • des paquets que je maintiens aussi dans Fedora
  • des rétro-portage des paquets disponibles dans la version de développement de Fedora
  • quelques paquets incompatible avec les choix de Fedora
  • quelques paquets en cours de préparation pour les dépôts Fedora
  • des versions vanilla (ou presque)

Ce qui est donc très éloigné de la stratégie de rétro-portage des correctifs d'Enterprise Linux.

emblem-question-24.pngOù poser des questions ? Comment contacter Remi ?

Les commentaires du blog ne sont pas du tout adaptés. Les forum sont là pour toute demande, assistance, question.

Vous pouvez aussi venir discuter sur IRC #remirepo (Libera.chat). Vous pouvez même utiliser l'accès webchat.

emblem-question-24.pngComment encourager Remi ?

Il existe de nombreuses possibilités, par exemple :

  • Un petit commentaire sur la page "Merci / Thanks",
  • Utiliser le dépôt et les forums pour rapporter vos utilisations,
  • Parler du dépôt sur votre blog,
  • Utiliser le bouton "Donate" (en haut à droite, si vous l'avez raté) ce qui permet de financer ma prochaine machine, mon hébergement, mon accès internet et quelques autres petits plaisir.

emblem-question-24.pngComment utiliser le dépôt ?

Il me semble que tout est expliqué dans la page Configuration du dépôt.

Le plus simple étant de suivre les instructions de l'assistant de configuration.

emblem-question-24.pngCorrectifs de sécurité pour les anciennes versions ?

Les versions de PHP <= 8.0 ont atteint leur fin de vie et ne sont plus maintenues par le projet PHP.

Il est donc vivement recommandé d'utiliser une version maintenue.

Cependant, les vulnérabilités de sécurité sont corrigées, voir le dépôt de rétro-portage, et sont disponibles dans les dernières mises à jour de PHP 5.6 à 8.0. Ces paquets sont fournis pour les applications hérités et dépréciés (dette technique).

emblem-question-24.pngComment sont découpés les dépôts ?

Il y a 3 dépôts:

  • Le dépôt remi-safe, activé par défaut.
    Il est vraiment sûr car ne replace aucun paquet officiels).
    Il fournit les dépendances communes et les SCL, conçues pour l'installation en parallèle de plusieurs versions.
  • Le dépôt remi-modular, activé par défaut.
    Il peut remplcer des paquets officiels quand un module est explicitement activé par l'administrateur.
    Il fournit les differentes versions de PHP et quelques autres modules.
  • Le dépôt remi, désactivé par défaut.
    Il peut remplacer des paquets, principalement venant d'EPEL.
    Il fournit notament quelques applications PHP (paquets noarch, ex : phpunit*, phpMyAdmin...)

emblem-question-24.pngComment me tenir informé des nouveautés ?

D'abord en lisant ce blog, chaque nouvelle version importante fait l'objet d'un billet, les versions mineures d'un commentaire. Ensuite, chaque dépôt dispose d'un flux RSS, ex pour el9.x86_64.

En suivant RemiRepository sur twitter.

emblem-question-24.pngVersion disponible avec son annonce officielle ?

Le processus de publication des nouvelles versions de PHP prévoit

  • création du tag le mardi midi, voir les tags sur le dépôt git officiel
  • 2 jours de délai pour permettre de construire les binaires et détecter les problèmes tardifs (principalement par Microsoft et moi), voir PHP for Windows
  • annonce de la version le jeudi midi

Les paquets sont donc construit dès que possible, ils doivent considérés comme des paquets de test jusqu'à l'annonce officielle (il peut arrviver qu'un changement de dernière minute nécessite une nouvelle compilation).

Ce temps permet aussi de s'assurer que la nouvelle version soit disponible sur tous les mirroirs lors de l'annonce officielle. De plus, lors des mise à jour de sécurité, la mise à disposition rapide est nécessaire car les vulnérabilité sont publiques sur le dépôt git.

emblem-question-24.pngPuis-je synchroniser un miroir local du dépôt remi ?

Oui : vous pouvez utiliser rsync, pour cela, consultez la listes des miroirs et cherchez pour un proche de votre position ayant l'indication rsync.

L'accès au serveur principal est réservé aux miroirs officiels.

Utiliser un aspirateur (wget/ftp/curl récursif) sur le miroir primaire est une mauvaise pratique à décourager.

emblem-question-24.pngPuis-je mettre à jour Fedora avec le dépôt remi activé ?

Oui, en utilisant l'outil dnf system-upgrade, et avec quelques précautions :

  • Mise à jour vers Fedora 36 ou 37
    • importer la nouvelle clé avant la mise à jour (i.e. /etc/pki/rpm-gpg/RPM-GPG-KEY-remi2022)
    • dépôts standards: désactiver les et utiliser les modules
    • désinstaller les SCL de PHP < 7.4
  • Mise à jour vers Fedora 38 ou 39
    • importer la nouvelle clé avant la mise à jour (i.e. /etc/pki/rpm-gpg/RPM-GPG-KEY-remi2023)
  • Mise à jour vers Fedora 40
    • importer la nouvelle clé avant la mise à jour (i.e. /etc/pki/rpm-gpg/RPM-GPG-KEY-remi2024)

emblem-question-24.pngPourquoi remplacer les paquets standards ?

Certains dépôts ont choisi de ne pas remplacer les paquets standards, mais de fournir des paquets avec des noms différents (cf The SafeRepo Initiative).

  • lors de l'ouverture de mon dépôt, en 2005, cette idée n'existait pas (Red Hat fournissait alors les versions récentes dans un channel dédié : RHWAS)
  • je pense qu'avoir un nom différent a du sens uniquement lorsqu'on peut installer les 2 en parallèle. C'est d'ailleurs le cas pour les bibliothèques (paquets *last) et les SCL. Les conflits c'est mal.
  • le remplacement reste un choix volontaire de l'administrateur puisque le dépôt n'est pas activé par défaut
  • les directives de yum includepkgs et exclude permettent de régler finement ce qu'on souhaite utiliser.
  • avoir plusieurs paquets fournissant la même dépendance (ex php-zip fournit par php-common, php53-common, php-pecl-zip...) est juste un cauchemar pour yum et cause de nombreux problèmes (un exemple).
  • le dépôt remi ne fournit pas juste PHP et quelques extensions, mais une pile très complète (plus de 500 paquets), la plupart fonctionnant avec "toutes" les versions disponibles
  • certains paquets sont créés / développés dans remi avant d'être importés dans Fedora / EPEL.

emblem-question-24.pngDifférences entre les paquets php-* et php##-php-* ?

Les paquets php-* sont des paquets standards (version unique / par défaut) :

  • ils remplacent la version par défaut du système (cela reste un choix de l'administrateur car il faut activer le dépôt)
  • une seule version peut être installée
  • un dépôt (remi-php56, remi-php70, remi-php71, remi-php72, remi-php73, remi-php74, remi-php80, remi-php81, remi-php82 et remi-php83) ou  module (php:remi-7.2, php:remi-7.3, php:remi-7.4, php:remi-8.0, php:remi-8.1, php:remi-8.2 and php:remi-8.3) par version.
  • les paquest fournissent la version NTS et ZTS (Thread Safe)

Les paquets php56-php-*, php70-php-*, php71-php-*, php72-php-*, php73-php-*, php74-php-*, php80-php-*, php81-php-*, php82-php-* et php83-php-* sont des Softwares Collections (versions multiples) :

  • ils s'installent à côté de la version par défaut du système (dans /opt/remi)
  • plusieurs versions peuvent être installée simultanément
  • toutes les versions sont dans le dépôt remi-safe
  • les paquest fournissent uniquement la version NTS
  • si une seule version est utilisée, le paquet php*-syspaths permet d'avoir les chemins habituels (/usr/bin/php)

A noter : certains autres dépôts on choisi d'avoir des noms différents (php56u, php70w), mais qui crée des conflits. Pour moi, un nom différent n'a du sens que s'il permet une installation en parallèle de la version standard.

emblem-question-24.pngPeut-on utiliser le dépôt uniquement pour les Softwares Collections ?

Oui : pour Fedora il suffit d'ajouter une ligne configuration dans le fichier remi.repo

includepkgs=php8*

Pour Enterprise Linux: les SCL php56, php70, php71, php72, php73, php74, php80, php81, php82 et php83 sont  dans le dépôi remi-safe, donc aucune modification n'est nécessaire.

emblem-question-24.pngDépendances manquantes

Les dépendances sont toutes dans les dépôts standard et pour Fedora dans RPMFusion et pour Enterprise Linux dans EPEL.

Les dépôts remi-test, remi-php55 et remi-php56 ont aussi besoin du dépôt reml.

Les dépendances communes aux dépôts remi-php** sont dans le dépôt remi-safe, activé par défaut (s'agissant d'une nouveauté, merci de signaler tout oubli).

Les RPM pour Enterprise Linux sont construits avec les dépôts officiels de  RHEL-7.9, RHEL-8.7 et RHEL-9.2. Certains paquets peuvent manquer dans les versions plus anciennes (p.e. openssl 1.0.2). En résumé: les anciennes versions ne sont pas supportées.

Note : pour RHEL-7 le canal Optional est obligatoire  (rhel-7-server-optional-rpms).

Certains paquets "noarch" dans le dépôt "remi" (ex phpMyAdmin 5) nécessitent désormais php(language) >= 7.4. Les versions de PHP <= 7.3 ayant atteint leur "Fin de vie", si vous désirez utiliser ces applications vous devez donc mettre à jour en activant le dépôt "remi-php74" ou supérieur, et ainsi utiliser une version supportée de PHP.

emblem-question-24.pngAucun paquet trouvé ?

Soit le dépôt n'est pas correctement activé, soit les paquets du dépôt de base sont protégés par le plugin priorities. Dans ce cas il faut soit désactiver le plugin (--noplugins ou --disableplugin=priorities), soit configurer le dépôt pour être prioritaire.

emblem-question-24.pngConflits entre paquets i386 et x86_64 ?

Ce n'est pas directement lié au dépôt remi, mais il s'agit plutôt d'un bug connu de l'installeur des vieilles versions de fedora et de EL-5. Bug car il est corrigé dans les nouvelles versions. Ce bug provoque l'installation des bibliothèques en version 32 et 64 bits. Pour moi, le plus simple et le nettoyage complet des versions 32 bits après l'installation d'un système 64 bits

yum remove glibc.i686

emblem-question-24.pngPuis-je récupérer un vieux paquet ?

Rappel : l'objectif du dépôt est de fournir les dernières versions afin, notamment, de bénéficier des améliorations et des correctifs, en particulier de sécurité.

Oui, c'est possible, il suffit de le demander sur le forum en précisant bien la distribution, la version, et l'architecture. Comme cela nécessite une recherche dans mes archives "hors-ligne", il faut être patient.

emblem-question-24.pngDisponibilité des debuginfo ?

Ils sont dans le dépôt pour les paquets construits à compter de Janvier 2013.

emblem-question-24.pngFirefox, Thunderbird, etc pour EL ?

Les applications graphiques, sont uniquement disponibles pour fedora que je considère comme le meilleur choix pour un poste de travail. Pour moi, Enterprise Linux, est avant tout un système pour les serveurs.

Cependant, désormais elles aussi sont disponibles pour EL-6 (la dernière version).

Par manque de temps, j'ai suspendu leur maintenance.