Eviter un FrankenDebian

Salut à tous :slight_smile: et meilleurs voeux pour cette nouvelle année !

En installant Bullseye sur un PC récent Dell Vostro 3501 (l’installation de Buster a échoué, au démarrage aucun affichage), j’ai eu des difficultés pour installer la Wifi Qualcomm Atheros QCA9377 802.11ac qui n’était pas reconnue nativement. Comme je n’arrivais pas à la faire fonctionner, j’ai testé toutes sortes de solutions (y compris l’installation depuis des sources). Les pilotes non-free recommandés par Debian ne s’installant pas, j’ai réussi à les installer mais que depuis le dépôt testing (ce qu’il NE faut surtout PAS faire d’après ces recommandations). Une fois fait, j’ai désactivé le dépôt testing depuis le sources.list (ce point est important pour la suite). Je l’ai compris après, mais je venais de mettre en place un FrankenDebian.

Le temps a passé et récemment j’ai constaté un bug gênant sous LibreOffice après une prétendue mise à jour (ce n’est pas moi qui l’est constatée). Si on ouvre un classeur depuis un partage réseau Samba avec Calc, les données des feuilles disparaissent (seuls les onglets des feuilles sont présents et correctement nommés). Après investigations, il semblerait que le problème viendrait de cette version de LO. J’ai essayé de changer de version en supprimant celle en place (apt remove libreoffice*) mais dès que j’ai essayé d’installer à nouveau, je suis tombé sur le fameux message X recommande Y mais n’est pas installable … les paquets défectueux sont en mode « garder en l’état ». A partir de là panique générale, le système semblait cassé, plein d’essais infructueux pour tout remettre en place (au moins dans l’état avant de casser) … mais rien, jusqu’au moment où je me suis souvenu de la désactivation du dépôt testing. Je l’ai réactivé et ai pu tout remettre d’aplomb (Ouf !).

Désormais, conscient des bonnes pratiques, je suis repartis sur une installation propre de Bullseye dans l’optique d’avoir un Debian « conventionnel ». La Wifi s’est installé correctement avec les recommandation Debian sans avoir à passer par les pilotes testing.

Pour résoudre le bug de LO, dans un premier temps j’ai installé LibreOffice rétro-porté (méthode recommandée par Debian si le cas s’avère nécessaire).

Comme dans un deuxième temps j’ai trouvé une autre solution (installations parallèles de LO), j’ai voulu supprimer LO rétro-porté pour revenir au LO initial :

root@host:~# apt remove libreoffice*
...
Les paquets suivants seront ENLEVÉS :
libreoffice-common libreoffice-core libreoffice-gtk3 libreoffice-l10n-fr libreoffice-style-colibre python3-uno

=> le seul package qui me semble être une dépendance problématique possible est python3-uno

J’ai donc regardé de quoi dépend ce package :

root@host:~# aptitude why python3-uno
i   libreoffice-l10n-fr Dépend     libreoffice-common (>= 1:7.0.0~alpha~)
i A libreoffice-common  Recommande python3-uno (>= 4.4.0~beta2) 

=> il ne dépend de rien d’autre que de LO, il me semble donc que je peux désinstaller cette version de LO et désactiver le dépôt de rétro-portage en toute sécurité.

J’ai donc désactivé le dépôt de rétro-portage, mis à jour et réinstallé LO depuis le dépôt de base et … tadaaa … les paquets défectueux sont en mode « garder en l’état » :frowning:

Du coup je ne comprends pas où est le problème puisque j’ai supprimé tous les packages retro-portés et leurs dépendance et surtout je ne comprends pas comment revenir à l’état avant installation du dépôt de rétro-portage.

Je suis bête ou alors il y a des subtilités que je ne comprends pas, même en suivant les recommandations Debian ???

Si quelqu’un peut m’expliquer le pourquoi et comment résoudre le problème …

Avec adelphité,
lnj

Bonjour,

peux-tu nous donner le contenu du fichier : /etc/apt/sources.list ?
Pour installer des firmware, il suffit en général d’ajouter les backports à ton sources.list.
Avec une recherche j’obtiens:

root@tzunkars:~# apt search QCA9377
En train de trier... Fait
Recherche en texte intégral... Fait
firmware-atheros/stable 20210315-3 all
  Binary firmware for Qualcomm Atheros wireless cards

Salut Zargos et meilleurs voeux :slight_smile: ,

Je n’ai pas de problème avec les pilotes wifi (ils fonctionnent depuis belle lurette et n’ont été que la cause initiale de mes déboires) mais avec l’activation et la désactivation du rétro-portage annoncée comme étant une recommandation officielle de Debian. Du pourquoi dans le fond je n’arrive pas à faire marche arrière …

Personne pour m’aiguiller ?

Qu’entends-tu par je n’arrive pas à faire machine arrière ?

As-tu purger les fichiers les paquets et non simplement désinstallé ?

Quel est le message/logs d’installation durant ta tentative avec Libreoffice ?

Revenir à l’état avant ajout du backport pour pouvoir ré-installer les packages « normaux » de la distrib.

Non. Est ce nécessaire ? (j’avais compris que la purge n’était qu’au niveau des fichiers de configuration)

Je n’ai plus le PC dans l’état où il était (j’ai du le refaire), je fais ça en virtualisation et te fait un retour (ça devrait pas être long).

Mais au delà de mon exemple, j’aimerais vraiment comprendre comment ne pas re-faire une erreur de divergence de dépendances et quand il y en a une sur un système en place, comment la résoudre (quitte à réinstaller une partie du système).

Non, les deux.
apt remove unpaquet supprime unpaquet sans ses fichiers de configuration alors qu’apt purge unpaquet supprime unpaquet mais aussi ses fichiers de configuration.

Cela va être difficilement reproductible pour d’autre logiciels … c’est au cas par cas.
Mais en générale un paquet prends le dessus et force les dépendances ou vie la truchements d’une paquets initialement en suggestion.
Cela peux aussi être un fichier de préférences forçant une branche voir permettant au branche backport, testing ou unstable à prendre le dessus par le biais d’un numéro de version supplémentaire.

Por testing et unstable, s’ils sont dans ton sources.list il prendront atomatiquement le dessus. Pour backports c’est uniquement si tu le spécifie lors de la commande d’installation par l’option -t bullseye-backports

Debian Bullseye fraichement installé (machine virtuelle)

root@vm-bullseye:~# libreoffice --version
LibreOffice 7.0.4.2 00(Build:2)
root@vm-bullseye:~# apt show libreoffice -a | grep -i Version
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Version: 1:7.0.4-4+deb11u1

Supprimer LO

root@vm-bullseye:~# apt purge libreoffice*
...
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5
  coinor-libcoinutils3v5 coinor-libosi1v5 fonts-opensymbol gstreamer1.0-gtk3
  libabw-0.1-1 libboost-filesystem1.74.0 libboost-iostreams1.74.0
  libboost-locale1.74.0 libboost-thread1.74.0 libcdr-0.1-1
  libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libe-book-0.1-1
  libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libexttextcat-2.0-0
  libexttextcat-data libfreehand-0.1-1 libgpgmepp6 libjuh-java libjurt-java
  liblangtag-common liblangtag1 liblibreoffice-java libmhash2 libmspub-0.1-1
  libmwaw-0.3-3 libmythes-1.2-0 libneon27-gnutls libnumbertext-1.0-0
  libnumbertext-data libodfgen-0.1-1 liborcus-0.16-0 liborcus-parser-0.16-0
  libpagemaker-0.0-0 libqrcodegencpp1 libqxp-0.0-0 libraptor2-0 librasqal3
  librdf0 librevenge-0.0-0 libridl-java libstaroffice-0.0-0 libuno-cppu3
  libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3
  libuno-salhelpergcc3-3 libunoloader-java libvisio-0.1-1 libwpd-0.10-10
  libwpg-0.3-3 libwps-0.4-4 libxmlsec1 libxmlsec1-nss libyajl2 libzmf-0.0-0
  lp-solve node-normalize.css uno-libs-private ure
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  libreoffice-base-core* libreoffice-calc* libreoffice-common*
  libreoffice-core* libreoffice-draw* libreoffice-gtk3*
  libreoffice-help-common* libreoffice-help-en-us* libreoffice-help-fr*
  libreoffice-impress* libreoffice-l10n-fr* libreoffice-math*
  libreoffice-style-colibre* libreoffice-writer* python3-uno*
0 mis à jour, 0 nouvellement installés, 15 à enlever et 0 non mis à jour.
Après cette opération, 359 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]
...

Ajouter un dépôt de rétro-portage (source)

root@vm-bullseye:~# cat /etc/apt/sources.list | grep bullseye-backports
deb http://deb.debian.org/debian bullseye-backports main
root@vm-bullseye:~# apt update
root@vm-bullseye:~# apt show libreoffice -a | grep -i Version
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Version: 1:7.2.3-2~bpo11+1
Version: 1:7.0.4-4+deb11u1

Installer LO rétro-porté (source)

root@vm-bullseye:~# apt install -t bullseye-backports libreoffice libreoffice-l10n-fr libreoffice-gtk3
...
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  libcmis-0.5-5v5 libjuh-java libjurt-java libqrcodegencpp1 libridl-java node-normalize.css
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets supplémentaires suivants seront installés : 
  ant ant-optional ca-certificates-java default-jre default-jre-headless firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils fonts-crosextra-caladea
  fonts-crosextra-carlito fonts-dejavu fonts-dejavu-extra fonts-liberation fonts-linuxlibertine fonts-noto-core fonts-noto-extra fonts-noto-ui-core fonts-opensymbol fonts-sil-gentium
  fonts-sil-gentium-basic java-common libactivation-java libaopalliance-java libapache-poi-java libapache-pom-java libargs4j-java libatinject-jsr330-api-java libatk-wrapper-java
  libatk-wrapper-java-jni libbase-java libbcmail-java libbcpkix-java libbcprov-java libbox2d2.3.0 libbsh-java libcdi-api-java libcodemodel-java libcommons-cli-java
  libcommons-codec-java libcommons-collections3-java libcommons-collections4-java libcommons-compress-java libcommons-io-java libcommons-lang3-java libcommons-logging-java
  libcommons-math3-java libcommons-parent-java libcurvesapi-java libdom4j-java libdtd-parser-java libehcache-java libel-api-java libfastinfoset-java libfbclient2 libflute-java
  libfonts-java libformula-java libgeronimo-annotation-1.3-spec-java libgeronimo-interceptor-3.0-spec-java libgif7 libguava-java libguice-java libhawtjni-runtime-java
  libhsqldb1.8.0-java libhttpclient-java libhttpcore-java libib-util libicu4j-java libintellij-annotations-java libistack-commons-java libitext-java libjansi-java libjansi-native-java
  libjaxb-api-java libjaxb-java libjaxen-java libjcommon-java libjdom1-java libjetbrains-annotations-java libjsoup-java libjsp-api-java libjsr305-java liblayout-java libloader-java
  liblog4j1.2-java libmail-java libmariadb3 libmaven-file-management-java libmaven-parent-java libmaven-resolver-java libmaven-shared-io-java libmaven-shared-utils-java
  libmaven3-core-java libpentaho-reporting-flow-engine-java libpixie-java libplexus-archiver-java libplexus-cipher-java libplexus-classworlds-java libplexus-component-annotations-java
  libplexus-interpolation-java libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils2-java libpq5 librelaxng-datatype-java libreoffice-base libreoffice-base-core
  libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-impress libreoffice-java-common libreoffice-math libreoffice-nlpsolver
  libreoffice-report-builder libreoffice-report-builder-bin libreoffice-script-provider-bsh libreoffice-script-provider-js libreoffice-script-provider-python libreoffice-sdbc-firebird
  libreoffice-sdbc-hsqldb libreoffice-sdbc-mysql libreoffice-sdbc-postgresql libreoffice-style-colibre libreoffice-wiki-publisher libreoffice-writer librepository-java librngom-java
  libsac-java libsaxonhe-java libserializer-java libservlet-api-java libservlet3.1-java libsisu-inject-java libsisu-plexus-java libslf4j-java libsnappy-java libsnappy-jni
  libstax-ex-java libstreambuffer-java libtommath1 libtxw2-java libuno-cppuhelpergcc3-3 libuno-sal3 libwagon-http-java libwagon-provider-api-java libwebsocket-api-java libxerces2-java
  libxml-commons-external-java libxml-commons-resolver1.1-java libxml-java libxmlbeans-java libxom-java libxsom-java libxz-java libzxingcore1 mariadb-common mysql-common openjdk-11-jre
  openjdk-11-jre-headless python3-uno uno-libs-private ure ure-java
Paquets suggérés :
  ant-doc default-jdk | java-compiler | java-sdk antlr javacc junit junit4 jython libbcel-java libbsf-java libcommons-net-java libjaxp1.3-java libjdepend-java libjsch-java liboro-java
  libregexp-java libxalan2-java firebird3.0-server firebird3.0-doc libaopalliance-java-doc libapache-poi-java-doc libatinject-jsr330-api-java-doc libbcmail-java-doc libbcpkix-java-doc
  libbcprov-java-doc libcommons-collections3-java-doc libcommons-collections4-java-doc libcommons-io-java-doc libcommons-lang3-java-doc libavalon-framework-java
  libcommons-logging-java-doc libexcalibur-logkit-java libdom4j-java-doc libmsv-java libxpp2-java libxpp3-java libflute-java-doc libfonts-java-doc libformula-java-doc libasm-java
  libcglib-java java-virtual-machine libhsqldb1.8.0-java-gcj libjetbrains-annotations-java-doc libjcommon-java-doc libjdom1-java-doc libjsoup-java-doc libjsr305-java-doc
  liblayout-java-doc liblog4j1.2-java-doc libmail-java-doc libmaven-file-management-java-doc libmaven-shared-io-java-doc libmaven-shared-utils-java-doc liblogback-java
  libjfreereport-java-doc libplexus-classworlds-java-doc libplexus-sec-dispatcher-java-doc libplexus-utils2-java-doc cups-bsd ghostscript gpa imagemagick
  | graphicsmagick-imagemagick-compat libreoffice-gnome | libreoffice-plasma libreoffice-grammarcheck libreoffice-help libreoffice-librelogo myspell-dictionary openclipart-libreoffice
  pstoedit unixodbc libofficebean-java libjtds-java libsqliteodbc | tdsodbc | odbc-mdbtools libreofficekit-data bluez hyphen-fr libreoffice-grammarcheck-fr libreoffice-help-fr
  default-mysql-server | virtual-mysql-server postgresql mediawiki librepository-java-doc libsac-java-doc testng libxerces2-java-doc libxml-commons-resolver1.1-java-doc libxom-java-doc
  fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic
Les NOUVEAUX paquets suivants seront installés :
  ant ant-optional ca-certificates-java default-jre default-jre-headless firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils fonts-crosextra-caladea
  fonts-crosextra-carlito fonts-dejavu fonts-dejavu-extra fonts-liberation fonts-linuxlibertine fonts-noto-core fonts-noto-extra fonts-noto-ui-core fonts-sil-gentium
  fonts-sil-gentium-basic java-common libactivation-java libaopalliance-java libapache-poi-java libapache-pom-java libargs4j-java libatinject-jsr330-api-java libatk-wrapper-java
  libatk-wrapper-java-jni libbase-java libbcmail-java libbcpkix-java libbcprov-java libbox2d2.3.0 libbsh-java libcdi-api-java libcodemodel-java libcommons-cli-java
  libcommons-codec-java libcommons-collections3-java libcommons-collections4-java libcommons-compress-java libcommons-io-java libcommons-lang3-java libcommons-logging-java
  libcommons-math3-java libcommons-parent-java libcurvesapi-java libdom4j-java libdtd-parser-java libehcache-java libel-api-java libfastinfoset-java libfbclient2 libflute-java
  libfonts-java libformula-java libgeronimo-annotation-1.3-spec-java libgeronimo-interceptor-3.0-spec-java libgif7 libguava-java libguice-java libhawtjni-runtime-java
  libhsqldb1.8.0-java libhttpclient-java libhttpcore-java libib-util libicu4j-java libintellij-annotations-java libistack-commons-java libitext-java libjansi-java libjansi-native-java
  libjaxb-api-java libjaxb-java libjaxen-java libjcommon-java libjdom1-java libjetbrains-annotations-java libjsoup-java libjsp-api-java libjsr305-java liblayout-java libloader-java
  liblog4j1.2-java libmail-java libmariadb3 libmaven-file-management-java libmaven-parent-java libmaven-resolver-java libmaven-shared-io-java libmaven-shared-utils-java
  libmaven3-core-java libpentaho-reporting-flow-engine-java libpixie-java libplexus-archiver-java libplexus-cipher-java libplexus-classworlds-java libplexus-component-annotations-java
  libplexus-interpolation-java libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils2-java libpq5 librelaxng-datatype-java libreoffice libreoffice-base libreoffice-base-core
  libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gtk3 libreoffice-impress libreoffice-java-common libreoffice-l10n-fr
  libreoffice-math libreoffice-nlpsolver libreoffice-report-builder libreoffice-report-builder-bin libreoffice-script-provider-bsh libreoffice-script-provider-js
  libreoffice-script-provider-python libreoffice-sdbc-firebird libreoffice-sdbc-hsqldb libreoffice-sdbc-mysql libreoffice-sdbc-postgresql libreoffice-style-colibre
  libreoffice-wiki-publisher libreoffice-writer librepository-java librngom-java libsac-java libsaxonhe-java libserializer-java libservlet-api-java libservlet3.1-java
  libsisu-inject-java libsisu-plexus-java libslf4j-java libsnappy-java libsnappy-jni libstax-ex-java libstreambuffer-java libtommath1 libtxw2-java libwagon-http-java
  libwagon-provider-api-java libwebsocket-api-java libxerces2-java libxml-commons-external-java libxml-commons-resolver1.1-java libxml-java libxmlbeans-java libxom-java libxsom-java
  libxz-java libzxingcore1 mariadb-common mysql-common openjdk-11-jre openjdk-11-jre-headless python3-uno ure-java
Les paquets suivants seront mis à jour :
  fonts-opensymbol libuno-cppuhelpergcc3-3 libuno-sal3 uno-libs-private ure
5 mis à jour, 165 nouvellement installés, 0 à enlever et 56 non mis à jour.
Il est nécessaire de prendre 302 Mo dans les archives.
Après cette opération, 1 023 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n]

Supprimer LO rétro-porté

root@vm-bullseye:~# apt purge libreoffice*
...
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  ant ant-optional ca-certificates-java coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 default-jre default-jre-headless
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils fonts-crosextra-caladea fonts-crosextra-carlito fonts-dejavu fonts-dejavu-extra
  fonts-linuxlibertine fonts-noto-core fonts-noto-extra fonts-noto-ui-core fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic gstreamer1.0-gtk3 java-common libabw-0.1-1
  libactivation-java libaopalliance-java libapache-poi-java libapache-pom-java libargs4j-java libatinject-jsr330-api-java libatk-wrapper-java libatk-wrapper-java-jni libbase-java
  libbcmail-java libbcpkix-java libbcprov-java libboost-filesystem1.74.0 libboost-locale1.74.0 libboost-thread1.74.0 libbox2d2.3.0 libbsh-java libcdi-api-java libcdr-0.1-1
  libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcodemodel-java libcommons-cli-java libcommons-codec-java libcommons-collections3-java libcommons-collections4-java
  libcommons-compress-java libcommons-io-java libcommons-lang3-java libcommons-logging-java libcommons-math3-java libcommons-parent-java libcurvesapi-java libdom4j-java
  libdtd-parser-java libe-book-0.1-1 libehcache-java libel-api-java libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libexttextcat-2.0-0 libexttextcat-data libfastinfoset-java libfbclient2
  libflute-java libfonts-java libformula-java libfreehand-0.1-1 libgeronimo-annotation-1.3-spec-java libgeronimo-interceptor-3.0-spec-java libgif7 libgpgmepp6 libguava-java
  libguice-java libhawtjni-runtime-java libhsqldb1.8.0-java libhttpclient-java libhttpcore-java libib-util libicu4j-java libintellij-annotations-java libistack-commons-java
  libitext-java libjansi-java libjansi-native-java libjaxb-api-java libjaxb-java libjaxen-java libjcommon-java libjdom1-java libjetbrains-annotations-java libjsoup-java libjsp-api-java
  libjsr305-java libjuh-java libjurt-java liblangtag-common liblangtag1 liblayout-java liblibreoffice-java libloader-java liblog4j1.2-java libmail-java libmariadb3
  libmaven-file-management-java libmaven-parent-java libmaven-resolver-java libmaven-shared-io-java libmaven-shared-utils-java libmaven3-core-java libmhash2 libmspub-0.1-1
  libmwaw-0.3-3 libmythes-1.2-0 libneon27-gnutls libnumbertext-1.0-0 libnumbertext-data libodfgen-0.1-1 liborcus-0.16-0 liborcus-parser-0.16-0 libpagemaker-0.0-0
  libpentaho-reporting-flow-engine-java libpixie-java libplexus-archiver-java libplexus-cipher-java libplexus-classworlds-java libplexus-component-annotations-java
  libplexus-interpolation-java libplexus-io-java libplexus-sec-dispatcher-java libplexus-utils2-java libpq5 libqrcodegencpp1 libqxp-0.0-0 libraptor2-0 librasqal3 librdf0
  librelaxng-datatype-java librepository-java librevenge-0.0-0 libridl-java librngom-java libsac-java libsaxonhe-java libserializer-java libservlet-api-java libservlet3.1-java
  libsisu-inject-java libsisu-plexus-java libslf4j-java libsnappy-java libsnappy-jni libstaroffice-0.0-0 libstax-ex-java libstreambuffer-java libtommath1 libtxw2-java libuno-cppu3
  libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libunoloader-java libvisio-0.1-1 libwagon-http-java libwagon-provider-api-java
  libwebsocket-api-java libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libxerces2-java libxml-commons-external-java libxml-commons-resolver1.1-java libxml-java libxmlbeans-java libxmlsec1
  libxmlsec1-nss libxom-java libxsom-java libxz-java libyajl2 libzmf-0.0-0 libzxingcore1 lp-solve mariadb-common mysql-common node-normalize.css openjdk-11-jre openjdk-11-jre-headless
  uno-libs-private ure ure-java
Veuillez utiliser « apt autoremove » pour les supprimer.
Les paquets suivants seront ENLEVÉS :
  libreoffice* libreoffice-base* libreoffice-base-core* libreoffice-base-drivers* libreoffice-calc* libreoffice-common* libreoffice-core* libreoffice-draw* libreoffice-gtk3*
  libreoffice-impress* libreoffice-java-common* libreoffice-l10n-fr* libreoffice-math* libreoffice-nlpsolver* libreoffice-report-builder* libreoffice-report-builder-bin*
  libreoffice-script-provider-bsh* libreoffice-script-provider-js* libreoffice-script-provider-python* libreoffice-sdbc-firebird* libreoffice-sdbc-hsqldb* libreoffice-sdbc-mysql*
  libreoffice-sdbc-postgresql* libreoffice-style-colibre* libreoffice-wiki-publisher* libreoffice-writer* python3-uno*
0 mis à jour, 0 nouvellement installés, 27 à enlever et 28 non mis à jour.
Après cette opération, 335 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]
...

Nota : j’ai aussi testé apt purge -t bullseye-backports libreoffice* => même résultat

Désactiver dépôt de rétro-portage

root@vm-bullseye:~# cat /etc/apt/sources.list | grep bullseye-backports
#deb http://deb.debian.org/debian bullseye-backports main
root@vm-bullseye:~# apt update
root@vm-bullseye:~# apt show libreoffice -a | grep -i Version
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Version: 1:7.0.4-4+deb11u1

Installer LO initial

root@vm-bullseye:~# apt install libreoffice
...
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l'impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n'ont pas encore
été créés ou ne sont pas sortis d'Incoming.
L'information suivante devrait vous aider à résoudre la situation : 
Les paquets suivants contiennent des dépendances non satisfaites :
 libreoffice : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
               Dépend: libreoffice-writer mais il n'est pas installable
               Recommande: libreoffice-nlpsolver mais il n'est pas installable
               Recommande: libreoffice-report-builder mais il n'est pas installable
               Recommande: libreoffice-script-provider-bsh mais il n'est pas installable
               Recommande: libreoffice-script-provider-js mais il n'est pas installable
               Recommande: libreoffice-script-provider-python mais il n'est pas installable
               Recommande: libreoffice-sdbc-mysql mais il n'est pas installable
               Recommande: libreoffice-sdbc-postgresql mais il n'est pas installable
               Recommande: libreoffice-wiki-publisher mais il n'est pas installable
 libreoffice-base : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
                    Recommande: libreoffice-writer mais il n'est pas installable
 libreoffice-base-core : Dépend: libreoffice-core-nogui (= 1:7.0.4-4+deb11u1) mais il n'est pas installable ou
                                  libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
 libreoffice-base-drivers : Dépend: libreoffice-core-nogui mais il n'est pas installable ou
                                     libreoffice-core mais il n'est pas installable
                            Recommande: libreoffice-sdbc-hsqldb mais ne sera pas installé
                            Recommande: libreoffice-sdbc-firebird mais ne sera pas installé
 libreoffice-calc : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
 libreoffice-draw : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
 libreoffice-impress : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
 libreoffice-math : Dépend: libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
 libreoffice-report-builder-bin : Dépend: libreoffice-core mais il n'est pas installable
 python3-uno : Dépend: libreoffice-core-nogui (= 1:7.0.4-4+deb11u1) mais il n'est pas installable ou
                        libreoffice-core (= 1:7.0.4-4+deb11u1) mais il n'est pas installable
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».

Nota : j’ai refait le test en réduisant l’installation des packages à libreoffice (sans le pack de langue et gtk3) => même résultat

Et BAM !

On dirait qu’activer le back-port c’est à sens unique ! C’est dingue :frowning: !

OK merci je ne connaissais pas cette subtilité :slight_smile:

Le problème n’est pas Libreoffice lui me^me mais un de ces composants core

et rien qu’a regarder la liste bonne chance pour trouver le truc qui n’est pas désinstaller de backport et qui fou la mouise :

https://packages.debian.org/bullseye/libreoffice-core

Testing oui par contre pour Unstable le pinning est à 100 et ce depuis des lustres.

Par contre on parle de Frankendebian, mais cela s’applique à Debian lorsque l’on ajoute des dépôts non officiel voir d’autre distribution comme des PPA.

Là j’aimerais bien plus d’explications. Qu’est ce qui te fait dire ça ?

Ou quand on ajoute un dépôt testing selon le lien. Mais du coup dès qu’on ajoute un dépôt de rétro-portage ça donne le même résultat … condamné à utiliser LibreOffice rétro-porté ?

Oui sans fichier préférences ce que je précise plus haut.

C’est là que je comprends pas, soit il manque temporairement un paquet et du coup il bascule automatiquement sur le dépôts de rétro portage, soit lors de ton premier essai le paquet libreoffice-core t’installe une dépendances qui va influer par la suite l’installation du paquet de ce dépôts plutôt que depuis la branche stable.

Personnellement je passe par les snaps pour ce type de logiciels afin d’avoir des versions à jour et décorréler de mon système principale.

J’ai passé la soirée à essayer d’automatiser la recherche récursive des dépendances d’un paquet, afin de pouvoir comparer … J’ai remarqué que sur un système Bullseye fraichement installé, la dépendance libreoffice-core a 144 dépendances au niveau 2 (une dépendance d’une dépendance de libreoffice-core ; je n’ai pas encore implémenté de fonction réellement récursive) alors qu’en tout le système aurait seulement 1416 packages d’installés (dpkg --list | wc --lines).

Nota : à titre de comparaison, sur un système Ubuntu 16.04 (qui date donc) j’ai 4348 packages ce qui me semble peu en fait

J’ai une mauvaise image de snap qui m’a donné du fil à retordre avec Ubuntu et qui du coup me fait boycoter cette distribution. Mais c’est vrai que j’aurais tendance à vouloir tout conteneuriser (Docker est la seule technologie que j’ai testé, mais il y en a d’autres). On s’affranchirait du jeu des dépendances, ce serait le pied :slight_smile: mais bon le système serait peu rationalisé.

Ca m’a donné une idée, je vais tester la même chose sur Debian Buster fraichement installée pour voir si le retour est possible …
=> exactement le même résultat :

Les paquets suivants contiennent des dépendances non satisfaites :
...
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état ».

Donc le problème n’est pas limité à Bullseye …

Sinon, tu attends sagement que la version de test suivante arrive en stable. :innocent:

1 J'aime

Oui mais ma demande c’est pas pour résoudre ce cas particulier, mais c’est plus pour comprendre ce qui se passe en coulisse avec le jeu des dépendances, de manière à être plus efficace et pouvoir réparer un système bancal.

Mon PC principal est un PC « bancal » Ubuntu 16.04 sur lequel je ne peux même pas installer Docker qui m’affranchirait de tous les problèmes de dépendances (à cause d’un problème … de dépendances AH AH AH :wink: ). Dans mon apprentissage de Linux j’ai fais toutes les erreurs de débutant qui mènent à un FrankenDebian (ou autre distrib) : ajout de PPA, compilation de source, dépôt testing, dépôt tiers, etc. J’aurais aimé savoir le réparer.

Non il n’y a pas de bascule atomatique vers les backports si le backports n’a pas été utilisé.

A partir du moment ou tu installe un paquet backports, il va automatiquement mettre toutes les dépendances et celles qu’elles impliquent en backports.
pour faire ça il faut obligatoirement utiliser l’option -t bullseye-backports
si tu ajoute un dépot testing par contre c’est systématique il va l’utiliser. Ce qi risque de casser l’installation, car melanger du testing sur du stable produit immanquablement une instabilité structurelle. Le seul moyen de revenir en stable c’est de purger les paquets en question pour reinstaller en stable.

testing+stable+autre =>Frankendebian

Bonjour

Je plussoie à fond.

…et j’ajoute que si tu veux installer quelque chose et que tu veux quand même garder un système debian vraiment stable, ne vas pas le chercher ailleurs que dans les dépôts debian,
parce que ça donne souvent des résultats catastrophiques et c’est parfois une énorme galère d’essayer de remettre tout ça au propre voire parfois carrément impossible.

Certains paquetages qui ne sont pas de chez debian sont bien faits, mais ils sont rares.

Si tu ne trouves pas ce dont tu as besoin dans les dépôts debian, n’hésite pas à demander sur ce forum (ou d’autres forum debian).

Voici ce que j’ai actuellement :

> grep -v "#" /etc/apt/sources.list|grep deb
deb http://ftp.fr.debian.org/debian unstable main contrib non-free
deb-src http://ftp.fr.debian.org/debian unstable main contrib non-free
deb http://www.deb-multimedia.org unstable main non-free
deb http://debian.drdteam.org/ stable multiverse

J’en ai eu pas mal d’autres, que j’ai fini par enlever :

> grep "#" /etc/apt/sources.list|grep deb
# deb file:///cdrom/ sarge main
# deb cdrom:[Debian GNU/Linux testing _Sarge_ - Official Snapshot i386 Binary-1 (20050101)]/ unstable contrib main
# deb http://ftp.debian.org/debian testing main contrib non-free
# deb http://ftp.be.debian.org/debian testing main contrib non-free
# deb http://non-us.debian.org/debian-non-US testing non-US/main non-US/contrib non-US/non-free
# deb http://security.debian.org/ unstable/updates main contrib non-free
# deb-src http://security.debian.org/ unstable/updates main contrib non-free
#deb http://security.debian.org/ sid-updates non-free contrib main
#deb http://ftp.fr.debian.org/debian sid-updates non-free contrib main
# deb http://debug.mirrors.debian.org/debian-debug/ unstable-debug main
# deb http://www.quakeforge.net/packages/debian unstable contrib non-free
# deb ftp://ftp.nerim.net/debian-marillat/ testing main
# deb ftp://ftp.nerim.net/debian-marillat/ etch main
# deb http://wine.sourceforge.net/apt/ binary/
# deb http://www.lamaresh.net/apt squeeze main
# deb http://wine.budgetdedicated.com/apt karmik main
# deb http://members.westnet.com.au/takahe/debian/testing sarge main
# deb http://kibi.dyndns.org/packages ./
# deb http://debian.halfcoded.net/ binary/
# deb http://apt.duke4.net jessie main
# deb-src http://apt.duke4.net jessie main
# deb http://debian.duckcorp.org/testing/binary-i386/ ./
# deb http://snapshot.debian.net/archive pool gmime2.2
#deb http://deb.opera.com/opera/ stable non-free #Opera Browser (final releases)
# deb http://deb.opera.com/opera-beta/ stable non-free #Opera Browser (beta releases)
# deb http://download.opensuse.org/repositories/home:/dscharrer/Debian_7.0/ ./
# deb http://download.tuxfamily.org/xcfaudio/xcfa/ dev contrib
# deb-src http://download.tuxfamily.org/xcfaudio/xcfa/ dev contrib
# deb http://download.tuxfamily.org/xcfaudio/xcfa_beta/ dev contrib
# deb-src http://download.tuxfamily.org/xcfaudio/xcfa_beta/ dev contrib
# deb https://people.debian.org/~rene/libreoffice/4.3.2/ ./
# deb http://people.debian.org/~vdanjean/debian unstable main

Actuellement, mon système n’est pas instable : les mises à jour successives ont nettoyé les éventuelles crasses de dépôts éventuellement pourris.

1 J'aime