Nouvelles Calculate Linux - Décembre 2021
Salut à tous,
Un billet récapitulatif pour vous, si vous utilisez Calculate Linux 21.
Je vous relaie l'information de façon neutre sans indiquer mon point de vue, notamment sur PipeWire
Mise à jour des anciens systèmes
Nous en avons presque terminé avec la sortie de Calculate Linux 22. Nous aimerions vous en dire plus sur une nouvelle fonctionnalité très importante qui rendra votre système encore plus fiable.
De nombreux utilisateurs utilisent Calculate Linux depuis longtemps sans le réinstaller. Certains n'ont pas fait de mise à jour depuis 5 ou même 10 ans ! Grâce à notre référentiel binaire, la mise à jour de votre système est devenue beaucoup plus facile. La raison principale n'était pas l'approche binaire, comme beaucoup pourraient le penser, mais la résolution des nombreux blocages qui se produisent lors de la préparation d'un grand nombre de paquets binaires. Un exemple en est les nightly builds, qui ont été régulièrement mis à jour, testés et pris comme base pour les nouvelles versions, année après année. Calculate Linux peut en effet être considérée comme une distribution dont la durée de vie est presque illimitée ! Néanmoins, il y a un point faible dans ce beau scénario de mise à jour en rolling release, et ce sont les problèmes presque garantis lorsqu'on essaie de mettre à jour le système après un long intervalle.
Les problèmes de mise à jour peuvent être causés par diverses raisons. Un exemple récent est celui de la version d'avril de Calculate Linux 21 qui, si elle est installée en juillet, provoquera une erreur. La raison en est la migration de l'arbre de Portage vers EAPI 8. Le gestionnaire de paquets inclus dans la version 3.0.18 ne supportait pas EAPI 8. Fin juin, début juillet, les mainteneurs de Gentoo ont réussi à corriger la version 3.0.20 avec le support d'EAPI 8, et à la mi-juillet ils ont mis EAPI 8 dans l'arbre Portage. En conséquence, toutes les mises à jour sont bloquées. Le seul moyen de contourner ce problème est d'exécuter les commandes suivantes l'une après l'autre :
Il est certainement possible de penser à un moyen d'utiliser les révisions pour installer ces paquets lors du démarrage d'une mise à jour. Mais il ne s'agirait que d'un fix temporaire. Comme vous avez pu le remarquer dans l'exemple ci-dessus, vous devez réinstaller plus que le gestionnaire de paquets corriger le problème. Maintenir ces différents états indéfiniment, ou pour une année seulement, serait à la fois coûteux et problématique.
L'idée n'est pas nouvelle. Rappelez-vous comment Windows se met à jour, en installant d'abord un nouveau navigateur, puis un service pack pour celui-ci, puis des mises à jour pour le service pack, etc. Vous pensez avoir mis à jour jusqu'au bout, mais la prochaine exécution déploiera à nouveau une quantité décente de mises à jour pour les paquets déjà installés. Nous allons procéder de la même manière. À cette fin, nous utilisons le concept de "niveau" de dépôt pour le dépôt binaire (le paramètre de niveau dans le fichier /grp/ini.env du miroir est maintenant "0"). Le niveau de mise à jour du paquet utilisé sera stocké dans la variable utilitaire cl_update_level. Au moment de la mise à jour, cl-update comparera la valeur de cl_update_level à celle du miroir et, si nécessaire, basculera vers le miroir de migration. Le miroir de migration contient le référentiel binaire au moment de la dernière mise à jour réussie du système. La valeur de cl_update_level sera alors incrémentée. L'utilitaire retournera au miroir de travail après avoir vérifié que son niveau correspond au niveau du système, sinon il basculera la mise à jour vers le miroir de migration suivant.
Nous avons loué un nouveau serveur pour exécuter les miroirs de migration, qui seront sauvegardés via notre solution btrfs+btrbk bien testée. Cette simple solution de contournement vous permettra de mettre à jour vos anciens systèmes de manière pratiquement illimitée dans le temps.
Support de Python 3
La transition de Calculate Utilities vers Python 3 est une étape importante. En raison du manque de support des bibliothèques nécessaires dans la nouvelle version de Python, nous l'avons retardée tout en continuant à supporter Python 2. Entre-temps, nous avons commencé à travailler sur la version 4, en prévoyant une réécriture complète du code. Malheureusement, le projet a été retardé et nous avons décidé de porter Les Calculates Utilities 3 vers Python 3. La plupart des bogues de migration ont été corrigés, et Python 2 n'est plus inclus dans nos distributions. Pour l'avenir, nous prévoyons de nous remettre au travail sur Calculate Utilities 4.
Recueil de commentaires et autres améliorations
Il y a quelque temps, nous avons lancé un sondage sur la plate-forme Reformal afin de recueillir les réactions et les idées des utilisateurs, au cas où. Merci à tous ceux qui y ont participé et soumis leurs suggestions, soit en discutant, soit en votant. Si vous avez manqué la nouvelle, consultez ce feedback ( http://calculate.reformal.ru ). Certaines choses simples ont déjà été corrigées, certains problèmes plus difficiles ont été laissés pour des plus tard.
PipeWire
PipeWire est un serveur de sons, un remplacement de PulseAudio. Vous pouvez toujours choisir ALSA pour une utilisation sur Calculate Linux, qui est susceptible de convenir dans la plupart des cas. De nombreuses louanges ont été faites à PipeWire, conçu pour réduire les exigences du système et obtenir la meilleure qualité sonore possible. Bien entendu, une étape importante dans le passage à ce système était précisément de préparer une nouvelle version intégrant PipeWire.
Noyau 5.15.6
La dernière étape importante dans la préparation de la nouvelle version a été la mise à niveau vers le nouveau noyau avec support à long terme 5.15. Il devrait fournir un meilleur support matériel, un support amélioré pour NTFS, des optimisations de performance et bien plus encore. Vous pouvez installer une version binaire du noyau 5.10 si vous avez des doutes ou des problèmes.
La sortie de Calculate Linux 22 est prévue pour ce mois-ci ! Restez connectés !
Un billet récapitulatif pour vous, si vous utilisez Calculate Linux 21.
Je vous relaie l'information de façon neutre sans indiquer mon point de vue, notamment sur PipeWire
Mise à jour des anciens systèmes
Nous en avons presque terminé avec la sortie de Calculate Linux 22. Nous aimerions vous en dire plus sur une nouvelle fonctionnalité très importante qui rendra votre système encore plus fiable.
De nombreux utilisateurs utilisent Calculate Linux depuis longtemps sans le réinstaller. Certains n'ont pas fait de mise à jour depuis 5 ou même 10 ans ! Grâce à notre référentiel binaire, la mise à jour de votre système est devenue beaucoup plus facile. La raison principale n'était pas l'approche binaire, comme beaucoup pourraient le penser, mais la résolution des nombreux blocages qui se produisent lors de la préparation d'un grand nombre de paquets binaires. Un exemple en est les nightly builds, qui ont été régulièrement mis à jour, testés et pris comme base pour les nouvelles versions, année après année. Calculate Linux peut en effet être considérée comme une distribution dont la durée de vie est presque illimitée ! Néanmoins, il y a un point faible dans ce beau scénario de mise à jour en rolling release, et ce sont les problèmes presque garantis lorsqu'on essaie de mettre à jour le système après un long intervalle.
Les problèmes de mise à jour peuvent être causés par diverses raisons. Un exemple récent est celui de la version d'avril de Calculate Linux 21 qui, si elle est installée en juillet, provoquera une erreur. La raison en est la migration de l'arbre de Portage vers EAPI 8. Le gestionnaire de paquets inclus dans la version 3.0.18 ne supportait pas EAPI 8. Fin juin, début juillet, les mainteneurs de Gentoo ont réussi à corriger la version 3.0.20 avec le support d'EAPI 8, et à la mi-juillet ils ont mis EAPI 8 dans l'arbre Portage. En conséquence, toutes les mises à jour sont bloquées. Le seul moyen de contourner ce problème est d'exécuter les commandes suivantes l'une après l'autre :
Code BASH :
cl-update --sync-only; emerge -1O python:3.9; emerge -1O glibc; emerge -1O portage; cl-update
Il est certainement possible de penser à un moyen d'utiliser les révisions pour installer ces paquets lors du démarrage d'une mise à jour. Mais il ne s'agirait que d'un fix temporaire. Comme vous avez pu le remarquer dans l'exemple ci-dessus, vous devez réinstaller plus que le gestionnaire de paquets corriger le problème. Maintenir ces différents états indéfiniment, ou pour une année seulement, serait à la fois coûteux et problématique.
L'idée n'est pas nouvelle. Rappelez-vous comment Windows se met à jour, en installant d'abord un nouveau navigateur, puis un service pack pour celui-ci, puis des mises à jour pour le service pack, etc. Vous pensez avoir mis à jour jusqu'au bout, mais la prochaine exécution déploiera à nouveau une quantité décente de mises à jour pour les paquets déjà installés. Nous allons procéder de la même manière. À cette fin, nous utilisons le concept de "niveau" de dépôt pour le dépôt binaire (le paramètre de niveau dans le fichier /grp/ini.env du miroir est maintenant "0"). Le niveau de mise à jour du paquet utilisé sera stocké dans la variable utilitaire cl_update_level. Au moment de la mise à jour, cl-update comparera la valeur de cl_update_level à celle du miroir et, si nécessaire, basculera vers le miroir de migration. Le miroir de migration contient le référentiel binaire au moment de la dernière mise à jour réussie du système. La valeur de cl_update_level sera alors incrémentée. L'utilitaire retournera au miroir de travail après avoir vérifié que son niveau correspond au niveau du système, sinon il basculera la mise à jour vers le miroir de migration suivant.
Nous avons loué un nouveau serveur pour exécuter les miroirs de migration, qui seront sauvegardés via notre solution btrfs+btrbk bien testée. Cette simple solution de contournement vous permettra de mettre à jour vos anciens systèmes de manière pratiquement illimitée dans le temps.
Support de Python 3
La transition de Calculate Utilities vers Python 3 est une étape importante. En raison du manque de support des bibliothèques nécessaires dans la nouvelle version de Python, nous l'avons retardée tout en continuant à supporter Python 2. Entre-temps, nous avons commencé à travailler sur la version 4, en prévoyant une réécriture complète du code. Malheureusement, le projet a été retardé et nous avons décidé de porter Les Calculates Utilities 3 vers Python 3. La plupart des bogues de migration ont été corrigés, et Python 2 n'est plus inclus dans nos distributions. Pour l'avenir, nous prévoyons de nous remettre au travail sur Calculate Utilities 4.
Recueil de commentaires et autres améliorations
Il y a quelque temps, nous avons lancé un sondage sur la plate-forme Reformal afin de recueillir les réactions et les idées des utilisateurs, au cas où. Merci à tous ceux qui y ont participé et soumis leurs suggestions, soit en discutant, soit en votant. Si vous avez manqué la nouvelle, consultez ce feedback ( http://calculate.reformal.ru ). Certaines choses simples ont déjà été corrigées, certains problèmes plus difficiles ont été laissés pour des plus tard.
PipeWire
PipeWire est un serveur de sons, un remplacement de PulseAudio. Vous pouvez toujours choisir ALSA pour une utilisation sur Calculate Linux, qui est susceptible de convenir dans la plupart des cas. De nombreuses louanges ont été faites à PipeWire, conçu pour réduire les exigences du système et obtenir la meilleure qualité sonore possible. Bien entendu, une étape importante dans le passage à ce système était précisément de préparer une nouvelle version intégrant PipeWire.
Noyau 5.15.6
La dernière étape importante dans la préparation de la nouvelle version a été la mise à niveau vers le nouveau noyau avec support à long terme 5.15. Il devrait fournir un meilleur support matériel, un support amélioré pour NTFS, des optimisations de performance et bien plus encore. Vous pouvez installer une version binaire du noyau 5.10 si vous avez des doutes ou des problèmes.
La sortie de Calculate Linux 22 est prévue pour ce mois-ci ! Restez connectés !