이 GStreamer 코덱 업데이트 실패를 해결하는 방법은 무엇입니까?

이 GStreamer 코덱 업데이트 실패를 해결하는 방법은 무엇입니까?

저는 최근 Lenovo Ideapad 노트북에 Kubuntu를 설치했습니다. 최근 업데이트 관련 문제 외에도 잘 작동합니다. 모든 패키지를 업데이트한 후에는 세 가지만 남았습니다.

GStreamer Multimedia Codecs
libgstreamer-plugins-bad1.0-0
libgstreamer-plugins-base1.0-0

뉴스는 다음과 같이 말했습니다.

Package failed to install:

Error while installing package: trying to overwrite '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so', which is also in package gstreamer1.0-plugins-good

이것은 매우 이상합니다. 내 시스템에 추가한 유일한 것은 Krita, Blender(직접 다운로드, 소란 없음) 및 Snap을 통한 OpenToonz였습니다.

sudo apt upgrade터미널에서 시도하면 다음과 같은 결과가 나타납니다.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 gstreamer1.0-libav : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
 gstreamer1.0-plugins-base : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
                             Breaks: gstreamer1.0-plugins-bad (< 1:1.16.0) but 1.22.1-1ubuntu1 is installed
 gstreamer1.0-plugins-ugly : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
 gstreamer1.0-x : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
 libgstreamer-gl1.0-0 : Depends: libgstreamer-plugins-base1.0-0 (>= 1.22.3) but 1.22.1-1ubuntu1 is installed
                        Breaks: libgstreamer-plugins-bad1.0-0 (< 1:1.16.0) but 1.22.1-1ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

을 계속 사용하면 apt --fix-broken install문제가 그대로 남아 있고 변경 사항이 적용되지 않습니다.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  libbdplus0 libdca0 libdirectfb-1.7-7 libfaad2 liblrdf0 libmjpegutils-2.1-0 libmpeg2-4 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libneon27 libopenni2-0 libpocketsphinx3 libsidplay1v5 libsphinxbase3 libssh-gcrypt-4 libvidstab1.1
  linux-headers-6.2.0-20 linux-headers-6.2.0-20-generic linux-image-6.2.0-20-generic linux-modules-6.2.0-20-generic linux-modules-extra-6.2.0-20-generic pocketsphinx-en-us
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0
Suggested packages:
  frei0r-plugins libvisual-0.4-plugins
The following packages will be upgraded:
  gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0
3 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
148 not fully installed or removed.
Need to get 0 B/4,619 kB of archives.
After this operation, 700 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 261983 files and directories currently installed.)
Preparing to unpack .../gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb ...
Unpacking gstreamer1.0-plugins-bad:amd64 (1:1.22.3-dmo1+deb12u1) over (1.22.1-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcamerabin.so', which is also in package gstreamer1.0-plugins-good:amd64 1.22.1-1ubuntu1
Preparing to unpack .../libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb ...
Unpacking libgstreamer-plugins-bad1.0-0:amd64 (1:1.22.3-dmo1+deb12u1) over (1.22.1-1ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/x86_64-linux-gnu/libgstbasecamerabinsrc-1.0.so.0', which is also in package libgstreamer-plugins-good1.0-0:amd64 1.22.1-1ubuntu1
dpkg: regarding .../libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb containing libgstreamer-plugins-base1.0-0:amd64:
 libgstreamer-plugins-base1.0-0:amd64 conflicts with libgstreamer-plugins-bad1.0-0 (<< 1:1.16.0)
  libgstreamer-plugins-bad1.0-0:amd64 (version 1.22.1-1ubuntu1) is present and installed.

dpkg: error processing archive /var/cache/apt/archives/libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb (--unpack):
 conflicting packages - not installing libgstreamer-plugins-base1.0-0:amd64
Errors were encountered while processing:
 /var/cache/apt/archives/gstreamer1.0-plugins-bad_1%3a1.22.3-dmo1+deb12u1_amd64.deb
 /var/cache/apt/archives/libgstreamer-plugins-bad1.0-0_1%3a1.22.3-dmo1+deb12u1_amd64.deb
 /var/cache/apt/archives/libgstreamer-plugins-base1.0-0_1.22.3-dmo1+deb12u2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

깨진 패키지를 자동으로 제거하고 미루는 것에 대해 매우 주저합니다. 더 큰 문제는 이 손상된 패키지 문제로 인해 아무것도 설치하거나 제거할 수 없는 것 같다는 것입니다.

나는 안정적인 시스템에서 GStreamer를 사용하는 모든 것을 단순히 제거하고 (필요하다면 엄격하게) 다시 설치하는 것을 좋아하지만 분명히 그렇게 할 수도 없습니다.

누군가 이 이상한 종속성 문제를 해결하도록 도와줄 수 있나요?

답변1

그래서 알아 냈습니다. 일종의.

처음에는 문제가 있는 모든 패키지를 제거하기 시작했습니다. 목록이 매우 길어지고 의존성으로 뱀이 꼬리를 먹는 문제가 지속적으로 제기됩니다.

sudo apt remove gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-x libgstreamer-gl1.0-0 phonon4qt5-backend-gstreamer gstreamer1.0-gl libgstreamer-plugins-bad1.0-0 libgtk-4-media-gstreamer libqt5multimediagsttools5 libqt5multimedia5-plugins elisa

phonon결국 완전히 새로운 질문을 하기 시작했을 때 나는 멈춰야 했습니다. 결국 LiveUSB로 돌아가서 새로 설치를 시도하면서 이전 파일을 최대한 많이 유지했습니다.

프로필과 미디어는 블렌더와 마찬가지로 보존되었으며, 내 사용자 정의에 따라 바이너리를 직접 다운로드했습니다. Krita는 Discover Software Center를 통해 설치되었으며 이전 설정과 파일이 모두 즉시 포함되어 있어 매우 좋았습니다. OpenToonz가 문제일 수 있습니다.

그래서 먼저 flatpak에 flathub 저장소를 추가했습니다.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

그런 다음 간단히 실행했습니다.

flatpak install flathub io.github.OpenToonz

설치하는 데 시간이 좀 걸렸지만 Snap을 버리고 Flatpak을 사용한 후에는 이제 종속성 문제 없이 완전한 기능을 갖춘 Kubuntu 시스템을 갖게 되었습니다. 저는 이미 Snap에 대해 윤리적인 우려를 갖고 있지만 더 깊은 기술적 문제가 있을 수 있다고 생각합니다.

이것이 앞으로 다른 사람들에게 도움이 되기를 바랍니다.

관련 정보