Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Maixduino : un kit avec un processeur RISC-V pour faire de l'IA

Patrice Kadionik

Salut.

Je viens de recevoir mon kit Maixduino de Sipeed acheté chez Seeed pour 23,90 USD.

Maixduino

Ce kit est intéressant à plusieurs titres pour :

  • Etude du processeur RISC-V.

  • Développement bare metal avec le langage C avec les IDE Arduino IE ou PlatformIO.

  • Développement Temps Réel avec le langage C avec FreeRTOS.

  • Mise en oeuvre de Linux embarqué (Linux sans MMU).

  • Développement avec le langage Python grâce à l'interpréteur Python MaixPy.

  • Développement d'algorithmes d'IA Python avec Tensorflow et Keras.

La bête possède les caractéristiques suivantes :

  • CPU: RISC-V Dual Core 64bit, with FPU; 400MHz neural network processor

  • QVGA@60FPS/VGA@30FPS image identification

  • Onboard ESP32 module support 2.4G 802.11. b/g/n and Bluetooth 4.2

  • Arduino Uno form factor, Arduino compatible interfaceOnboard omnidirectional I2S digital output MEMS Microphone

  • 24P 0.5mm FPC connector for DVP Camera

  • 8bit MCU LCD 24P 0.5mm FPC connector

  • Support self-elastic micro SD card holder

  • Reset and boot button; 3W DAC+PA Audio output

  • Just connect the USB Type-C cable to complete the downloadMachine vision based on convolutional neural network

  • High performance microphone array processor for machine hearing
    Support MaixPy IDE, Arduino IDE, OpenMV IDE, and PlatformIO IDE

  • Support Tiny-Yolo, Mobilenet and TensorFlow Lite for deep learning

Je consacrerai d'autres billets sur ce kit, le processeur RISC-V ou l'IA (que j'étudie depuis 6 mois sous l'angle de l'embarqué) au fur et à mesure.

++

PHP version 7.3.19RC1 et 7.4.7RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt de test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests.et également en paquets de base.

Les RPM de PHP version 7.4.7RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 32 ou remi-php74-test pour Fedora 30-31 et Enterprise Linux 7-8

Les RPM de PHP version 7.3.19RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 30-31 ou remi-php73-test pour Enterprise Linux.

emblem-notice-24.pngPHP version 7.2 est désormais en mode maintenance de sécurité, il n'y aura donc plus de Release Candidate.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 7.4 :

yum --enablerepo=remi-test install php74

Installation en parallèle, en Software Collections de PHP 7.3 :

yum --enablerepo=remi-test install php73

Mise à jour, de PHP 7.4 :

yum --enablerepo=remi-php73,remi-php74-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.4
dnf --enablerepo=remi-modular-test update php\*

Mise à jour, de PHP 7.3:

yum --enablerepo=remi-php73,remi-php73-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.3
dnf --enablerepo=remi-modular-test update php\*

A noter : la version 7.4.7RC1 est dans Fedora rawhide pour la QA

emblem-notice-24.pngLes paquets pour EL-8 on été construit à partir de RHEL-8.1

emblem-notice-24.pngLes paquets pour EL-7 on été construit à partir de RHEL-7.8

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité)

 

Software Collections (php73, php74)

Paquets standards (php)

Fin de vie de Fedora 30

Charles-Antoine Couret

C'est en ce mardi 26 mai 2020 que Fedora 30 a été déclaré comme en fin de vie.

Qu'est-ce que c'est ?

Un mois après la sortie d'une version de Fedora n, ici Fedora 32, la version n-2 (donc Fedora 30) est déclarée comme en fin de vie.

Ce mois sert à donner du temps aux utilisateurs pour faire la mise à niveau. Ce qui fait qu'en moyenne une version est officiellement maintenue pendant 13 mois.

En effet, la fin de vie d'une version signifie qu'elle n'aura plus de mises à jour et plus aucun bogue ne sera corrigé. Pour des questions de sécurité, avec des failles non corrigées, il est vivement conseillé aux utilisateurs de Fedora 30 et antérieurs d'effectuer la mise à niveau vers Fedora 32 ou 31.

Que faire ?

Si vous êtes concernés, il est nécessaire de faire la mise à niveau de vos systèmes. Vous pouvez télécharger des images CD ou USB plus récentes.

Il est également possible de faire la mise à niveau sans réinstaller via DNF ou GNOME Logiciels.

GNOME Logiciels a également dû vous prévenir par une pop-up de la disponibilité de Fedora 31 ou 32. N'hésitez pas à lancer la mise à niveau par ce biais.

15 ans

Remi Collet

Cela fait exactement 15 ans aujourd'hui que ce dépôt est ouvert.

Quelques repères des années écoulées.

2005

Ouverture du dépôt pour partager mes premiers RPM sur les pages personnelles de mon fournisseur d'accès, principalement pour Fedora Core 3

2006

Pour que mes travaux profitent aux plus grand nombre, je deviens contributeur Fedora

2007

Ouverture du dépôt pour RHEL et CentOS 4 et utilisation d'un serveur dédié sur le domaine famillecollet.com

2008

Avec la fusion Fedora Core et Extras, je deviens le co-mainteneur de PHP pour la nouvelle Fedora 7

2011

Contributeur PECL me permettant de participer à la maintenance de nombreuses extensions

2012

Contributeur PHP me permettant de participer plus activement à la maintenance du projet.

Je rejoins Red Hat ou je vais aussi travailler sur PHP.

2015

Utilisation du domaine remirepo.net

2017

Je deviens, avec Sara Golemon, Release Manager de PHP 7.2

2020

Avec plus de 500 millions de téléchargement, plus de 30 mirroirs dans le monde mon "petit" dépôt créé il y a 15 ans est (je pense) devenu une des références pour les utilisateurs de PHP et de RPM, fournissant

  • 7 versions de PHP
    • de 5.6 à 7.1 avec les correctis de sécurité
    • de 7.2 à 7.4
    • 8.0.0-dev
  • 150 extensions
  • 6 distributions
    • RHEL / CentOS 6, 7 et 8
    • Fedora 30 à 32
  • 3 modes de distribution
    • Paquets de base, 1 dépôt par version
    • Software Collections pour l'installation en parallèle
    • Modules

 

Apports de Fedora à l'écosystème du Logiciel Libre partie 3

Charles-Antoine Couret

Il est courant, au sein de la communauté du Logiciel Libre, de présenter une distribution GNU/Linux comme une simple intégration, ou un assemblage de tous les logiciels qu'elle propose. Une sorte de glu entre eux.

Si c'est sans doute le cas de certaines d'entre elles, nous ne pouvons en conclure que c'est toujours le cas. En particulier, la distribution Fedora va au delà de ce constat. Ses objectifs et sa communauté lui permettent de réaliser d'autres choses. En effet depuis sa création Fedora est une vitrine technologique et à ce titre a essayé de mettre en avant ou de développer des solutions novatrices pour le Logiciel Libre. Mais depuis Fedora 21, sortie fin 2011, Fedora s'est découpée en trois produits distincts. Si finalement une Fedora Workstation et Server ont accès aux mêmes paquets, le projet a souhaité fournir des expériences utilisateur adaptées à chaque cas d'usage dès la fin de l'installation. Par conséquent, Fedora Workstation a sa liste de travail pour intégrer et développer de nouvelles solutions pour améliorer l'usage bureautique de l'utilisateur.

Et si la distribution Fedora est souvent considérée comme une version de tests pour la distribution Red Hat Enterprise Linux (RHEL) de Red Hat nous allons constater que finalement toute la communauté tire des bénéfices de ses travaux.

Le présent article est une adaptation des articles de blogs ici et là encore de Christian Schaller qui m'en a donné l'autorisation. Il fait suite à un premier article à ce sujet puis à un second. Le premier article avait donné lieu à une conférence lors des JM2L de 2017 et aux RMLL de 2018 dont la vidéo est disponible ici.

Wayland

La transition vers ce nouveau protocole d'affichage requiert toujours des ajustements et des travaux de long terme.

Actuellement GNOME Shell est en train d'achever cette transition en étant capable de lancer une session GNOME sans utiliser XWayland. Ce dernier ne serait démarré qu'en cas de lancement d'une application ayant toujours besoin de X11. En effet quelques composants internes, comme le démon GNOME Setting, reposaient encore sur l'existence de X11 pour fonctionner.

Il est possible à titre expérimental de forcer ce comportement à l'aide de la commande suivante :

$ gsettings set org.gnome.mutter experimental-features "['autostart-xwayland']"

Cela est rendu possible par Carlos Garnacho pour le travail sur GNOME Shell, Olivier Fourdan pour le nettoyage du centre de contrôle de GNOME, Iain Lane (de Canonical) pour l'amélioration des sessions utilisateurs de systemd et Benjamin Berg de manière générale.

Dans la même veine, Martin Stransky et Jan Horak ont travaillé pour corriger les derniers bogues afin que Firefox puisse utiliser Wayland par défaut dans Fedora 31. Martin Stransky a aussi travaillé pour fournir la prise en charge de l'accélération matérielle pour WebGL.

hoverclick.png

L'une des grandes régressions étaient aussi les outils d'accessibilité de X.org qui ne fonctionnaient plus sous Wayland. Mais grâce à Olivier Fourdan cette prise en charge a été améliorée et il est maintenant possible de cliquer grâce survol d'un élément graphique pendant un certain temps.

Hans de Goede travaille aussi pour autoriser les applications XWayland à être lancées avec les droits super utilisateur. Certes cela n'est pas une action recommandée mais peut être nécessaire pour des raisons de compatibilité.

Il travaille aussi pour améliorer la prise en charge de la bibliothèque d'affichage SDL pour fonctionner correctement sous Wayland, en particulier pour les jeux vidéo avec une faible résolution.

Enfin Adam Jackson opère sur la possibilité d'avoir l'accélération matérielle pour les applications XWayland, quand le pilote propriétaire nVidia est utilisé. Les autres pilotes ou cartes matériels n'ont quant à eux pas ce genre de problèmes grâce à leur inclusion dans le noyau Linux officiel en exploitant l'API moderne correspondante pour l'affichage.

Si vous souhaitez les aider dans ce travail, vous pouvez modifier le fichier /usr/lib/udev/rules.d/61-gdm.rules pour commenter la ligne suivante :

DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland

Qui doit devenir

# DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland

Ainsi même avec le pilote propriétaire de nVidia, la session de GNOME par défaut sera Wayland et non X.org comme c'est le cas pour les autres cas de figure. X.org sera utilisé en cas de problèmes majeurs d'affichage. Et si vous rencontrez un bogue dans cette configuration, n'oubliez pas de le signaler aux développeurs.

Il n'est plus très loin le moment où X.org ne sera qu'un projet en mode maintenance uniquement.

Pipewire

Wim Taymans continue de travailler pour être capable de remplacer Jack et PulseAudio pour la gestion du son. Par ailleurs le remplacement de Jack est considéré comme opérationel aujourd'hui. Pour PulseAudio le remplacement est fonctionnel en ce moment pour la lecture simple de flux audio mais pas au delà.

Avec Jonas Adahl et Benjamin Berg ils ont apporté la prise en charge de Miracast pour exporter l'écran et le son vers un appareil via le réseau comme un téléviseur.

GNOME Network Display.png

Un client de test pour GNOME, Network Displays, a été conçu à cette fin avant une intégration probable dans la base de GNOME à l'avenir.

Une option de configuration a été ajoutée dans Google Chrome pour prendre en charge le partage d'écran sous Wayland via WebRTC.

Les avancées de Pipewire rendent envisageable sa mise en place par défaut dans Fedora Workstation 33.

Flatpak

Le travail se poursuit pour fournir une infrastructure automatique qui génère des Flatpak à partir de RPM. Les étapes sont à ce jour encore trop manuelles.

Une intégration future de Flathub et de Quay comme dépôts alternatifs disponibles par défaut suit aussi son chemin.

Fedora Toolbox

Debarshi Ray a amélioré l'intégration dans GNOME Terminal. Quand une instance est ouverte dans un onglet, en ouvrir un nouveau à partir de celui-ci va pointer par défaut sur l'espace de ce conteneur plutôt que sur le dossier courant du système hôte.

L'outil a été réécrit pour améliorer sa maintenance à long terme. En passant d'un immense script shell vers un programme conçu en Go. De plus comme les outils buildah et podman sont eux même conçus en Go, cela simplifiera les synergie et les collaborations entre ces différents projets.

Fleet commander

La version 0.14.1 de cette application ajoute la prise en charge des réseaux d'entreprise basés sur Active Directory en plus de FreeIPA. Cela favorisera son adoption dans un réseau d'entreprise centré sur Windows, ce qui est encore souvent le cas.

Il est aussi possible depuis cette version de déployer une extension GNOME dans le parc de machines.

Un travail est en cours pour améliorer la prise en charge de la configuration de Firefox par Oliver Gutierrez Suarez.

Mode jeu

Le fameux gamemode développé par Christian Kellner continue ses améliorations avec une meilleure intégration avec les applications Flatpak.

Gestion du matériel

Lecteurs d'empreintes digitales

La pile fprint qui est la référence libre pour la prise en charge de ces appareils a été pendant longtemps dans un état léthargique. Bastien Nocera a entreprit une modernisation de ce composant, qui consiste notamment en une amélioration de la documentation du projet, en l'ajout de code d'exemples et une mise à jour de certains pilotes.

Un nouveau pilote pour prendre en charge certains lecteurs de Synaptics est en voie de finalisation.

Benjamin Berg quant à lui essaye d'apporter la possibilité d'enregistrer les empreintes digitales au sein du lecteur lui même, quand c'est possible, plutôt que de les stocker sur le disque dur comme cela est fait actuellement.

Dell Totem

dell-totem.jpg

Le dispositif de pointage très particulier Dell Totem est maintenant pris en charge par la bibliothèque libinput. Benjamin Tissoires et Peter Hutterer ont rendu cela possible, alors qu'il est utilisé notamment dans le domaine de la conception assisté par ordinateur.

Firmware

GNOME Firmware.png

Richard Hughes continue son travail sur LVFS pour fournir des mises à jour de firmware sous Linux. Il a écrit une application GNOME Firmware pour afficher les firmwares de votre système, quelques informations à leur propos et s'ils sont compatible la recherche de leur mise à jour.

Sysprof et les performances

Sysprof.png

L'amélioration des performances est un sujet important pour les utilisateurs comme les développeurs. Dans la course à améliorer celles de GNOME Shell, un constat s'est imposé, il manque des outils simples d'usage pour mesurer précisément les performances d'un bureau ou d'une application. Afin d'identifier et de corriger finement les comportements qui réduisent les performances du système.

Christian Hergert a conçu l'outil GNOME Sysprof pour récupérer et afficher des données relatives à un processus.

L'application permet de mesurer durant l'utilisation du logiciel à analyser au cours du temps différents paramètres comme l'usage de la mémoire, du CPU, des accès disques ou réseaux. Il affiche également les fonctions qui allouent de la mémoire et le temps processeur passé dans les fonctions.

D'ailleurs Christian Hergert a découvert et corrigé des appels d'API bloquants dans la boucle principale e GNOME Shell ce qui réduisait la fluidité en cas d'utilisation intensive des entrées / sorties de l'ordinateur. Le système devrait se montrer plus réactif dans ce cas de figure.

GNOME

Le nouvel écran de verrouillage

GNOME écran de verrouillage.png

Il a été profondément remanié par Allan Day et l'équipe design de GNOME. L'intégration entre l'écran de verrouillage, où les notifications et l'heure sont affichées, et celui de la saisie du mot de passe est meilleure. Ce dernier par ailleurs permet d'afficher le mot de passe si souhaité pour s'assurer qu'il est correctement introduit.

Le fait d'utiliser le fond d'écran de l'utilisateur en mode flouté permet aussi d'apporter plus de cohérence et d'élégance à l'interface.

GNOME Extension

GNOME Extensions.png

Cette nouvelle application a été conçue pour gérer les extensions de GNOME, qui permettent d'ajouter ou de modifier des comportements de GNOME Shell sans entraver la maintenance du code principal.

Auparavant les extensions étaient gérés soit via GNOME Ajustements qui est un peu fourre tout ou via https://extensions.gnome.org/ le si... à cet effet. Ce n'était pas spécialement clair pour l'utilisateur comment faire. Ici l'application soccupera exclusivement de cette tâche et son nom aidera à guider les utilisateurs vers cette fonction s'ils le souhaitent.

GNOME Classique

GNOME Classique est un thème de GNOME Shell pour essayer de reproduire l'interface de GNOME 2, tout en gardant les bases techniques de GNOME 3.

Allan Day a supprimé la vue globale des applications, qui est spécifique de l'interface de GNOME 3, dans ce mode pour le rendre plus proche de l'expérience utilisateur que l'on avait avec GNOME 2. Ce mode était automatiquement utilisé en pointant le curseur de la souris dans le coin supérieur gauche de l'écran.

QtGNOME

Cette couche de compatibilité entre les applications écrites en Qt et GNOME permet de s'assurer que les applications s'intègrent du mieux que possible dans GNOME. Utiliser le même thème, choisir l'affichage sombre ou clair, etc.

Jan Grulich a apporté une mise à jour de ce composant pour refléter les changements du thème par défaut de GNOME, Adwaita, et améliorer l'intégration avec les applications Flatpak.

Internationalisation

L'internationalisation est rarement quelque chose de totalement bien prise en charge. Elle requiert souvent des étapes manuelles pour l'utilisateur afin d'avoir tout le contenu de son système dans sa langue natale, avec les polices qui peuvent l'afficher et un format de données qui correspond.

Malgré les améliorations constantes de ce domaine ces dernières années, changer de langue nécessite toujours de faire des actions à plusieurs endroits, comme configurer l'environnement de bureau et installer les paquets manquants. Sundeep Anand a corrigé ce problème sous GNOME, où choisir la langue dans le centre de contrôle entraînera l'installation des langpacks nécessaires.

Codec multimédia

Cisco, Endless, Red Hat et Centricular ont œuvré pour fournir une mise à jour du codec OpenH264 2.0. Cette mise à jour permet la prise en charge de profils additionnels de ce codec, ici High et Advanced, afin de pouvoir lire plus de fichiers employant ce codec.

Wim Taymans a corrigé certains bogues de qualité audio pour les fichiers audio encodés avec AAC.

Le codec MPEG2 est également dans la liste des travaux à venir pour améliorer sa prise en charge native avec du Logiciel Libre avec une bonne qualité. Pour les codecs plus exotiques comme Windows Media ou DivX sont en vue mais pas dans les priorités du moment.

Ce que le futur nous réserve

GNOME

Certaines optimisations dans GNOME devraient encore avoir lieu, notamment autour de la gestion du matériel. En ne démarrant les services et les interfaces de configuration uniquement si le matériel sous-jacent les rendent pertinents. Ainsi le démon de prise en charge du Bluetooth ne sera pas démarré si le matériel ne le prend pas en charge.

Pipewire

Les avancées de Pipewire rendent envisageable sa mise en place par défaut dans Fedora Workstation 33. Bien qu'il reste à finaliser le remplacement de PulseAudio.

Par ailleurs, un travail est en cours pour permettre l'enregistrement de flux vidéo avec zéro copie mémoire. Une optimisation nécessaire pour garantir un traitement rapide en évitant de surcharger le processeur dans cette tâche.

Prise en charge du matériel

Atomic KMS

Jonas Ådahl travaille pour utiliser atomic KMS dans le noyau et la pile graphique du système, afin que l'affichage et la configuration de celui-ci se fassent de manière atomique. Cela peut permettre aussi d'utiliser des fonctionnalités plus avancées du matériel.

Par exemple utiliser le matériel pour stocker le contenu de chaque fenêtre cliente de manière indépendante. Ainsi si seulement le contenu de l'une d'elle change, l'étape de composition peut être sautée au niveau logiciel ce qui accélère la vitesse du rendu. Ou encore permettre d'utiliser des framebuffers sur des écrans plus grands encore avec de bonnes performances.

De plus, le rendu KMS pourrait être effectué dans un fil d'exécution séparé, ce qui réduirait la latence entre un mouvement de la souris et son affichage.

Divers

En collaboration avec Lenovo, certaines fonctionnalités sont attendues dans le futur.

Tout d'abord la prise en charge des microphones à large champ, ce qui est utile en téléconférence quand la personne n'a pas de casque et est possiblement éloigné du micro.

Ensuite il y a la détection de l'utilisation de l'ordinateur portable sur des jambes, pour éviter de brûler l'utilisateur dans un tel cas ce qui est courant en déplacement.

Enfin, il y a la prise en charge de la fonctionnalité matérielle pour limiter l'angle de lecture sur l'ordinateur. La lecture ne serait possible que de face, évitant qu'un voisin ou quelqu'un qui passe derrière vous puisse lire l'intégralité de votre écran. Cela améliorerait la confidentialité de ce qui est affiché.

Conclusion

Comme nous pouvons le voir avec cette liste d'exemples, une distribution denvergure comme Fedora, mais aussi Ubuntu, Debian ou autres peuvent apporter bien plus qu'une liste de logiciels à installer. Ils proposent des nouveaux outils, participent au développement ou à la stabilisation des logiciels qu'ils fournissent, peuvent collaborer avec d'autres entreprises ou communautés pour améliorer la prise en charge de leur produit.

Ici nous ne parlons que des travaux significatifs de ces dernières années, Fedora a également œuvré pour PulseAudio, systemd, PackageKit, NetworkManager, le pilote libre nouveau et tant d'autres composants par le passé !

Malgré les liens forts entre Red Hat et Fedora, nous pouvons voir que beaucoup des travaux de Fedora de ces dernières années ont bénéficié à la plupart des distributions aujourd'hui. Et cela n'est pas près de se terminer.

Par ailleurs, la consécration de ces efforts a été la signature récente du partenariat entre Lenovo et Fedora pour fournir des ordinateurs portables avec Fedora Workstation préinstallé. Cela n'étant possible que parce que le système a atteint une certaine maturité. De plus, ce partenariat sera sans doute le point de départ pour améliorer encore la prise en charge du matériel nativement par le système comme cela a été expliqué brièvement plus haut.

Installation des extensions Oracle pour PHP

Remi Collet

Comme la question revient assez souvent, voici mes notes d'installation.

 

1. Contexte

Il existe 2 extensions permettant l'accès aux base Oracle de puis PHP:

Pour utiliser ces extensions, il est nécessaire de disposer de la bibliothèque cliente.

Il existe de nombreuses façons d'installer cette bibliothèque, y compris par RPM, cependant, il n'est pas possible de gérer proprement les dépendances du paquet fournissant l'extension, de ce fait on se retrouve souvent avec une extension inutilisable

$ php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'oci8' (tried: /usr/lib64/php/modules/oci8 (/usr/lib64/php/modules/oci8: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/oci8.so (libclntsh.so.19.1: cannot open shared object file: No such file or directory)) in Unknown on line 0

2. Installation de PHP et de l'extension

Pour une installation correcte de PHP, suivant les indications fournies par l'assistant de configuration.

Installer ensuite les extensions Oracle

# yum install php-oci8

3. Version du client

Pour connaitre la version de la bibliothèque, il suffit de consulter la description du paquet

$ yum info php-oci8
...
             : The extension is linked with Oracle client libraries 19.6
             : (Oracle Instant Client).  For details, see Oracle's note
             : "Oracle Client / Server Interoperability Support" (ID 207303.1).
             :
             : You must install libclntsh.so.19.1 to use this package, provided
             : in the database installation, or in the free Oracle Instant Client
             : available from Oracle.
...

Il s'agit donc actuellement de la version 19.6 qui permet l'accès aux bases en version 11.2 et supérieures

4. Utilisation du RPM

Le plus simple est d'utiliser le RPM de la bibliothèque fournit par Oracle

Téléchargement depuis: Oracle Instant Client Downloads

Actuellement, il faut prendre la paquet oracle-instantclient19.6-basic-19.6.0.0.0-1.x86_64.rpm

Si il n'est pas déjà présent, il est aussi nécessaire d'installer le paquet libnsl (dépendance non gérée par le paquet fournit)

C'est suffisant, et pour vérifier

$ php --ri oci8

oci8

OCI8 Support => enabled
OCI8 DTrace Support => enabled
OCI8 Version => 2.2.0
Oracle Run-time Client Library Version => 19.6.0.0.0
Oracle Compile-time Instant Client Version => 19.6

5. Installation manuelle

Dans les cas plus complexes, par exemple si une autre version du serveur est déjà installée sur la même machine, ou si vous souhaitez utiliser la bibliothèque déjà présente sur le système, il est nécessaire de configurer le chemin de recherche.

Example, installation de instantclient-basic-linux.x64-19.6.0.0.0dbru.zip dans /opt

# mkdir /opt/oracle; cd /opt/oracle
# unzip /tmp/instantclient-basic-linux.x64-19.6.0.0.0dbru.zip

5.1 chemin par défaut

Si il s'agit de la seule version présente sur le système, le plus simple consiste à ajouter le dossier au chemin de recherche par défaut, qui sera utilisé par tous les utilisateurs, et tous les services

# echo "/opt/oracle/instantclient_19_6" >/etc/ld.so.conf.d/oracle.conf
# ldconfig

5.2 chemin spécifique

Si vous préférez position pour chaque utilisateur (cas le plus complexe)

En ligne de commande

$ export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_6

Pour les services web, httpd (si vous utilisez encore mod_php) ou php-fpm, il faut modifier l'environnement du service en surchargeant le fichier de lancement

# systemctl edit php-fpm

Et ajouter les lignes

[Service]
Environment=LD_LIBRARY_PATH=/opt/oracle/instantclient_19_6

 

PHP version 7.2.31, 7.3.18 et 7.4.6

Remi Collet

Les RPM de PHP version 7.4.6 sont disponibles dans le dépôt remi pour Fedora 32 et dans le dépôt remi-php74 pour Fedora 30-31 et Enterprise Linux 7 (RHEL, CentOS).

Les RPM de PHP version 7.3.18 sont disponibles dans le dépôt remi pour Fedora 30-31 et dans le dépôt remi-php73 pour Enterprise Linux 6 (RHEL, CentOS).

Les RPM de PHP version 7.2.31 sont disponibles dans le dépôt remi-php72 pour Enterprise Linux 6 (RHEL, CentOS).

emblem-important-2-24.png PHP version 7.1 a atteint sa fin de vie et n'est plus maintenu par le projet PHP.

Ces versions sont aussi disponibles en Software Collections dans le dépôt remi-safe et en module pour Fedora 30-32 et EL-8.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.4 (le plus simple) :

yum-config-manager --enable remi-php74
yum update

ou, en utilisant le module (Fedora et EL-8) :

dnf module enable php:remi-7.4
dnf update php\*

Installation en parallèle, en Software Collection de PHP 7.4

yum install php74

Remplacement du PHP par défaut du système par la version 7.3 (le plus simple) :

yum-config-manager --enable remi-php73
yum update

ou, en utilisant le module (Fedora et EL-8) :

dnf module enable php:remi-7.3
dnf update php\*

Installation en parallèle, en Software Collection de PHP 7.3

yum install php73

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • les paquets EL-8 sont construits avec RHEL-8.1
  • les paquets EL-7 sont construits avec RHEL-7.8
  • les paquets EL-6 sont construits avec RHEL-6.10
  • les paquets EL-7 utilisent désormais libicu62 (version 62.1)
  • les paquets EL utilisent désormais oniguruma5 (version 6.9.4, au lieu de la version embarquée)
  • l'extension oci8 utilise désormais le client Oracle version 19.6 (sauf EL-6)
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php72 / php73 / php74)

Revue de presse de Fedora 32

Charles-Antoine Couret

Cela fait depuis Fedora 19 que je publie sur la liste de diffusion de Fedora-fr une revue de presse de chaque sortie d'une nouvelle version. Récapituler quels sites en parle et comment. Je le fais toujours deux semaines après la publication (pour que tout le monde ait le temps d'en parler). Maintenant, place à Fedora 32 !

Bien entendu je passe sous silence mon blog et le forum de fedora-fr.

Sites web d'actualité

Soit 5 sites sur les 25 contactés.

Blogs, sites persos ou sites non contactés

Soit 3 sites.

Bilan

Le nombre de sites parlant de Fedora 32 est en stabilisation.

La semaine de sa sortie, nous avons eu globalement une augmentation de visites par rapport à la semaine d'avant de cet ordre là :

  • Forums : hausse de 12,5% (environ 1000 visites en moins)
  • Documentation : hausse d'environ 10% (soit environ 600 visites en plus)
  • Le site Fedora-fr : hausse de 57% (soit 460 visites en plus)
  • Borsalinux-fr : hausse de 241% (soit 60 visites en plus)

À tenir compte de la situation particulière avec le confinement.

Si vous avez connaissance d'un autre lien, n'hésitez pas à partager ! Rendez-vous pour Fedora 33.

Fedora Silverblue en pratique

Charles-Antoine Couret

Fedora Silverblue tente d'établir un système fonctionnel conciliant Fedora Workstation, la version bureautique de la distribution éponyme, et le projet Atomic. Cette déclinaison de Fedora commence à monter en puissance en terme de développements depuis quelques temps et nous réalisons que pour beaucoup de personnes extérieures ce projet reste très flou tant dans ses objectifs mais aussi sur les implications techniques.

Nous avons présenté dans un article précédent l'historique et ce qui a motivé la conception de Fedora Silverblue. Ici nous allons nous attarder plutôt à un cas d'usage en pratique pour voir la différence avec une Fedora classique.

silverblue-logo.png

Généralités

Beaucoup de choses restent identiques par rapport à une Fedora Workstation classique. Même bureau, même interface, logithèque ou fraîcheur des versions. La procédure d'installation avec Anaconda ne change pas vraiment non plus.

Si vous souhaitez tester, vous pouvez télécharger Fedora Silverblue directement ou par Torrent. Ensuite pour l'installer vous pouvez lire le début de cette page de documentation, cela fonctionne aussi bien sur Silverblue.

La différence, comme expliqué dans l'article précédent, réside dans la gestion de la logithèque. Et nous allons en étudier cela en pratique.

Base du système avec RPM ostree

Comme vous le savez, la base du système est un tout uni et dans l'ensemble en lecture seule. Mettre à jour le système signifie passer d'un état vers un autre sans autre altération.

Cela se passe avec la commande suivante :

# rpm-ostree upgrade

Mise à jour Silverblue.png

Une fois cela fait, il suffit de redémarrer et vous basculez vers le votre nouvel état du système, à jour. Notons que GNOME Logiciels permet de réaliser la mise à jour aussi de la base du système mais graphiquement.

On peut voir en effet qu'un nouvel état est installé sur votre machine via la commande :

$ rpm-ostree status

State: idle

AutomaticUpdates: disabled

Deployments:

  ostree://fedora:fedora/31/x86_64/silverblue

                   Version: 31.20200410.0 (2020-04-10T14:27:44Z)

                   Commit: 16f67d3577701f988cb6c32a6376700f24e720e0896b2f5f4a6b6ab65f030b31

              GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4

                      Diff: 524 upgraded, 24 downgraded, 13 removed, 18 added



● ostree://fedora:fedora/31/x86_64/silverblue

                   Version: 31.1.9 (2019-10-23T21:44:48Z)

                   Commit: c4bf7a6339e6be97d0ca48a117a1a35c9c5e3256ae2db9e706b0147c5845fac4

              GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4

Le système avec le symbole est la version courante du système, sur lequel j'ai démarré après l'installation de Fedora. On constate qu'après la mise à jour un nouvel état est disponible avec sa date d'installation et la référence de la version employée.

Notez la ligne Diff pour cet autre état, il explique la différence entre l'état actuel et celui-ci qui consiste majoritairement en paquets plus récents ici.

Et en effet, après redémarrage de la machine, le symbole a changé de place. La mise à jour a bien été effective et le redémarrage aussi rapide que d'habitude.

La référence vers l'état précédent reste présente, ce qui nous autorise à revenir en arrière automatiquement en cas de gros soucis pour démarrer sur le nouvel état, ou manuellement si on a un problème qu'on a constaté nous même.

Amusons-nous à revenir en arrière, cela se fait simplement :

# rpm-ostree rollback

Et après un redémarrage, on a basculé vers l'état précédent. Simple, fiable et rapide. Notez qu'il est possible de choisir l'état au démarrage via GRUB. En cas d'installation mono-système, le menu de GRUB est caché par défaut, appuyez sur la touche ESC au démarrage de GRUB pour l'afficher et faire votre choix.

Bien sûr il est possible de configurer un peu ce système de base pour résoudre certains problèmes même si cela viole un peu l'esprit derrière Silverblue.

Par exemple, si nous voulons profiter du pilote propriétaire de nVidia car le pilote libre nouveau ne fonctionne pas suffisamment bien sur notre machine. Nous pouvez faire les choses ainsi :

D'abord il faut installer le dépôt externe RPMFusion qui dispose du paquet RPM nécessaire. Un redémarrage est évidemment nécessaire pour changer d'état avec ce dépôt disponible.

# rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-31.noarch.rpm  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-31.noarch.rpm

# systemctl reboot

Ensuite on peut installer le paquet nécessaire et changer l'argument de démarrage du noyau pour désactiver le recours au pilote nouveau. Un redémarrage sera encore nécessaire pour valider l'action.

# rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia-cuda libva-utils libva-vdpau-driver gstreamer1-libav

# rpm-ostree kargs --append=modprobe.blacklist=nouveau --append=rd.driver.blacklist=nouveau

# systemctl reboot

rpm-ostree se charge de tout pour altérer l'état du système de base.

Comme vous pouvez le voir, il reste possible d'installer des paquets RPM à l'ancienne bien que dans le cas de Silverblue cela reste déconseillé en dehors de quelques cas comme celui évoqué plus haut. Cela se fait dans une couche indépendante du système de base et sera déployé au dessus de votre version de référence après chaque mise à jour de ce dernier.

Notez que pour certaines applications, le fait que le système principal soit en lecture seule, peut poser des soucis de compatibilité.

Et si jamais vous souhaitez revenir dans l'état de base de votre système, vous pouvez utiliser simplement cette commande :

# rpm-ostree reset

Et comme Silverblue fonctionne par état pour les mises à jour, ce que l'on a vu plus haut, changer de branche de Fedora est également possible facilement.

GRUB Silverblue.png

D'abord listez les versions possibles et enfin déployez cette version.

# ostree remote refs fedora

# rpm-ostree rebase fedora:fedora/32/x86_64/silverblue

Redémarrez et mission accomplie, vous voilà sous Fedora 32. Cela fonctionne également dans l'autre sens, pour revenir sur Fedora 31 si vous êtes sur la version 32.

Fedora Toolbox

Comme cela a été expliqué dans l'autre article, Fedora Toolbox est une surcouche à podman et buildah. Son but est de facilement créer un conteneur avec une version de Fedora comme base. Il se charge lui même de récupérer les données, de faire en sorte que l'utilisateur soit le même que sur l'hôte, etc. Par ailleurs le répertoire /home est partagé entre l'hôte et les conteneurs ce qui autorise d'exploiter les outils sur vos données.

podman est pour rappel un utilitaire compatible avec Docker mais qui ne nécessite pas d'un démon avec les droits super utilisateurs pour fonctionner. Pour des raisons de sécurité.

Créer un conteneur est très simple :

$ toolbox create

Qui va en créer un avec un nom par défaut et la même version de Fedora que votre instance de Silverblue. Ici fedora-toolbox-31.

Mais on peut bien entendu personnaliser tout ça ainsi :

$ toolbox create --container <nom> --release <version>

$ toolbox create --container fedora30 --release f30

Ensuite on peut utiliser une session de shell pour entrer dans le conteneur de votre choix :

$ toolbox enter --container <nom>

Vous constaterez que le prompt se dote d'un coloré au début, pour vous rappeler que vous êtes dans un conteneur.

Podman.png

Une fois à l'intérieur, vous pouvez faire ce que vous voulez. Utilisez dnf pour installer des paquets, les mettre à jour comme avant, configurer votre système, etc. Lancer des applications depuis un tel conteneur est aussi possible.

D'ailleurs pour exécuter une commande dans un conteneur sans y obtenir un shell, vous pouvez faire :

$ toolbox run --container <name> <commande>

$ toolbox run --container fedora30 gnome-builder

Pour vous y retrouver si vous avez plusieurs conteneurs, vous pouvez les listez ainsi :

$ toolbox list

Images created by toolbox

IMAGE ID      IMAGE NAME                                        CREATED

64e68e194389  registry.fedoraproject.org/f31/fedora-toolbox:31  6 weeks ago

Containers created by toolbox

CONTAINER ID  CONTAINER NAME     CREATED            STATUS                IMAGE NAME

dc75753d59a2  fedora-toolbox-31  2 hours ago        Up 2 hours ago        registry.fedoraproject.org/f31/fedora-toolbox:31

1a9eaf6067c9  fedora30         About an hour ago  Up About an hour ago  registry.fedoraproject.org/f31/fedora-toolbox:31

Et si un conteneur n'est plus utile, vous pouvez le supprimer ainsi :

$ toolbox rm <name>

$ toolbox rm silverblue

L'objectif de Toolbox est de vous simplifier la vie dans la configuration du conteneur pour cet usage, surtout si vous n'êtes pas habitués à cet écosystème. Mais rien ne vous empêche d'utiliser podman ou Docker manuellement. Les commandes podman peuvent être exploitées à la place de Toolbox par exemple sur les conteneurs crées par ce dernier.

Flatpak

Par défaut il n'y a pas beaucoup de Flatpak disponibles dans Silverblue (mais c'est en cours de résolution). La première étape étant d'en installer un dépôt externe comme Flathub. C'est très simple et rapide.

GNOME Logiciels Flatpak.png

Globalement cela consiste à exécuter cette commande :

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Ensuite vous pouvez utiliser GNOME Logiciels pour télécharger et mettre à jour ces applications.

Ou alors à la main comme suit :

$ flatpak update

$ flatpak list

Name                                              Application ID                                Version           Branch          Origin           Installation

Platform                                          org.fedoraproject.Platform                                     f32             fedora           system

default                                           org.freedesktop.Platform.GL.default                            19.08           flathub          system

openh264                                          org.freedesktop.Platform.openh264                              2.0             flathub          system

Geary                                             org.gnome.Geary                               3.36.1           stable          fedora           system

Lollypop                                          org.gnome.Lollypop                            1.2.33           stable          flathub          system

GNOME Application Platform version 3.36           org.gnome.Platform                                             3.36            flathub          system

Comme vous pouvez le voir, Geary et Lollypop ont été installés par Flatpak, l'un via Flathub, l'autre via Fedora Registry qui propose ses propres Flatpak aussi exploitables dans un conteneur podman ou Docker. Les runtimes nécessaire pour ces applications ont aussi été installés et sont listés ici comme GNOME Application Platform.

Pour installer, il suffit de chercher si un tel paquet existe puis l'installer. Prenons GNOME Agenda comme exemple.

$ flatpak search calendar

Name         Description                                                                  Application ID                Version                   Branch  Remotes

Agenda       Agenda de GNOME                                                              org.gnome.Calendar            3.36.0                    stable  fedora,flathub

$ flatpak install org.gnome.Calendar

Comme l'application existe dans Flathub et Fedora, Flatpak vous demandera la source à utiliser ici. Par défaut un Flatpak est installé dans /var/lib pour être accessible pour l'ensemble des utilisateurs. Mais si pour une raison particulière vous souhaitez que seul votre utilisateur ait accès, vous pouvez ajouter l'argument --user :

$ flatpak install --user org.gnome.Calendar

L'un des avantages de Flatpak est qu'il repose aussi sur des états. Si une mise à jour ne vous plaît pas car elle introduit une régression gênante pour vous, vous pouvez facilement revenir en arrière. D'abord il faut identifier la liste des états disponibles de votre application.

$ flatpak remote-info --log flathub org.gnome.Geary

Ensuite choisir un état et l'appliquer.

$ flatpak update --commit bba3bbb1ab3b127de0fd984279d99170f9ec671b05c18cc64a0c102243664a1c org.gnome.Geary

GNOME Shell permet de les lancer comme une application native évidemment, mais depuis le terminal c'est possible ainsi :

$ flatpak run <application id>

$ flatpak run org.gnome.Geary

Peu à peu les Flatpak disposent d'un système de permissions et de portails pour permettre l'accès aux ressources dont les applications ont besoin uniquement.

Notons aussi que GNOME Logiciels peut présenter les choses de manière un peu trompeuse. Par exemple installer Lollypop qui était le premier Flatpak nécessitait de télécharger près de 1 Gio de données pour 40 Mio installé. En fait le gigaoctet de données était lié aux runtimes nécessaires à télécharger. Mais Geary qui utilise les mêmes runtimes n'a eu besoin que de quelques mégaoctets seulement pour être installé par après. Comme Silverblue repose énormément sur les Flatpak, vos runtimes seront rentabilisés car partagés par beaucoup d'applications.

Si vous souhaitez voir les changements opérés sur les Flatpak comme les installations et mises à jour, une commande est possible :

$ flatpak history

Time              Change         Application                         Branch Installation                                                                         Remote

avril 11 18:00:17 add remote                                                system                                                                               flathub

avril 11 18:06:07 deploy install org.fedoraproject.Platform          f32    system                                                                               fedora

avril 11 18:06:12 deploy install org.gnome.Geary                     stable system                                                                               fedora

Mode de travail avec Silverblue

Avant nous avions un système unifié avec des dépôts centralisés pour tout et il n'y avait pas beaucoup de possibilités pour installer des applications ou maintenir le système. Silverblue en plus introduit une certaine redondance par endroit. Comment s'y retrouver ?

La base du système est globalement en lecture seule et minimaliste. À part le mettre à jour il n'y a pas grand chose à faire en temps normal. Y toucher peut devenir essentiel pour ce qui a trait à la gestion du matériel comme le chargeur de démarrage GRUB ou le noyau et ses pilotes. En dehors de cela il n'est pas recommandé d'essayer de le manipuler. L'objectif est qu'il soit minimal, simple et fiable. Le reste repose sur les conteneurs et Flatpak.

Les Flatpak seront à privilégier pour les applications graphiques. Après tout seules ces applications peuvent être installées par ce biais.

Pour le reste, il y a les conteneurs avec Fedora Toolbox. Utile pour les applications textes, environnements de développement, etc. Le fait d'avoir plusieurs conteneurs permet de séparer les tâches. Le développement Python d'un côté, le serveur Web de l'autre, l'expérimentation d'un projet, un environnement pour le travail professionnel, etc. À vous de voir selon vos envies et besoins. S'il reste possible d'avoir un conteneur fourre tout pour simuler une Fedora classique, cette approche n'est pas réellement dans l'esprit de Silverblue.

Le gain ?

Une partie des gains a été largement relatée dans l'article précédent. Mais avec un peu de pratique, que pouvons-nous observer ?

Tout d'abord la séparation du système en plusieurs parties permet de leur donner une responsabilité propre ce qui améliore dans un sens sa fiabilité mais aussi son élégance. Le système de base se charge de fournir un système qui démarre et qui est exploitable. Il est beaucoup plus difficile d'aboutir à un situation complexe inextricable avec une machine peu fonctionnelle.

La flexibilité est plus grande, via Fedora Toolbox et Flatpak, il est plus facile d'expérimenter des choses et d'adapter votre système à vos besoins. Vous souhaitez tirer profit d'une version de Python qui est dans Fedora 32 et dans Fedora 29 pour vos tests ? Vous pouvez avoir les deux facilement avec Fedora Toolbox en ayant un conteneur pour chaque.

Et si vous avez fini un projet professionnel et que vous n'avez plus besoin de ces conteneurs spécialisés de Python avec les versions spécifiques, il suffit de les supprimer. Plus besoin de chercher les paquets qui étaient nécessaires pour cette tâche et dont vous n'avez plus besoin pour toiletter le système.

Vous souhaitez une version de Firefox très récente mais une de LibreOffice plus ancienne ? Flatpak le permet de concilier les deux facilement comme nous l'avons vu.

Et chaque application n'aura accès qu'aux données et ressources pour lesquels il dispose de votre autorisation, limitant les problèmes dus à des bogues ou des failles.

Mais bien sûr cela a un coût. Besoin de plus de bande passante, de mémoire, CPU et d'espace disque. Le système dans son ensemble est aussi plus complexe à appréhender, de nouvelles choses sont à apprendre.

GitHub Actions pour déployer son WordPress avec Deployer

Guillaume Kulakowski

GitHub a depuis quelques semaines mis à disposition pour tous son système de pipelines : les GitHub Actions. Dans un précédent article je vous avais décrit comment je déploie ce blog via Deployer. Jusqu’à présent, même si mon code était bien hébergé chez GitHub, je poussais encore en prod’ en lançant la commande depuis mon […]

Cet article GitHub Actions pour déployer son WordPress avec Deployer est apparu en premier sur Guillaume Kulakowski's blog.

firewalld VS docker

Guillaume Kulakowski

Avec l’arrivée de Fedora 32, il y a eu des changements sur Firewalld. En effet, ce dernier passe maintenant par nftables. Le problème, comme évoqué dans le change, c’est qu’il y a des soucis avec Docker. Depuis ma migration sous Fedora 32, plus moyen de builder des containers car je n’arrive pas à atteindre les […]

Cet article firewalld VS docker est apparu en premier sur Guillaume Kulakowski's blog.

Présentation de Fedora Silverblue

Charles-Antoine Couret

Fedora Silverblue tente d'établir un système fonctionnel conciliant Fedora Workstation, la version bureautique de la distribution éponyme, et le projet Atomic. Cette déclinaison de Fedora commence à monter en puissance en terme de développements depuis quelques temps et nous réalisons que pour beaucoup de personnes extérieures ce projet reste très flou tant dans ses objectifs mais aussi sur les implications techniques.

L'objet de cet article est de retracer l'histoire rapidement de Atomic et Fedora Silverblue avant d'évoquer les détails de fonctionnement de celui-ci.

silverblue-logo.png

Avant Fedora Silverblue, émergea Fedora.next

Les fondements de Fedora Silverblue prennent racine dans la réflexion menée dans le cadre de Fedora.next, projet censé inscrire Fedora dans la durée après avoir fêté ses dix années. En effet, en 2013-2014, le projet Fedora s'est mis en pause technique pour réfléchir quant à son avenir, dans ce qu'elle souhaitait délivrer à ses utilisateurs tout en tirant un bilan de la situation actuelle. C'est pourquoi il y a eu près d'un an entre Fedora 20 et Fedora 21, au lieu des six mois habituels, pour dégager du temps et prendre du recul au sein du projet tout entier.

Le bilan

Le bilan dressé du développement d'une distribution est particulièrement critique. Il est particulièrement mis en exergue par le manque d'attrait des utilisateurs pour leur distribution, même en dehors de Fedora, et aussi certains défauts structurels quant à l'approche traditionnelle d'aborder la réalisation d'une distribution Linux.

Une distribution Linux classique génère et propose des paquets pour ses utilisateurs, afin qu'ils puissent installer les applications concernées en résolvant les dépendances nécessaires et à priori avec une intégration entre elles pour fournir une expérience utilisateur acceptable. Ensuite il y a deux modèles qui s'ajoutent à ce tableau. Le premier, plus répandu et employé par Fedora, Debian, Ubuntu ou Mageia est de proposer à une fréquence fixe une nouvelle version de leur système. Et très souvent, pour une version donnée de ces systèmes, les logiciels fournis sont comme figés. Les mises à jour concernent surtout les problèmes de sécurité ou la correction de bogues, plus rarement des versions qui apportent de nouvelles fonctionnalités. Pour obtenir des logiciels plus récents, il faut donc changer de version du système via une mise à niveau. Le second modèle, porté par ArchLinux et Gentoo par exemple, ne propose pas réellement de versions de leur système. Les logiciels sont continuellement mis à jour vers la dernière version.

Ce modèle a rarement été remis en cause. Il apporte en effet des avantages certains. Installer un paquet depuis les dépôts officiels est très simple et efficient pour l'utilisateur. La mise à jour est centralisée ce qui limite le temps de maintenance nécessaire à cette activité. Et au niveau de la sécurité et de l'économie de ressources cela est également le bienvenu car les logiciels peuvent partager des ressources en commun sans difficulté et il est inutile de maintenir plusieurs fois la même bibliothèque commune par exemple.

Mais ce modèle a également un revers pour l'utilisateur et la mise au point des distributions. Tout d'abord l'utilisateur est comme piégé par sa distribution. Il est très difficile d'installer en parallèle deux applications identiques de versions différentes. Et si on souhaite une version différente d'un logiciel que celle proposée par sa distribution, comme la dernière version de GNOME, ou la version précédente de Python, la distribution ne fournit rien pour répondre à ce besoin. L'utilisateur doit se débrouiller pour cette tâche ce qui est particulièrement peu flexible. Et au niveau de la fiabilité ou de la maintenance, cela est également plutôt complexe si on cherche à atteindre une certaine qualité. Les applications dans ce modèle ont accès à tout dans le système, et les opérations d'installation ou de mise à jour peuvent corrompre le système si une coupure de courant intervient au mauvais moment par exemple. Enfin, mettre à jour ou installer un paquet n'est pas anodin, il y a souvent exécution de scripts pour convertir des fichiers de configuration pour être compatible avec la nouvelle version, ou pour rendre ce dernier exploitable comme créer un utilisateur qui va exécuter le service nouvellement installé. Sauf que, chaque installation de Fedora est différente, les utilisateurs n'installent pas les mêmes logiciels et ne les utilisent pas de la même manière. Il faut donc que le mainteneur anticipe de nombreux problèmes potentiels liés à ces contextes très différents pour s'assurer que son paquet sera exploitable pour tous sans accrocs.

Or ces défauts sont très problématiques. En particulier à un moment où les logiciels disponibles pour Linux se multiplient et se développent un peu partout en étant pas fournis via la distribution mais par Github par exemple. D'autant plus que l'utilisateur est habitué des systèmes d'exploitation macOS et Windows où installer une nouvelle application est assez indépendante de la version du système qui l'exécute. En plus d'être capable d'installer plusieurs versions en simultané s'il le souhaite. Et force est de constater qu'aucun système Linux populaire, en dehors d'Android, n'a réellement mis les moyens de changer ce modèle en profondeur.

Enfin, récemment il y a eu l'émergence d'autres systèmes de gestionnaires de paquets qui forment des écosystèmes indépendants des distributions. On peut évoquer en premier lieu les langages de programmation qui proposent des modules facilement téléchargeables pour les développeurs comme Python avec pip, Ruby avec gem, Go, Rust ou PHP. De plus, certaines applications ont leur propre écosystème d'extensions comme Firefox ou GNOME Shell et les paquets peuvent être redondants avec cette infrastructure.

L'architecture envisagée

Pour résoudre ce problème, en découplant la base du système des applications, Fedora.next a exploré l'idée de transformer Fedora en un système avec trois couches de logiciels.

La première couche est une base qui se veut très minimale et comporte à peine ce qui est nécessaire pour avoir un système fonctionnel. Cela concerne la gestion du matériel via le chargeur de démarrage et du noyau, les bibliothèques essentielles comme la bibliothèque C, de quoi gérer des paquets et de démarrer des services comme systemd. Guère plus.

La seconde couche concerne plutôt les piles technologiques qui sont également assez essentielles au fonctionnement du système et de la plupart des applications. C'est là qu'on retrouvera la plupart des bibliothèques très importantes, mais surtout les langages de programmation et leur écosystème comme Python, Ruby, PHP, Perl, etc.

Enfin, la dernière contient les applications elles-mêmes avec éventuellement une séparation entre les environnements de bureaux comme GNOME, KDE / Plasma ou Xfce des autres applications.

Fedora.next_architecture.jpg

La mise en œuvre

Le projet Fedora développa plusieurs solutions dans ce cadre. La première est la création immédiate des produits, à savoir Fedora Workstation, Server et Cloud à l'époque. Le but était de fournir une expérience par défaut qui corresponde au mieux à ces différents cas d'usage, que ce soit par les paquets fournis par défaut, les options ou configurations natives. Mais aussi, cela permettait à Cloud d'expérimenter une architecture plus agressive et différente des deux autres : le projet Atomic que l'on abordera un peu plus loin.

Ensuite, le projet Fedora travailla sur le concept des modules. L'objectif est qu'une version de Fedora puisse installer plus facilement la version d'un composant de la seconde couche (les fameuses piles mentionnées plus haut) fournies par une autre version de Fedora. Cela permet donc d'utiliser par exemple la dernière version de Python même si on ne bénéficie pas de la dernière version de Fedora si on le souhaite. Le tout en passant par les dépôts de manière assez classique.

Malheureusement l'architecture envisagée permet difficilement l'installation simultanée de deux piles complètes en parallèle. À part le cas Python 2 et Python 3 qui a demandé un investissement important sur la durée pour l'autoriser, les dépôts traditionnels et les modules n'offrent que la possibilité d'installer une version de référence différente de celle proposée par défaut.

Flavor-workstation-background.png

Le projet Atomic

Genèse

En 2014, le projet Atomic est lancé. Son but est d'essayer de simplifier l'usage des systèmes RHEL, CentOS ou Fedora au sein des conteneurs tels que Docker. Donc nous sommes plutôt dans un contexte cloud où les images sont minimales et gèrent peu de services à la fois. Pour monter en charge, il suffirait d'en instancier plus ce qui est intéressant si le système est fiable et minimal.

Cela passe par une refonte de la manière de concevoir ces systèmes. Jusqu'ici toute distribution Linux peut être résumée par l'architecture tout est paquets. Chaque logiciel ou composant est fourni à travers un paquet. La cohérence et le fonctionnement de l'ensemble repose donc sur le gestionnaire de paquets et les liens de dépendances définis au sein de chacun.

Atomic repousse ce modèle traditionnel, du point de vue utilisateur du moins, avec le composant rpm-ostree et le système qui est considéré comme un tout unifié avec la possibilité de réaliser des mises à jour atomiques. Il faut voir rpm-ostree comme un gestionnaire de versions (un outil similaire à git par exemple) pour des binaires. Ce système de fichiers de base du système sera versionné comme un code sous git. Chaque mise à jour de ce dernier sera vu comme un commit.

En cela il s'inspire du projet NixOS pour refaire les fondations d'une distribution. Mais NixOS a une approche différente, tandis que Atomic privilégie l'approche commit / déploiement, NixOS repose sur des sommes de contrôles et des chemins dans la définition des paquets. L'inconvénient est qu'une modification dans une dépendance majeure du système, comme glibc, implique de régénérer l'ensemble des paquets qui en dépendent alors que la compatibilité n'a pas été changée au niveau de l'ABI. L'approche d'Atomic permet d'éviter cet écueil. Atomic peut également être utilisé par n'importe quel outil capable de générer un système de fichiers alors que NixOS requiert des outils et un langage spécifique.

Différences avec une distribution traditionnelle

La conséquence évidente c'est que la notion de paquets disparaît pour l'utilisateur, le système de base est un tout indivisible et chaque composant est lié aux autres. Une mise à jour d'un élément dans ce système de base entraîne une mise à jour de l'ensemble. Heureusement grâce aux delta entre chaque version seulement ce qui a différé est réellement téléchargé et appliqué en cas de mise à jour. Sur une distribution plus classique, chaque paquet est mis à jour de manière indépendante les uns des autres. Cela est fait à travers la commande rpm-ostree upgrade qui regarde dans le dépôt où est versionné l'image pour récupérer la dernière version publiée.

Un avantage immédiat est que l'ensemble est standardisé. Chaque poste qui disposera de la version X de l'image Atomic considérée sera identique aux autres du point de vue du système de base. Avec la méthode plus traditionnelle de faire, pour différentes raisons, cela n'est pas forcément le cas. Certains ne mettent pas tous les paquets à jour ou à la même fréquence. Les mises à jour n'ont pas lieu forcément dans le même ordre ou certains peuvent sauter des transitions intermédiaires dans le processus. Ce nouveau procédé améliore la reproductibilité et aussi la fiabilité car les tests d'assurance qualité reproduisent de fait le comportement de toutes les images en production.

L'autre intérêt est également le versionnage même du système. Si la mise à jour pose problème, revenir en arrière est simple et immédiat car il suffit de sélectionner la révision antérieure dans l'outil de gestion (comme la commande rpm-ostree rollback voire le chargeur de démarrage lui même). Avec un système de paquets c'est souvent une étape bien plus complexe à réaliser et coûteuse à base de clichés du système. Et en cas de coupure de courant au mauvais moment, le système Atomic sera toujours opérant comme avant alors que l'état d'un système plus traditionnel sera plus aléatoire voire non fonctionnel.

Changer par ailleurs de version est relativement immédiat et complet. Le démarrage sélectionne la version désirée, la déploie et l'ensemble des paquets sont à jour ensemble. Cela évite les possibilités d'incohérence que l'on peut avoir habituellement, si on redémarre une application en cours de mise à jour par exemple alors que potentiellement d'autres composants ne le sont pas encore.

Enfin, cela permet d'envisager d'aller plus loin. Comme le système de base est réalisé en bloc, il est possible de rendre ce système de base en lecture seule. Cela signifie isoler les dossiers qui ne peuvent être changés que par rpm-ostree lors d'une mise à jour. Ces dossiers là seront en lecture seule pour limiter la possibilité d'écriture qu'à certains dossiers précis pour la configuration, les données ou ajouter des logiciels supplémentaires. Ainsi cette partie là du système est plus robuste car moins sensible aux accidents ou aux actes malveillants.

De manière plus concrète, les dossiers /etc et /var sont les seuls dossiers accessibles en lecture et écriture. Ils sont préservés en cas de mise à jour. En cas de modification de la configuration d'un logiciel dans /etc, ostree applique le 3-way merge pour fusionner vos modifications avec ceux fournis par la mise à jour. /var peut être utilisé pour reproduire une hiérarchie FHS traditionnelle si nécessaire exploitable via chroot ou similaire.

Personnaliser le système

Se pose la question de la personnalisation du système. Comment faire dans ce cas pour ajouter un nouveau service dans une image ?

La première solution est de générer cette image personnalisée soi même. rpm-ostree n'a pas de notion de paquets mais on peut générer une image OSTree avec des paquets, donc à partir d'une image classique de Fedora par exemple.

Ensuite, c'est d'installer un nouveau composant sous forme d'une surcouche au système de base. Par exemple exécuter la commande rpm-ostree install toolbox va récupérer l'image produit par le paquet toolbox et le déployer par dessus celui du système de base. Il suffit de générer le système de fichiers voulu avec les logiciels souhaités avant de déployer l'ensemble et de maintenir les mises à jour soi même.

Sinon la philosophie de cette architecture est de recourir à des conteneurs pour isoler au mieux les applications personnelles et faciliter la maintenance et le déploiement.

Mise en œuvre dans Fedora

Dès 2014, Fedora va travailler pour proposer une image de sa version cloud minimale reposant sur le projet Atomic. Très rapidement cette implémentation va devenir celle par défaut car elle correspond bien au but même de produit.

Fedora Silverblue

Naissance du projet

Devant les promesses du projet Atomic, les réflexions de Fedora.next et la transition réussie pour Fedora Cloud, l'idée émerge de réaliser Fedora Workstation avec le projet Atomic en marge du projet Fedora dans un premier temps. En revenant dans le giron de Fedora, l'équipe a décidé de renommer le projet en Fedora Silverblue en 2018 pour donner plus de visibilité à ce projet de long terme tout en le distinguant de Fedora Atomic qui est associé à Fedora Cloud.

L'objectif est évidemment de fournir les avantages cités lors du traitement du projet Atomic mais pour l'image phare de Fedora. Les avantages étant les mêmes, nous n'allons pas les énumérer à nouveau pour plutôt évoquer les difficultés et le travail qui reste à fournir. Et l'avenir éventuel de ce projet.

Il est évident que la conception du projet Atomic colle parfaitement avec les exigences d'une image minimale telle que Fedora Cloud. Pour Workstation cela est plus complexe. Un utilisateur installe et configure beaucoup de logiciels différents. Cette combinaison est presque unique. Il est impensable d'avoir une image universelle qui contiendrait l'ensemble des logiciels pour chaque utilisateur avec une telle architecture. Et il est assez irréaliste d'exiger à un utilisateur commun de manipuler un outil tel que Docker pour parvenir à ses fins. Installer de nouveaux outils se fera par deux voies différentes.

Flatpak

La première repose sur Flatpak. Flatpak est un projet pour fournir un système de paquets dit universel dans un système isolé de bac à sable. Flatpak dispose de nombreux atouts dans ce contexte.

Pour commencer, il autorise l'installation de logiciels par des utilisateurs normaux simplement, sans droits super-utilisateur contrairement à un paquet d'une distribution traditionnelle. Car le logiciel s'installe dans le répertoire de cet utilisateur par défaut.

Ensuite, à cause de l'isolation du logiciel et de l'universalité de la solution, il doit embarquer ses propres dépendances. Cela alourdi le paquet et complexifie la maintenance des bibliothèques très communes, mais un paquet Flatpak peut fonctionner sur n'importe quelle distribution et il est possible d'installer plusieurs versions d'un même logiciel en même temps ce qui donne plus de liberté à l'utilisateur.

Un autre aspect intéressant est le concept des portails. Comme les paquets Flatpak sont isolés du système, ils n'ont accès qu'à peu de choses par défaut. Ils ne peuvent lire les données dans vos répertoires personnelles par exemple. Pour que cela soit possible, les Flatpak vont utiliser des portails pour informer l'utilisateur que l'application a besoin de permissions spéciales pour effectuer une action comme prendre une capture globale de l'écran, accéder au réseau, accéder à la webcam, lire un fichier personnel, etc.. L'utilisateur peut librement autoriser ou non cette application à réaliser cette action à la volée. Ce fonctionnement ressemble au mécanisme de permissions des systèmes mobiles comme iOS ou Android. Cette architecture permet d'améliorer la sécurité en minimisant les droits des applications au strict nécessaire, en alertant l'utilisateur et limite les problèmes en cas de bogue de l'application.

Pour atténuer les inconvénients mentionnés précédemment, Flatpak fonctionne aussi avec des dépôts pour centraliser les mises à jour de l'ensemble de ses applications. Il dispose également de contextes d'exécution pour unifier les bibliothèques très communes et éviter que chaque application ne les embarque ou ne les mette à jour eux mêmes. Ces contextes d'exécution pouvant être installés en parallèle, on peut garder une application fonctionnelle même en cas de rupture de compatibilité entre deux versions d'un contexte d'exécution. La mise à jour par delta limite également le besoin en bande passante d'une mise à jour au strict nécessaire.

Cependant Flatpak ne concerne que les applications disposant d'une interface graphique. Or il y a d'autres composants qu'un utilisateur voudrait pouvoir installer sur sa Fedora Silverblue comme des outils de développement.

Fedora toolbox

C'est la deuxième voie pour installer des logiciels supplémentaires dans le système. Fedora toolbox repose sur buildah et podman qui est lui même un clone de Docker pouvant s'exécuter sans droits super-utilisateur.

Ainsi il devient possible d'installer facilement des conteneurs pour un utilisateur donné pour ses développements. On reprend les avantages cités plus haut en terme de sécurité, fiabilité ou encore de possibilité de manipuler des versions différentes d'un même composant. Ce qui est un besoin récurent en développement par ailleurs.

En fait cet utilitaire permet de créer un conteneur basé sur une version de Fedora de votre choix, avec une configuration par défaut pour que le partage avec l'hôte soit simple comme la correspondance des noms utilisateurs et des différents IDs. La base du conteneur peut être partagé entre les instances : deux conteneurs basés sur F31 ne requiert de télécharger qu'une fois cette base.

État du projet et avenir

Fedora Silverblue bénéficie d'un grand investissement et de grands progrès sont réalisés de version en version. Mais le projet est encore trop immature pour envisager de remplacer Fedora Workstation par défaut, car les difficultés à résoudre restent nombreuses.

En effet, le public de Fedora Workstation est très hétérogène et les besoins entre chaque utilisateur sont importants. Il faut s'assurer que l'ensemble des cas d'usages soient couverts malgré leur diversité. Et cela sans que le dit système soit plus complexe.

Pour l'instant l'intégration rpm-ostree, Flatpak et toolbox fonctionne plutôt bien. Pour des usages très simples et peu exotiques c'est un système qui peut être utilisable. Mais les usages plus complexes ou exotiques sont encore mal gérés.

Quelques exemples de problèmes à résoudre actuellement :

  • Le fonctionnement des environnements de développement dans un tel contexte ;
  • L'installation et l'usage de codecs multimédia additionnels ;
  • Certaines applications qui dépendant de pilotes spécifiques comme VirtualBox ;
  • Les extensions systèmes.

Mais ceci n'est qu'un aperçu des problèmes, il y en a bien d'autres dans le détail. Et même s'il y a une volonté de tous les résoudre, personne n'a la réponse de si Fedora Silverblue pourra réellement remplacer Fedora Workstation à terme. Du moins avec le respect complet de son architecture tel qu'il a été envisagé. Sans oublier les adeptes des distributions traditionnelles pour les avantages que cela leur procure.

L'équipe de Fedora Silverblue propose des versions majeures synchronisées avec le reste du projet. Donc si cela vous intéresse de tester la bête en vrai, n'hésitez pas !

Passage à Fedora 32

Didier Fabert Le passage de Fedora 31 à Fedora 32 s’est bien passé et sans incident. Comme d’habitude, il faut sauvegarder ses données au préalable et il peut être judicieux d’avoir à disposition un live CD ou clé , au cas où… (Voir le post concernant la création d’une clé USB) Montée de version On met à […]

PHP version 7.3.18RC1 et 7.4.6RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt de test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests.et également en paquets de base.

Les RPM de PHP version 7.4.6RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 32 ou remi-php74-test pour Fedora 30-31 et Enterprise Linux 7-8

Les RPM de PHP version 7.3.18RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 30-31 ou remi-php73-test pour Enterprise Linux.

emblem-notice-24.pngPHP version 7.2 est désormais en mode maintenance de sécurité, il n'y aura donc plus de Release Candidate.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 7.4 :

yum --enablerepo=remi-test install php74

Installation en parallèle, en Software Collections de PHP 7.3 :

yum --enablerepo=remi-test install php73

Mise à jour, de PHP 7.4 :

yum --enablerepo=remi-php73,remi-php74-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.4
dnf --enablerepo=remi-modular-test update php\*

Mise à jour, de PHP 7.3:

yum --enablerepo=remi-php73,remi-php73-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.3
dnf --enablerepo=remi-modular-test update php\*

A noter : la version 7.4.6RC1 est dans Fedora rawhide pour la QA

emblem-notice-24.pngLes paquets pour EL-8 on été construit à partir de RHEL-8.1

emblem-notice-24.pngLes paquets pour EL-7 on été construit à partir de RHEL-7.8

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité)

 

Software Collections (php73, php74)

Paquets standards (php)

Fedora 32 se déconfine

Charles-Antoine Couret

En ce mardi 28 avril, les utilisateurs du Projet Fedora seront ravis d'apprendre la disponibilité de la version Fedora 32.

Cette version apporte beaucoup de changements concernant l'expérience utilisateur et l'abandon de Python 2.

GNOME Bureau.png

Expérience utilisateur

Passage à GNOME 3.36. Cette version apporte de nombreuses petites améliorations dont voici un extrait :

  • refonte de l'interface de connexion (GDM) et du verrouillage de l'écran ;
  • GNOME affiche un bouton pour afficher le mot de passe du champ de saisie si nécessaire pour le vérifier ;
  • les boutons du menu de GNOME Shell ont été remaniés pour laisser apparaître la mise en veille sans utiliser une touche du clavier au préalable comme avant ;
  • une nouvelle application GNOME Extensions pour les configurer et les gérer plutôt que via votre navigateur web ;
  • un nouveau bouton Ne pas déranger est disponible dans la zone de notifications pour les désactiver temporairement pour l'utilisateur ;
  • le centre de configuration a été réarrangé rendant la navigation plus simple quand la section Vie privée liste désormais les applications qui ont obtenu des autorisations pour accéder aux services de localisation, à la caméra et au micro. Laccès peut être révoqué individuellement pour chaque application ;
  • GNOME Logiciels détecte les connexions limitées (via le téléphone ou une puce 4G interne par exemple) pour désactiver le téléchargement automatique des mises à jour dans ce cas ;
  • un système de contrôle parental fait son apparition pour autoriser ou non l'accès à des applications ;
  • le navigateur web peut afficher les fichiers PDF directement ;
  • les utilisateurs de pilotes propriétaires NVIDIA peuvent désormais lancer les applications en utilisant la carte graphique dédiée depuis GNOME Shell, avec le menu consacré.

GNOME écran de verrouillage.png

Une nouvelle image alternative Comp Neuro Lab est disponible pour proposer par défaut des paquets relatifs aux neuro-sciences et qui est prête à l'emploi. Une documentation officielle est par ailleurs fournie pour voir les paquets proposés nativement comme octave, numpy ou encore neurord.

Plusieurs polices bitmaps sont converties en OpenType pour être exploitables par des applications plus modernes qui reposent sur la nouvelle version de la bibliothèque pango. En effet ce dernier depuis Fedora 31 utilise la bibliothèque HarfBuzz au lieu de FreeType pour effectuer le rendu des caractères et qui oblige de fait l'usage de polices vectorielles. Cette conversion a reposé principalement sur l'usage de l'outil fonttosfnt. Cela augmente de fait la diversité des polices prises en charge.

Gestion du matériel

Le service fstrim.timer est activé par défaut. Il est exécuté de façon hebdomadaire pour signaler la liste des secteurs effacés au contrôleur de mémoires flash compatibles pour améliorer leur gestion d'un point de vue performance. Par défaut il est exécuté chaque lundi à minuit, ou au prochain redémarrage ou sorti de veille survenant après cette date si la machine était inactive.

GNOME GDM.png

Cela pourrait sur quelques rares matériels quelques problèmes de performances durant l'opération (soit quelques secondes). Cela est également actif depuis quelques années chez Ubuntu ou OpenSUSE ce qui a conforté le projet Fedora dans la fiabilité d'un tel changement.

GNOME ne pas déranger.png

Administration système

Le paquet earlyoom est installé par défaut. En cas de mémoire insuffisante (RAM et swap utilisés à plus de 90%), un signal SIGTERM sera envoyé au processus ayant le plus gros score OOM. À plus de 95% d'utilisation, c'est le signal SIGKILL qui est envoyé.

Le but est d'essayer de sauver la machine en cas de problèmes de disponibilité de mémoire et quand la partition d'échange est très sollicitée. Une situation où un redémarrage brutal matériel était souvent nécessaire jusqu'ici même sur les machines puissantes disposant d'un SSD.

Contrairement à l'OOM du noyau (qui s'active plus tard), le signal SIGTERM est envoyé pour donner une chance au processus de se terminer proprement.

Pour revenir à la situation précédente vous pouvez exécutez la commande

# systemctl disable earlyoom.service 

Ou configurer earlyoom pour correspondre à vos besoins.

GNOME Extensions.png

Développement

Python 2 est retiré. Plus exactement, le paquet python2 est remplacé par celui de python27 pour des raisons de compatibilité. Les paquets qui dépendent de cette version de Python de même que les bibliothèques Python 2 sauf quelques exceptions sont quant à eux supprimés des dépôts. Cela met fin à la transition de Python 2 vers Python 3, ce premier n'étant plus maintenu officiellement depuis janvier 2020.

Projet Fedora

Le projet améliore la façon d'avoir des statistiques sur l'utilisation de Fedora. L'objectif est de connaître plus finement le nombre de machines employant Fedora, mais aussi avoir des informations sur la version utilisée, sa variante (comme le Spins), etc. Ce qui permet à l'équipe qualité mais aussi au projet dans son ensemble de baser leurs décisions sur des données factuelles.

Actuellement le tout reposait sur la collecte de données des différents miroirs pour connaître le nombre d'installation en vigueur ce qui n'était pas fiable, à cause du fait que derrière une adresse IP peut se cacher plusieurs installations. Et cette méthode était plutôt lente pour remonter les informations.

Et il fallait trouver un moyen qui garantisse un respect de la vie privée maximale. Et bien évidemment, il faut que le mécanisme fonctionne si l'utilisateur utilise dnf, GNOME Logiciels ou Cockpit par exemple pour gérer ses paquets.

Pour éviter cela, tous les 7 jours lors d'une requête vers un dépôt, libdnf va envoyer la chaîne libdnf/VERSION (NAME VERSION_ID; OS.BASEARCH) comme user agent et incrémenter un compteur interne qui est aussi envoyé. Cela permettra d'obtenir les informations suffisantes à savoir la version de Fedora, la variante utilisée, l'architecture mais aussi la durée de vie d'une Fedora (une semaine, un mois, deux ans ?). L'user agent peut être changé via l'option user_agent dans le fichier de configuration de dnf. Cette fonctionnalité est également désactivable avec l'aide de l'option countme dans ce même fichier qui est configuré à False. Cette option étant activée par défaut.

Pour éviter le risque de traquer une machine en particulier, le compteur n'est plus incrémenté au bout de 60 semaines soit la durée de support approximative d'une Fedora.

Cette nouveauté a été proposée pour Fedora 30 mais a été finalement reportée.

La communauté francophone

L'association

Logo.png

Borsalinux-fr est l'association qui gère la promotion de Fedora dans l'espace francophone. Nous constatons depuis quelques années une baisse progressive des membres à jour de cotisation et de volontaires pour prendre en main les activités dévolues à l'association.

Nous lançons donc un appel à nous rejoindre afin de nous aider.

L'association est en effet propriétaire du site officiel de la communauté francophone de Fedora, organise des évènements promotionnels comme les Rencontres Fedora régulièrement et participe à l'ensemble des évènements majeurs concernant le libre à travers la France principalement.

Si vous aimez Fedora, et que vous souhaitez que notre action perdure, vous pouvez :

  • Adhérer à l'association : les cotisations nous aident à produire des goodies, à nous déplacer pour les évènements, à payer le matériel ;
  • Participer sur le forum, les listes de diffusion, à la réfection de la documentation, représenter l'association sur différents évènements francophones ;
  • Concevoir des goodies ;
  • Organiser des évènements type Rencontres Fedora dans votre ville.

Nous serions ravis de vous accueillir et de vous aider dans vos démarches. Toute contribution, même minime, est appréciée.

Si vous souhaitez avoir un aperçu de notre activité, vous pouvez participer à nos réunions hebdomadaires chaque lundi soir à 20h30 (heure de Paris) sur IRC (canal #fedora-meeting-1 sur Freenode).

La documentation

Depuis juin 2017, un grand travail de nettoyage a été entrepris sur la documentation francophone de Fedora, pour rattraper les 5 années de retard accumulées sur le sujet.

Le moins que l'on puisse dire, c'est que le travail abattu est important : près de 90 articles corrigés et remis au goût du jour. Un grand merci à Charles-Antoine Couret, Nicolas Berrehouc, Édouard Duliège, José Fournier et les autres contributeurs et relecteurs pour leurs contributions.

L'équipe se réunit tous les lundis soir après 21h (heure de Paris) sur IRC (canal #fedora-doc-fr sur Freenode) pour faire progresser la documentation par un travail collaboratif. Le reste de la semaine cela se passe sur les listes de diffusion.

Si vous avez des idées d'articles ou de corrections à effectuer, que vous avez une compétence technique à retransmettre, n'hésitez pas à participer.

Comment se procurer Fedora 32 ?

Mediawriter.png

Si vous avez déjà Fedora 31 ou 30 sur votre machine, vous pouvez faire une mise à niveau vers Fedora 32. Cela consiste en une grosse mise à jour, vos applications et données sont préservées.

Autrement, pas de panique, vous pouvez télécharger Fedora avant de procéder à son installation. La procédure ne prend que quelques minutes.

Nous vous recommandons dans les deux cas de procéder à une sauvegarde de vos données au préalable.

De plus, pour éviter les mauvaises surprises, nous vous recommandons aussi de lire au préalable les bogues importants connus à ce jour pour Fedora 32.

PHP version 7.2.30, 7.3.17 et 7.4.5

Remi Collet

Les RPM de PHP version 7.4.5 sont disponibles dans le dépôt remi pour Fedora 32 et dans le dépôt remi-php74 pour Fedora 30-31 et Enterprise Linux 7 (RHEL, CentOS).

Les RPM de PHP version 7.3.17 sont disponibles dans le dépôt remi pour Fedora 30-31 et dans le dépôt remi-php73 pour Enterprise Linux 6 (RHEL, CentOS).

Les RPM de PHP version 7.2.30 sont disponibles dans le dépôt remi-php72 pour Enterprise Linux 6 (RHEL, CentOS).

emblem-important-2-24.png PHP version 7.1 a atteint sa fin de vie et n'est plus maintenu par le projet PHP.

Ces versions sont aussi disponibles en Software Collections dans le dépôt remi-safe et en module pour Fedora 30-32 et EL-8.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.4 (le plus simple) :

yum-config-manager --enable remi-php74
yum update

ou, en utilisant le module (Fedora et EL-8) :

dnf module enable php:remi-7.4
dnf update php\*

Installation en parallèle, en Software Collection de PHP 7.4

yum install php74

Remplacement du PHP par défaut du système par la version 7.3 (le plus simple) :

yum-config-manager --enable remi-php73
yum update

ou, en utilisant le module (Fedora et EL-8) :

dnf module enable php:remi-7.3
dnf update php\*

Installation en parallèle, en Software Collection de PHP 7.3

yum install php73

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • les paquets EL-8 sont construits avec RHEL-8.1
  • les paquets EL-7 sont construits avec RHEL-7.7
  • les paquets EL-6 sont construits avec RHEL-6.10
  • les paquets EL-7 utilisent désormais libicu62 (version 62.1)
  • les paquets EL utilisent désormais oniguruma5 (version 6.9.4, au lieu de la version embarquée)
  • l'extension oci8 utilise désormais le client Oracle version 19.6 (sauf EL-6)
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php72 / php73 / php74)

PHP 8.0 en Software Collection

Remi Collet

La version 8.0.0-alpha1 sera prochainement publiée. C'est actuellement la phase de développement, mais la phase de stabilisation va bientôt commencer pour les développeurs, et celle de test pour les utilisateurs.

Les RPM de cette prochaine version de PHP 8.0, sont disponibles dans le dépôt remi pour Fedora 31, 32 et Enterprise Linux 7, 8 (RHEL, CentOS, ...) dans une nouvelle Software Collection (php80) permettant son installation en parallèle de la version système.

Comme je crois fortement au potentiel des SCL pour fournir un moyen simple d'installer plusieurs versions en parallèle, et qu'il me semble utile d'offrir cette possibilité pour PHP 8.0 afin de permettre aux développeurs de tester leur application, aux sysadmin de préparer une migration, ou simplement d'utiliser cette version pour une application spécifique, j'ai décidé de créer cette nouvelle SCL.

Je prévois aussi de proposer cette version pour Fedora 34 (F33 devrait être publiée quelques semaines avant PHP 8.0.0).

Installation :

yum install php80

emblem-important-2-24.pngA noter :

  • la SCL est totalement indépendante du système, et ne le modifie pas
  • cette SCL est dans le dépôt remi-safe (dans le dépôt remi pour Fedora)
  • l'installation est dans le dossier /opt/remi/php80, la configuration dans le dossier /etc/opt/remi/php80
  • le module pour Apache, php80-php, est disponible, mais évidement un seul mod_php peut être utiliser (il faudrait donc désactiver ou désinstaller tout autre module afin de l'utiliser, celui fournit par le paquet "php" reste prioritaire)
  • le service FPM (php80-php-fpm) est disponible, il écoute par défaut sur le port 9000, il faudrait donc adapter la configuration si vous souhaitez utiliser plusieurs services FPM en même temps.
  • la commande php80 permet d'accéder simplement à cette version, cependant l'utilisation de la commande scl reste la meilleure méthode (ou module)
  • Il s'agit pour l'instant de la version 8.0.0-dev, mais les versions alpha/beta/RC devrait être disponibles dans les prochaines semaines.
  • quelques extensions PECL sont déjà disponibles, voir la page status des extensions
  • seulement pour  x86_64, pas de plan pour les autres architectures.
  • le paquet php80-syspaths permet de l'utiliser comme version par défaut du système

emblem-notice-24.pngLire aussi les autres articles concernant les SCL, notamment la description de Ma station de travail PHP.

$ module load php80
$ php --version
PHP 8.0.0-dev (cli) (built: Apr  9 2020 16:31:18) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.0-dev, Copyright (c), by Zend Technologies

Comme d'habitude, vos retours sont les bienvenus, un forum dédié aux SCL est ouvert.

Software Collections (php80)

PHP version 7.3.17RC1 et 7.4.5RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt de test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests.et également en paquets de base.

Les RPM de PHP version 7.4.5RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 32 ou remi-php74-test pour Fedora 30-31 et Enterprise Linux 7-8

Les RPM de PHP version 7.3.17RC1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 30-31 ou remi-php73-test pour Enterprise Linux.

emblem-notice-24.pngPHP version 7.2 est désormais en mode maintenance de sécurité, il n'y aura donc plus de Release Candidate.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 7.4 :

yum --enablerepo=remi-test install php74

Installation en parallèle, en Software Collections de PHP 7.3 :

yum --enablerepo=remi-test install php73

Mise à jour, de PHP 7.4 :

yum --enablerepo=remi-php73,remi-php74-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.4
dnf --enablerepo=remi-modular-test update php\*

Mise à jour, de PHP 7.3:

yum --enablerepo=remi-php73,remi-php73-test update php\*

ou, en utilisant le module (Fedora et RHEL 8) :

dnf module reset php
dnf module enable php:remi-7.3
dnf --enablerepo=remi-modular-test update php\*

A noter : la version 7.4.5RC1 est dans Fedora rawhide pour la QA

emblem-notice-24.pngLes paquets pour EL-8 on été construit à partir de RHEL-8.1

emblem-notice-24.pngLes paquets pour EL-7 on été construit à partir de RHEL-7.7

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité)

 

Software Collections (php73, php74)

Paquets standards (php)

Compte rendu de l'Assemblée Générale de Borsalinux-fr du 22 février 2020

Association Borsalinux-Fr

Le samedi 22 février 2020 a eu lieu l'Assemblée Générale de l'association Borsalinux-fr à la Fondation pour le Progrès de l'Homme à Paris.

Les 12 membres présents ou représentés ont approuvé le bilan moral et financier de l'année 2019.

Résumé

Évènements

Les évènements francophones se font plus rares et il y a eu des difficultés suite à la grève nationale des transports en décembre pour assister au POSS. Un renforcement de la communication pour les évènements parisiens et une meilleur organisation pour le Capitole du libre est à prévoir.

Produits dérivés

Les nouveaux produits dérivés sont en attente du nouveau logo de Fedora qui devrait être diffusé cette année. Mais aucune date n'est connue à ce jour. Des clés USB et boîtes à repas sont du coup en attente de cette décision.

Emmanuel a reçu un nouveau lot provenant du projet Fedora.

Financement

Beaucoup d'interrogations à propos des frais Paypal et des moyens de paiement de cotisations alternatives. Pour l'instant il n'y a pas d'alternative crédible autre que le virement bancaire qui sera proposé sous peu. Les frais de service de Paypal n'étant pas gênant dans le cadre des montants considérés et de nos besoins.

Le site Fedora-fr.org

Beaucoup de discussions à propos du site qui mériterait une refonte. Il a été évoqué de refaire l'interface du site, en lien aussi avec le nouveau logo du projet Fedora. D'uniformiser ceux de l'association et du site principal. De migrer le forum vers une autre solution technique qui permettrait aussi d'avoir un compte unique pour tous les services comme la documentation et le forum.

Quelques idées pour étendre les services du site : ajouter un kanboard (gestion de projet), un calendrier partagé, partage de fichiers via NextCloud ou un serveur de discussion type Matrix.

De l'aide sera requise pour ce chantier, tant côté backend que côté frontend pour l'aspect graphique.

Pour plus d'informations, le PV complet de l'Assemblée Générale est disponible ici..

PHP 7.4 et NextCloud 18 sous OpenMediaVault 4

Guillaume Kulakowski

J’ai depuis plusieurs années un NAS sous OpenMediaVault. Bien que je fasse les mises à jour au grès de leurs sorties et alors que j’utilise la dernière version stable d’OMV, force est de constater que celle-ci est encore basée sur Debian 9. Du coup, qui dit Debian 9, dit PHP 7.0. Or cette version n’est […]

Cet article PHP 7.4 et NextCloud 18 sous OpenMediaVault 4 est apparu en premier sur Guillaume Kulakowski's blog.

Page générée le 05 juin 2020 à 20:20