Cet article détaille une précieuse leçon apprise sur les pièges potentiels de l'installation de bibliothèques de systèmes de base à partir des référentiels de backport de Debian. Bien que les retards offrent un accès aux dernières fonctionnalités, ils peuvent également introduire des problèmes imprévus, en particulier avec les bibliothèques de systèmes essentiels. Cette expérience se concentre sur un défaillance flatpak update
après la mise à niveau de curl
vers la version 8.10 du référentiel de retards sur un système Debian 12.
Table des matières
Le problème: FlatPak Update Error
Tenter un flatpak update
a entraîné l'erreur suivante:
<code>Updating 1/23… 0% 0 bytes/s** OSTree:ERROR:src/libostree/ostree-fetcher-curl.c:526:sock_cb: code should not be reached Bail out! OSTree:ERROR:src/libostree/ostree-fetcher-curl.c:526:sock_cb: code should not be reached Aborted (core dumped)</code>
Le coupable a été identifié comme libcurl3-gnutls
, installé à partir du référentiel de backports debian.
La cause racine
libcurl3-gnutls
est une bibliothèque de systèmes de base facilitant la communication Internet. L'installation d'une version bricolofiée (une version plus récente que la version stable) a introduit des problèmes d'incompatibilité avec le processus de mise à jour flatpak
. Cette incompatibilité, comme indiqué dans un rapport de bogue Debian et confirmée par le développeur Debian, Simon McVittie, a souligné les risques de mise à niveau des bibliothèques de systèmes de base à partir de sources autres que le référentiel stable. La version plus récente curl
(8.10.0) était en conflit avec la bibliothèque libostree
utilisée par flatpak
. Réinstaller simplement la version stable curl
n'était pas suffisante; Downrading libcurl3-gnutls
était nécessaire.
La solution: rétrogradation libcurl3-gnutls
La solution impliquait de rétrograder libcurl3-gnutls
à la version stable Debian 12.
Étape 1: Identification des versions disponibles
Utilisez cette commande pour répertorier les versions disponibles:
apt-cache policy libcurl3-gnutls
Cela révèle les versions installées et disponibles, différenciant entre les backports ("BPO") et les versions stables.
Étape 2: Effectuer le dégradation
rétrogradation à l'aide du numéro de version stable approprié identifié à l'étape 1 (par exemple, 7.88.1-10 deb12u7
):
sudo apt install libcurl3-gnutls=7.88.1-10+deb12u7
Confirmez le rétrogradation avec «y».
Étape 3: Vérification
re-run apt-cache policy libcurl3-gnutls
pour confirmer la rétrogradation de la version stable.
Étape 4: Mise à jour de Flatpak
Réessayez la commande flatpak update
. Il devrait maintenant terminer avec succès.
Risques des backports pour les bibliothèques de base
L'utilisation de backports pour les bibliothèques de base augmente le risque de:
Les plats clés
Conclusion
Cette expérience souligne l'importance de la prudence lors de l'utilisation de backports pour les composants du système de base. Bien que les retards peuvent être bénéfiques, le potentiel d'instabilité l'emporte sur les avantages lorsqu'il s'agit de bibliothèques de systèmes fondamentaux. Il est crucial aux versions stables et à la compréhension des procédures de recul pour maintenir un système stable et fiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!