
Ubuntu 18.04를 사용하고 있으며 libc6을 버전 2.27에서 2.29로 업그레이드하려고 시도했지만 결국 패키지 시스템이 손상되었습니다. 수정 명령을 사용하려고 하면 항상 시스템에서 수많은 패키지가 제거될 것이라고 표시되기 때문에 수정할 수 없습니다.
Synaptic은 다음 패키지를 손상된 것으로 표시합니다.
- 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
내가 어떻게 깨졌나요? 다음 패키지를 다운로드했습니다.https://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
dpkg를 통해 하나씩 설치하려고 했지만 종속성 오류로 인해 작동하지 않았고 마지막으로 다음 명령을 사용했습니다.
sudo dpkg -i libc-bin_2.29-0ubuntu2_amd64.deb libc6_2.29-0ubuntu2_amd64.deb libc6-amd64_2.29-0ubuntu2_i386.deb
그 후, postgres와 같은 일부 프로그램을 다시 시작해야 한다는 프롬프트에서 "예"라고 말했습니다.
그런 다음 깨진 패키지 오류를 보았습니다.
sudo apt update
오류가 발생하지 않습니다. 문제를 해결하려고 하면 거의 모든 항목을 제거해야 한다고 표시됩니다.
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]
답변1
Apt는 고장나지 않았습니다. 여전히 잘 작동합니다. 그러나 당신은 현명하지 못한 일을 하라고 적절하게 지시했습니다.프랑켄시스템, 다양한 Ubuntu 릴리스의 패키지를 혼합합니다.
Apt는 지금은 비논리적인 종속성을 해결할 수 없습니다. (당신도 마찬가지입니다). apt가 작동할 수 없으므로 잘못된 버전의 패키지를 제거할 때까지 더 이상 업그레이드나 보안 패치를 얻을 수 없습니다.
우리는 Frankensystems에 대한 지원을 제공하지 않습니다. 정의에 따르면, 이들은 불안정하고 이상하고 진단하기 어려운 문제가 발생하기 쉽습니다. Deb 기반 시스템은 특정 버전의 패키지와 함께 작동하도록 설계되었습니다. 잘못된 버전의 패키지로 인해 문제가 발생합니다.
잘못된 버전의 패키지를 제거하십시오. 19.04 패키지를 실행하려면 Ubuntu 19.04 설치를 고려하십시오. 현재 18.04 시스템을 유지하려는 경우 VM 또는 예비 파티션에 있을 수 있습니다.
답변2
모든 패키지의 2.27 버전을 다운로드하고 해당 패키지에서 dpkg를 실행하여 문제를 해결했습니다.
깨지기 전에 같은 순서로 설치하려고 했어요. 순환 종속성 또는 이와 유사한 것을 방지하기 위해 여러 deb 파일에 dpkg를 사용했습니다. 아무것도 바뀌는지 확실하지 않습니다.
답변3
따라서 실제 해결책은 새 배포판과 함께 제공되고 몇 가지 게임에 필요한 라이브러리가 필요한 경우 배포판을 업그레이드하는 것입니다.
Ubuntu 시스템에서 게임을 플레이하려는 경우 2023년까지 18.04에 대한 지원이 너무 많습니다. 예를 들어 2020년부터 세 개의 Linux 게임이 있는데, 일단 업데이트되면 glibc6-2.29 이상이 필요합니다! 나를 제외하고 그것은 새로운 배포판 ISO를 다운로드하고 전체 설치를 수행하는 것을 의미합니다! disptr-upgrade가 실패했기 때문에 ...