So reparieren Sie defekte Glibc-Pakete

So reparieren Sie defekte Glibc-Pakete

Ich verwende Ubuntu 18.04 und habe versucht, libc6 von Version 2.27 auf 2.29 zu aktualisieren, aber dabei ist das Paketsystem kaputtgegangen. Ich kann es nicht reparieren, weil beim Versuch, Reparaturbefehle zu verwenden, immer angezeigt wird, dass Unmengen von Paketen im System ENTFERNT werden.

Synaptic zeigt diese Pakete als defekt an:

  • glibc-doc 2.27-3
  • libc-dev-bin 2.27-3
  • libc6 2.29-0
  • libc6-dbg 2.27-3
  • libc6-dev 2.27-3
  • libc6:i386 2.27-3

Wie kam es zu dem Fehler? Ich habe folgende Pakete heruntergeladen vonhttps://packages.ubuntu.com/

  • glibc-doc_2.29-0ubuntu2_all.deb
  • glibc-source_2.29-0ubuntu2_all.deb
  • libc6_2.29-0ubuntu2_amd64.deb
  • libc6-amd64_2.29-0ubuntu2_i386.deb
  • libc-bin_2.29-0ubuntu2_amd64.deb
  • locales_2.29-0ubuntu2_all.deb

Ich habe versucht, sie nacheinander über dpkg zu installieren, aber das hat wegen Abhängigkeitsfehlern nicht funktioniert. Zuletzt habe ich diesen Befehl verwendet:

sudo dpkg -i libc-bin_2.29-0ubuntu2_amd64.deb libc6_2.29-0ubuntu2_amd64.deb libc6-amd64_2.29-0ubuntu2_i386.deb 

Danach habe ich in einer Eingabeaufforderung „Ja“ gesagt, in der es hieß, dass einige Programme wie Postgres neu gestartet werden müssen.

Dann wurde mir der Fehler „Beschädigte Pakete“ angezeigt.

sudo apt updategibt keinen Fehler aus. Wenn ich versuche, das Problem zu beheben, wird angezeigt, dass fast alles entfernt werden muss:

sudo apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  alex freeglut3 freeglut3-dev happy hscolour libbsd-dev libdrm-dev libffi-dev
  libgl1-mesa-dev libgles1 libglu1-mesa-dev libglvnd-core-dev libglvnd-dev
  libgmp-dev libgmpxx4ldbl libopengl0 libtinfo-dev libx11-xcb-dev
  libx11-xcb1:i386 libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev
  libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev
  libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev
  libxi-dev libxmu-dev libxmu-headers libxshmfence-dev libxxf86vm-dev
  linux-headers-4.18.0-17 linux-headers-4.18.0-17-generic
  linux-image-4.18.0-17-generic linux-libc-dev linux-modules-4.18.0-17-generic
  linux-modules-extra-4.18.0-17-generic mesa-common-dev x11proto-damage-dev
  x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  glibc-doc-reference
The following packages will be REMOVED:
  build-essential cabal-install g++ g++-7 ghc haskell-platform libbsd0:i386
  libc-dev-bin libc6:i386 libc6-amd64:i386 libc6-dbg libc6-dev
  libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386
  libffi6:i386 libgcc1:i386 libghc-async-dev libghc-attoparsec-dev
  libghc-call-stack-dev libghc-case-insensitive-dev libghc-fgl-dev
  libghc-fixed-dev libghc-gluraw-dev libghc-glut-dev libghc-half-dev
  libghc-hashable-dev libghc-haskell-src-dev libghc-html-dev libghc-http-dev
  libghc-hunit-dev libghc-integer-logarithms-dev libghc-mtl-dev
  libghc-network-dev libghc-network-uri-dev libghc-objectname-dev
  libghc-opengl-dev libghc-openglraw-dev libghc-parallel-dev
  libghc-parsec3-dev libghc-primitive-dev libghc-quickcheck2-dev
  libghc-random-dev libghc-regex-base-dev libghc-regex-compat-dev
  libghc-regex-posix-dev libghc-scientific-dev libghc-split-dev
  libghc-statevar-dev libghc-stm-dev libghc-syb-dev libghc-text-dev
  libghc-tf-random-dev libghc-unordered-containers-dev libghc-vector-dev
  libghc-zlib-dev libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386
  libllvm7:i386 libncurses5-dev libnvidia-compute-418:i386
  libnvidia-decode-418:i386 libnvidia-encode-418:i386 libnvidia-fbc1-418:i386
  libnvidia-gl-418:i386 libnvidia-ifr1-418:i386 libpciaccess0:i386
  libsensors4:i386 libstdc++-7-dev libstdc++6:i386 libtinfo5:i386
  libx11-6:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386
  libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386
  libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386
  libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386 zlib1g-dev
The following NEW packages will be installed:
  glibc-doc-reference
0 upgraded, 1 newly installed, 97 to remove and 0 not upgraded.
6 not fully installed or removed.
Need to get 5.483 kB of archives.
After this operation, 1.303 MB disk space will be freed.
Do you want to continue? [Y/n] 

Antwort1

Apt ist nicht kaputt - es funktioniert immer noch einwandfrei. Aber Sie haben apt unklugerweise angewiesen, eineFrankensystem, Mischen von Paketen aus verschiedenen Ubuntu-Versionen.

Apt wird die nun unlogischen Abhängigkeiten nicht mehr verstehen können... niemals. (Sie auch nicht). Da Apt nicht mehr funktioniert, werden Sie keine Upgrades oder Sicherheitspatches mehr erhalten, bis Sie die Pakete mit der falschen Version entfernen.

Wir bieten keinen Support für Frankensysteme. Per Definition sind sie instabil und anfällig für ungewöhnliche und schwer zu diagnostizierende Probleme. Deb-basierte Systeme funktionieren mit bestimmten Paketversionen. Pakete mit der falschen Version verursachen Probleme.

Entfernen Sie die Pakete mit der falschen Version. Wenn Sie 19.04-Pakete ausführen möchten, sollten Sie Ubuntu 19.04 installieren. Vielleicht in einer VM oder einer Ersatzpartition, wenn Sie Ihr aktuelles 18.04-System behalten möchten.

Antwort2

Ich habe das Problem behoben, indem ich die Version 2.27 aller dieser Pakete heruntergeladen und dpkg darauf ausgeführt habe.

Ich habe versucht, sie in derselben Reihenfolge zu installieren, bevor es nicht mehr funktionierte. Ich habe dpkg auf mehreren Deb-Dateien verwendet, um zyklische Abhängigkeiten oder ähnliches zu verhindern. Ich bin nicht sicher, ob es etwas ändert.

Antwort3

Die wirkliche Lösung besteht also darin, die Distribution zu aktualisieren, wenn Sie eine Bibliothek BENÖTIGEN, die nur mit einer neuen Distribution geliefert wird und für einige Spiele erforderlich ist ...

Soviel zum Support bis 2023 für 18.04, wenn Sie vorhaben, Spiele auf Ihrem Ubuntu-System zu spielen ... ich habe beispielsweise drei Linux-Spiele aus dem Jahr 2020, die nach der Aktualisierung glibc6-2.29 oder höher erfordern! Außer dass es für mich bedeutet, die neue Distro-ISO herunterzuladen und eine vollständige Installation durchzuführen! da ein Disptr-Upgrade fehlschlägt ...

verwandte Informationen