Como limpar e degradar os pacotes do PPA com uma versão do Ubuntu descontinuada

2

Tempo atrás eu tentei ppa:oibaf/graphic-drivers com minha instalação do Linux-Mint baseada no Trusty.

Agora eu preciso voltar aos meus antigos drivers xorg, mas nem ppa-purge nem y-ppa-manager iria limpar os pacotes ppa, uma vez que não hospeda mais nenhum pacote confiável (aqueles terminados com ~gd~t ).

Como esses são drivers de vídeo, não quero remover / remover manualmente todos os pacotes relacionados ao ppa e, em seguida, instalá-los. Além disso, essa versão xserver-xorg-video-radeon depende de um linux-firmware modificado deste ppa, então não quero entrar em terreno instável ao fazer isso.

apt-get install --reinstall não funciona, falha com uma mensagem it cannot be downloaded para cada pacote relacionado.

Devo tentar limpar e reinstalar todos esses pacotes em um nível de execução 4 para isso? O que você sugere?

Com dpkg -l | grep gd~t , obtenho uma lista dos pacotes que suponho quando instalados por meio desse PPA. Mas não posso confirmá-los, pois linux-firmware , por exemplo, não está mais hospedado no PPA (precisei verificar a dependência reversa com 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

Nesta lista, estou extraindo esses candidatos para a eliminação:

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

De onde não encontrei xserver-xorg-video-glamoregl na "pacotes relacionados" seção do oapaf PPA

    
por Sdlion 10.08.2016 / 21:27

1 resposta

0

No final, eu fiquei cheio no modo manual.

Primeiramente, verifiquei quais pacotes eu poderia remover com apt-get remove --purge --dry-run package_name sem alterar nenhuma dependência. Em seguida, gostaria de verificar qual versão específica eu queria fazer o downgrade para com apt-cache policy package_name . Então eu prossegui para instalar a última versão disponível de cada um desses pacotes.

Este método funcionou com

* xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-glamoregl

O xserver-xorg-video-ati depende do xserver-xorg-video-glamoregl que depende do libglamor0 , por isso não pode ser reinstalado, a menos que você faça o seguinte:

Em seguida, comecei a fazer o downgrade com apt-get install --reinstall package_name=version , em que version é a versão desejada que aparece em apt-cache policy . Eu fiz isso com pacotes que poderiam ser reinstalados sem afetar dependências e agrupar pacotes que compartilhavam a mesma versão em comandos individuais. Que trabalhou com:

linux-firmware
libglamor0
mesa-common-dev
mesa-utils
libva-x11-1
libva1
libvdpau-dev
libvdpau1

Remover os pacotes da mesa ao invés de reinstalá-los afetará muitas dependências. Com essa etapa, pude instalar mais uma vez libglamor0 , depois xserver-xorg-video-glamoregl e finalmente xserver-xorg-video-ati .

Depois de reinstalar libva , os pacotes marcados com "rc" relacionados com libva permaneceram. Essa marca significa "removido, mas os arquivos de configuração permanecem" e eu removi com segurança cada um deles com apt-get remove --purge package_name .

Eu reiniciei a máquina neste momento para ver se iria começar de novo, felizmente aconteceu. Eu tinha certa confiança neste ponto, pois todos esses pacotes dependiam uns dos outros ou de ninguém.

Então ... o inferno da dependência.

Eu usei o dpkg -i --force-depends list-of-packages para fazer o downgrade de pacotes sem afetar suas dependências, como indicado em: Como posso fazer o downgrade de pacotes sem remover seus dependentes?

Eu baixei e reinstalei por lotes de pacotes deb que compartilhavam a mesma versão. Verificou se cada um desses pacotes tinha candidatos de pacote com apt-cache policy e googled-baixado-los com a versão específica e arquitetura (amd64 / i386) mostrada lá. Fiz corridas a seco antes de cometer cada comando dpkg , tomando cuidado com qualquer aviso que possa surgir devido ao conflito de dependências. Nenhum conflito foi mostrado.

Primeiro eu fui com o lote 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

Em seguida, mesa (neste ponto, completamente necessário, pois apt-get começou a lamentar que o libdrm havia quebrado dependências com bibliotecas de mesa)

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    

E finalmente libvorbis packages:

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

Neste ponto, libllvm tornou-se uma dependência desnecessária que pode ser removida através de apt-get autoremove . Deixou pacotes "rc" marcados que removi com apt-get remove --purge sem nenhum problema.

    
por 13.08.2016 / 04:14