libgcc-s1 또는 libstdc++6을 업그레이드할 수 없습니다. 왜 그렇습니까?

libgcc-s1 또는 libstdc++6을 업그레이드할 수 없습니다. 왜 그렇습니까?

최선의 노력에도 불구하고 업그레이드를 거부하는 두 개의 패키지가 내 (잼미) 시스템에 남아 있습니다.

enie...:~$ sudo apt list --upgradable
Listing... Done
libgcc-s1/jammy 13.1.0-2ubuntu2~22.04 amd64 [upgradable from: 12.1.0-2ubuntu1~22.04]
libstdc++6/jammy 13.1.0-2ubuntu2~22.04 amd64 [upgradable from: 12.1.0-2ubuntu1~22.04]

나는 적성에게 상황에 대해 무엇을 알고 있는지 물었습니다.

enie...:~$ sudo aptitude why-not libgcc-s1
i   libcanberra-gtk-module:i386 Depends libc6:i386 (>= 2.4)                 
i A libc6:i386                  Depends libgcc-s1:i386                      
i A libgcc-s1:i386              Breaks  libgcc-s1 (!= 12.1.0-2ubuntu1~22.04)

... 그리고

enie...:~$ sudo aptitude why-not libstdc++6
i   libxml2:i386    Depends libicu70:i386 (>= 70.1-1~)           
i A libicu70:i386   Depends libstdc++6:i386 (>= 5.2)             
i A libstdc++6:i386 Breaks  libstdc++6 (!= 12.1.0-2ubuntu1~22.04)

이 패키지가 보류되는 이유를 말할 만큼 충분하지 않습니다. 아는 사람 있나요?

이로 인해 gcc-13을 설치할 수 없게 되었고 이로 인해 :'-(

답변1

문제의 가장 가까운(즉각적) 원인은 Ubuntu가 아닌 소스를 너무 많이 사용하는 것입니다. 귀하의 비 Ubuntu 소스 A는 비 Ubuntu 소스 B의 패키지와 호환되지 않는 패키지를 제공하고 있습니다.

문제의 근본 원인, Ubuntu가 아닌 소스가 너무 많이 필요한 이유는 필요에 따라 잘못된 Ubuntu 릴리스를 사용하고 있기 때문입니다. 당신은프랑켄데비안최신 비 Ubuntu 소프트웨어를 이전 LTS 릴리스에 추가합니다. 당신은 이제 당신의 괴물 같은 창조물이 불을 너무 두려워하여 당신의 명령에 복종할 수 없다는 것을 배우고 있습니다.

LTS 릴리스는 최신 애플리케이션 버전 및 종속 항목으로 지속적으로 업데이트되도록 설계되지 않았습니다. LTS 릴리스는 5년 동안 일관된 워크플로(최소 변경)를 원하는 기업 사용자를 위한 것입니다.

대신 Ubuntu 23.04 또는 기타 6개월 Ubuntu 릴리스를 사용해 보세요. 이 릴리스에는 새로운 버전, 업데이트된 버전 및 종속성의 스냅샷이 포함됩니다. 안정적인 6개월 플랫폼을 제공한 후 전체 플랫폼이 다음 6개월 릴리스로 다시 업데이트됩니다.

관련 정보