얼마 전 ppa:oibaf/graphic-drivers
Trusty 기반 Linux-Mint 설치를 시도했습니다.
이제 이전 xorg 드라이버로 돌아가야 하지만 더 이상 신뢰할 수 있는 패키지( xorg 로 끝나는 패키지)를 호스팅하지 않기 때문에 ppa 패키지를 제거 ppa-purge
하거나 제거하지 않습니다 .y-ppa-manager
~gd~t
이것은 비디오 드라이버이기 때문에 ppa와 관련된 모든 패키지를 수동으로 제거/지운 다음 설치하고 싶지 않습니다. 또한 이 xserver-xorg-video-radeon
버전은 이 ppa 수정 사항에 의존하므로 linux-firmware
이 작업을 수행할 때 불안정성에 빠지고 싶지 않습니다.
apt-get install --reinstall
작동하지 않습니다. it cannot be downloaded
각 관련 패키지에 대한 메시지와 함께 실패합니다.
이렇게 하려면 런레벨 4에서 이러한 패키지를 모두 지우고 다시 설치해야 합니까? 어떤 제안이 있나요?
dpkg -l | grep gd~t
패키지 목록을 받았어요제 생각에는이 PPA를 통해 설치된 위치입니다. 그러나 예를 들어 PPA에서 더 이상 호스팅되지 않기 때문에 모든 것을 확인할 수 없습니다 linux-firmware
(역 종속성을 확인하는 데 사용해야 함 apt-cache showpkg
).
ii libdrm-amdgpu1:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-amdgpu1:i386 2.4.68+git1606141830.625d18~gd~t i386 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-dev:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to kernel DRM services -- development files
ii libdrm-intel1:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to intel-specific kernel DRM services -- runtime
ii libdrm-intel1:i386 2.4.68+git1606141830.625d18~gd~t i386 Userspace interface to intel-specific kernel DRM services -- runtime
ii libdrm-nouveau2:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to nouveau-specific kernel DRM services -- runtime
ii libdrm-nouveau2:i386 2.4.68+git1606141830.625d18~gd~t i386 Userspace interface to nouveau-specific kernel DRM services -- runtime
ii libdrm-radeon1:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to radeon-specific kernel DRM services -- runtime
ii libdrm-radeon1:i386 2.4.68+git1606141830.625d18~gd~t i386 Userspace interface to radeon-specific kernel DRM services -- runtime
ii libdrm2:amd64 2.4.68+git1606141830.625d18~gd~t amd64 Userspace interface to kernel DRM services -- runtime
ii libdrm2:i386 2.4.68+git1606141830.625d18~gd~t i386 Userspace interface to kernel DRM services -- runtime
ii libegl1-mesa:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the EGL API -- runtime
ii libegl1-mesa-drivers:amd64 12.1~git1606090730.037ce5~gd~t amd64 transitional dummy package
ii libgbm1:amd64 12.1~git1606090730.037ce5~gd~t amd64 generic buffer management API -- runtime
ii libgl1-mesa-dev:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the OpenGL API -- GLX development files
ii libgl1-mesa-dri:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-dri:i386 12.1~git1606090730.037ce5~gd~t i386 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-glx:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the OpenGL API -- GLX runtime
ii libgl1-mesa-glx:i386 12.1~git1606090730.037ce5~gd~t i386 free implementation of the OpenGL API -- GLX runtime
ii libglamor0:amd64 0.6.0+git1603170630.347ef4~gd~t amd64 shared graphics acceleration library based on OpenGL
ii libglapi-mesa:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the GL API -- shared library
ii libglapi-mesa:i386 12.1~git1606090730.037ce5~gd~t i386 free implementation of the GL API -- shared library
ii libgles2-mesa:amd64 12.1~git1606090730.037ce5~gd~t amd64 free implementation of the OpenGL|ES 2.x API -- runtime
rc libllvm3.7:amd64 1:3.7.1-1ubuntu3~gd~t amd64 Modular compiler and toolchain technologies, runtime library
rc libllvm3.7:i386 1:3.7.1-1ubuntu3~gd~t i386 Modular compiler and toolchain technologies, runtime library
ii libllvm3.8:amd64 1:3.8~+rc3-1~exp1~gd~t amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm3.8:i386 1:3.8~+rc3-1~exp1~gd~t i386 Modular compiler and toolchain technologies, runtime library
ii libosmesa6:amd64 12.1~git1606090730.037ce5~gd~t amd64 Mesa Off-screen rendering extension
ii libosmesa6:i386 12.1~git1606090730.037ce5~gd~t i386 Mesa Off-screen rendering extension
rc libva-drm1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- DRM runtime
rc libva-egl1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- EGL runtime
rc libva-glx1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- GLX runtime
rc libva-tpi1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- TPI runtime
rc libva-wayland1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- Wayland runtime
ii libva-x11-1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- X11 runtime
ii libva1:amd64 1.7.0-1~gd~t amd64 Video Acceleration (VA) API for Linux -- runtime
ii libvdpau-dev:amd64 1.1.1-3~gd~t amd64 Video Decode and Presentation API for Unix (development files)
ii libvdpau1:amd64 1.1.1-3~gd~t amd64 Video Decode and Presentation API for Unix (libraries)
ii libvorbis-dev:amd64 1.3.5-2~gd~t amd64 development files for Vorbis General Audio Compression Codec
ii libvorbis0a:amd64 1.3.5-2~gd~t amd64 decoder library for Vorbis General Audio Compression Codec
ii libvorbis0a:i386 1.3.5-2~gd~t i386 decoder library for Vorbis General Audio Compression Codec
ii libvorbisenc2:amd64 1.3.5-2~gd~t amd64 encoder library for Vorbis General Audio Compression Codec
ii libvorbisenc2:i386 1.3.5-2~gd~t i386 encoder library for Vorbis General Audio Compression Codec
ii libvorbisfile3:amd64 1.3.5-2~gd~t amd64 high-level API for Vorbis General Audio Compression Codec
ii libvorbisfile3:i386 1.3.5-2~gd~t i386 high-level API for Vorbis General Audio Compression Codec
ii libwayland-egl1-mesa:amd64 12.1~git1606090730.037ce5~gd~t amd64 implementation of the Wayland EGL platform -- runtime
ii libxatracker2:amd64 12.1~git1606090730.037ce5~gd~t amd64 X acceleration library -- runtime
ii linux-firmware 1.134~gd~t all Firmware for Linux kernel drivers
ii mesa-common-dev:amd64 12.1~git1606090730.037ce5~gd~t amd64 Developer documentation for Mesa
ii mesa-utils 8.2.0-1~gd~t amd64 Miscellaneous Mesa GL utilities
ii xserver-xorg-video-ati 1:7.7.99+git1606011933.0945db~gd~t amd64 X.Org X server -- AMD/ATI display driver wrapper
ii xserver-xorg-video-glamoregl 0.6.0+git1603170630.347ef4~gd~t amd64 X.Org X server -- graphics acceleration module based on OpenGL
ii xserver-xorg-video-intel 2:2.99.917+git1606011933.b617f8~gd~t amd64 X.Org X server -- Intel i8xx, i9xx display driver
ii xserver-xorg-video-nouveau 1:1.0.12+git1606020733.1da8a9~gd~t amd64 X.Org X server -- Nouveau display driver
ii xserver-xorg-video-radeon 1:7.7.99+git1606011933.0945db~gd~t amd64 X.Org X server -- AMD/ATI Radeon display driver
정리를 위해 이 목록에서 다음 후보를 추출했습니다.
libdrm
libdrm2
libva
linux-firmware
libvorbis*
libglamor*
mesa-common-dev
mesa-utils
libllvm*
libvdpau
xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-glamoregl
내가 온라인에 가지고 있는 것에서 그것을 찾을 수 없는 곳에서"관련 패키지"오이바프 PPA 부분
답변1
결국 완전히 수동으로 진행하게 되었습니다.
apt-get remove --purge --dry-run package_name
먼저 종속성을 변경하지 않고 제거할 수 있는 패키지를 확인했습니다 . 다음으로 다운그레이드하려는 특정 버전을 확인합니다 apt-cache policy package_name
. 그런 다음 각 패키지의 사용 가능한 최신 버전을 설치하겠습니다.
이 방법은 다음에 적합합니다.
* xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-glamoregl
xserver-xorg-video-ati
이에 의존 xserver-xorg-video-glamoregl
하므로 libglamor0
다음 단계를 수행하지 않으면 다시 설치할 수 없습니다.
그런 다음 필요한 버전이 나타나는 곳에서 다운그레이드를 진행합니다 apt-get install --reinstall package_name=version
. 종속성에 영향을 주지 않고 다시 설치할 수 있는 패키지와 명령 전체에서 동일한 버전을 공유하는 그룹화된 패키지를 사용하여 이 작업을 수행합니다. 그리고:version
apt-cache policy
linux-firmware
libglamor0
mesa-common-dev
mesa-utils
libva-x11-1
libva1
libvdpau-dev
libvdpau1
메사 패키지를 다시 설치하는 대신 제거하면 많은 종속성에 영향을 미칩니다. 이 단계를 통해 다시 설치할 수 있고 libglamor0
마지막 xserver-xorg-video-glamoregl
으로 설치할 수 있습니다 xserver-xorg-video-ati
.
재설치 후에도 libva
"rc"라고 표시된 관련 패키지가 libva
여전히 존재합니다. 이 태그는 "제거되었지만 프로필이 여전히 존재함"을 의미하므로 를 사용합니다 apt-get remove --purge package_name
.
이 시점에서 컴퓨터가 다시 부팅되는지 확인하기 위해 재부팅했는데 운 좋게도 부팅되었습니다. 이 시점에서는 모든 패키지가 서로 종속되거나 종속성이 없기 때문에 어느 정도 확신이 듭니다.
그리고... 의존 지옥.
dpkg -i --force-depends list-of-packages
다음과 같이 종속성에 영향을 주지 않고 패키지를 다운그레이드했습니다 .종속성을 제거하지 않고 패키지를 다운그레이드하는 방법은 무엇입니까?
동일한 버전의 deb 패키지 배치를 다운로드하고 다시 설치했습니다. 각 패키지에서 패키지 후보를 확인 apt-cache policy
하고 거기에 표시된 특정 버전과 아키텍처(amd64/i386)를 사용하여 Google에서 다운로드하세요. 각 명령을 제출하기 전에 연습 실행을 수행하여 dpkg
종속성 충돌로 인해 발생할 수 있는 모든 경고를 처리했습니다. 충돌이 표시되지 않습니다.
처음에 나는 이 배치를 위해 갔다 libdrm2
.
libdrm2_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm2_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-amdgpu1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-amdgpu1_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-dev_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-intel1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-intel1_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-nouveau2_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-nouveau2_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-radeon1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-radeon1_2.4.67-1ubuntu0.14.04.1_i386.deb
그런 다음 ( 메사 라이브러리에 대한 종속성을 깨뜨리는 libdrm에 대한 불만이 시작되었으므로 mesa
이 시점에서 완전히 필요합니다 )apt-get
libegl1-mesa_10.1.3-0ubuntu0.6_amd64.deb
libegl1-mesa-drivers_10.1.3-0ubuntu0.6_amd64.deb
libgbm1_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-dri_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-dri_10.1.3-0ubuntu0.6_i386.deb
libgl1-mesa-glx_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-glx_10.1.3-0ubuntu0.6_i386.deb
libglapi-mesa_10.1.3-0ubuntu0.6_amd64.deb
libglapi-mesa_10.1.3-0ubuntu0.6_i386.deb
libgles2-mesa_10.1.3-0ubuntu0.6_amd64.deb
libosmesa6_10.1.3-0ubuntu0.6_amd64.deb
libosmesa6_10.1.3-0ubuntu0.6_i386.deb
libwayland-egl1-mesa_10.1.3-0ubuntu0.6_amd64.deb
libxatracker2_10.1.3-0ubuntu0.6_amd64.deb
마지막으로 libvorbis
패키지:
libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb
libvorbis0a_1.3.2-1.3ubuntu1_i386.deb
libvorbis-dev_1.3.2-1.3ubuntu1_amd64.deb
libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb
libvorbisenc2_1.3.2-1.3ubuntu1_i386.deb
libvorbisfile3_1.3.2-1.3ubuntu1_amd64.deb
libvorbisfile3_1.3.2-1.3ubuntu1_i386.deb
이 시점에서는 libllvm
원치 않는 종속성이 되며 제거할 수 있습니다 apt-get autoremove
. "rc" 태그가 붙은 패키지가 남았는데, apt-get remove --purge
문제 없이 제거했습니다 .