A atualização do kernel remove o Xorg

1

Estou usando um AMD R9 270 no Crunchbang ++, uma distro baseada no Debian Jessie. Para instalar os drivers da AMD, eu preciso de um kernel mais novo. Então, como se poderia presumir, eu mudei 'jessie' para 'stretch' em sources.list. Embora eu esteja atualmente correndo de gráficos integrados. Agora, quando eu quero atualizar meu kernel para uma versão mais nova, ele diz que o Xorg precisa ser removido. Aqui está a saída:

root@cbpp-maarten:/home/maarten/fglrx-15.302# apt-get install linux-headers-4.7.0-1-amd64 linux-image-4.7.0-1-amd64
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libboost-system1.55.0 libboost-thread1.55.0 libcamel-1.2-49 libdrm-amdgpu1
  libebackend-1.2-7 libecal-1.2-16 libedataserver-1.2-18 libgdata-common
  libgdata22 libgnutls30 libhogweed4 libical1a libimobiledevice6 libinput-bin
  libinput10 libip4tc0 libjansson4 libnettle6 libnm0 libnma-common libnma0
  liboauth0 libplist3 libprotobuf9 libreadline7 libseccomp2 libusbmuxd4
  libuuid-perl libwacom-common libwacom2 libwebrtc-audio-processing-0
  mate-power-manager-common
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  bash-completion binutils console-setup console-setup-linux cpp-5 dbus
  evolution-data-server-common firmware-linux-free gcc-5 gcc-5-base gcc-6-base
  init init-system-helpers irqbalance kbd keyboard-configuration klibc-utils
  libabiword-3.0 libapparmor1 libasan2 libatomic1 libboost-atomic1.61.0
  libboost-chrono1.61.0 libboost-date-time1.61.0 libboost-filesystem1.61.0
  libboost-system1.61.0 libboost-thread1.61.0 libc-bin libc-dev-bin libc-l10n
  libc6 libc6-dev libcamel-1.2-59 libcc1-0 libcilkrts5 libdbus-1-3
  libdrm-amdgpu1 libdrm2 libebackend-1.2-10 libebook-1.2-16
  libebook-contacts-1.2-2 libecal-1.2-19 libedata-book-1.2-25
  libedataserver-1.2-22 libfdisk1 libfuse2 libgcc-5-dev libgcc1 libgcrypt20
  libgdata-common libgdata22 libglib2.0-0 libgnutls30 libgomp1 libgphoto2-6
  libgphoto2-port12 libgssapi-krb5-2 libhogweed4 libical2 libicu57
  libimobiledevice6 libinput-bin libinput10 libip4tc0 libisl15 libitm1
  libjansson4 libjson-c3 libk5crypto3 libklibc libkrb5-3 libkrb5support0
  liblsan0 libltdl7 libmount1 libmpfr4 libmpx0 libmtp9 libncurses5
  libncursesw5 libnettle6 libnm0 libnma-common libnma0 libnuma1 liboauth0
  liborc-0.4-0 libp11-kit0 libphonenumber7 libplist3 libpng16-16 libprotobuf10
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libquadmath0 libreadline7
  libseccomp2 libsepol1 libsmartcols1 libsoxr0 libssl1.0.2 libstdc++6
  libtasn1-6 libtinfo5 libtsan0 libubsan0 libusbmuxd4 libwacom-common
  libwacom2 libwebrtc-audio-processing1 libxkbcommon0 linux-base
  linux-compiler-gcc-5-x86 linux-headers-4.7.0-1-common linux-kbuild-4.7
  linux-libc-dev locales makedev mate-power-manager-common mount
  p11-kit-modules pulseaudio pulseaudio-utils screen sysvinit-utils util-linux
  xserver-common
Suggested packages:
  binutils-doc gcc-5-locales gcc-5-multilib gcc-5-doc libgcc1-dbg libgomp1-dbg
  libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg
  libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg glibc-doc
  rng-tools gnutls-bin gphoto2 krb5-doc krb5-user libusbmuxd-tools
  linux-doc-4.7 debian-kernel-handbook nfs-common pavumeter paman paprefs
  byobu screenie iselect ncurses-term dosfstools
Recommended packages:
  manpages-dev libglib2.0-data xdg-user-dirs libgphoto2-l10n usbmuxd
  krb5-locales libmtp-runtime libwacom-bin rtkit
The following packages will be REMOVED:
  cbpp-exit fuse fusesmb gvfs gvfs-backends gvfs-daemons gvfs-fuse
  libboost-date-time1.55.0 libebook-1.2-14 libebook-contacts-1.2-0
  libedata-book-1.2-20 libpam-systemd libphonenumber6 mate-power-manager
  network-manager network-manager-gnome policykit-1 policykit-1-gnome sshfs
  udisks udisks2 upower xorg xserver-xorg xserver-xorg-core
  xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-mouse
  xserver-xorg-input-synaptics xserver-xorg-input-vmmouse
  xserver-xorg-video-all xserver-xorg-video-ati xserver-xorg-video-cirrus
  xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-mach64
  xserver-xorg-video-mga xserver-xorg-video-modesetting
  xserver-xorg-video-neomagic xserver-xorg-video-nouveau
  xserver-xorg-video-openchrome xserver-xorg-video-r128
  xserver-xorg-video-radeon xserver-xorg-video-savage
  xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb
  xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-vesa
  xserver-xorg-video-vmware
The following NEW packages will be installed:
  cpp-5 firmware-linux-free gcc-5 gcc-5-base gcc-6-base irqbalance
  libapparmor1 libasan2 libboost-atomic1.61.0 libboost-chrono1.61.0
  libboost-date-time1.61.0 libboost-filesystem1.61.0 libboost-system1.61.0
  libboost-thread1.61.0 libc-l10n libcamel-1.2-59 libcc1-0 libdrm-amdgpu1
  libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libecal-1.2-19
  libedata-book-1.2-25 libedataserver-1.2-22 libfdisk1 libgcc-5-dev
  libgdata-common libgdata22 libgnutls30 libgphoto2-port12 libhogweed4
  libical2 libicu57 libimobiledevice6 libinput-bin libinput10 libip4tc0
  libisl15 libjansson4 libjson-c3 libmpx0 libnettle6 libnm0 libnma-common
  libnma0 libnuma1 liboauth0 libphonenumber7 libplist3 libpng16-16
  libprotobuf10 libreadline7 libseccomp2 libsoxr0 libssl1.0.2 libusbmuxd4
  libwacom-common libwacom2 libwebrtc-audio-processing1
  linux-compiler-gcc-5-x86 linux-headers-4.7.0-1-amd64
  linux-headers-4.7.0-1-common linux-image-4.7.0-1-amd64 linux-kbuild-4.7
  makedev
The following packages will be upgraded:
  bash-completion binutils console-setup console-setup-linux dbus
  evolution-data-server-common init init-system-helpers kbd
  keyboard-configuration klibc-utils libabiword-3.0 libatomic1 libc-bin
  libc-dev-bin libc6 libc6-dev libcilkrts5 libdbus-1-3 libdrm2 libfuse2
  libgcc1 libgcrypt20 libglib2.0-0 libgomp1 libgphoto2-6 libgssapi-krb5-2
  libitm1 libk5crypto3 libklibc libkrb5-3 libkrb5support0 liblsan0 libltdl7
  libmount1 libmpfr4 libmtp9 libncurses5 libncursesw5 liborc-0.4-0 libp11-kit0
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libquadmath0 libsepol1
  libsmartcols1 libstdc++6 libtasn1-6 libtinfo5 libtsan0 libubsan0
  libxkbcommon0 linux-base linux-libc-dev locales mate-power-manager-common
  mount p11-kit-modules pulseaudio pulseaudio-utils screen sysvinit-utils
  util-linux xserver-common
65 upgraded, 65 newly installed, 50 to remove and 800 not upgraded.
Need to get 118 MB of archives.
After this operation, 292 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

Eu não tenho idéia porque ele quer remover o Xorg. Alguém sabe por que isso acontece?

    
por Maarten Dekkers 06.11.2016 / 20:31

2 respostas

2

Parece que você mudou suas fontes para estender, mas não atualizou o resto do seu sistema operacional antes de tentar atualizar seu kernel.

Neste caso, o pacote linux-image-4.7.0-1-amd64 tem uma dependência no xserver-xorg-input-vmmouse

# apt-cache depends linux-image-4.7.0-1-amd64
...
  Breaks: xserver-xorg-input-vmmouse
...

O resolvedor de dependências foi avisado que para instalar o seu kernel este pacote deve ser removido completamente. No entanto, existem atualmente outros pacotes que dependem disso.

# apt-cache rdepends xserver-xorg-input-vmmouse
xserver-xorg-input-vmmouse
Reverse Depends:
  xserver-xorg-core
  xserver-xorg-input-all
  xserver-xorg-core
  open-vm-tools-desktop
  linux-image-4.7.0-1-amd64
  linux-image-4.7.0-1-amd64-unsigned

Se você fizer um apt-get dist-upgrade , perceberá que esse pacote está sendo removido porque está obsoleto. Logs de relatórios de erros do Debian - # 831420

root@a6ce0d85df50:/# apt-get dist-upgrade
...
The following packages will be REMOVED:
  xserver-xorg-input-vmmouse xserver-xorg-video-modesetting xserver-xorg-video-siliconmotion

Depois de atualizar os pacotes xserver-xorg- * para versões que não dependem mais do vmmouse, seu novo kernel deve ser instalado perfeitamente sem remover o xorg.

    
por 06.11.2016 / 22:31
2

So as one would presume I changed 'jessie' to 'stretch' in sources.list

Não, por favor, não altere as versões apenas para atualizar o seu kernel, ele tem implicações muito mais abrangentes do que o esperado.

Para atualizar seu kernel, a maneira mais fácil e segura é usar os backports do Jessie .

Primeiro, você precisa reverter para Jessie em sources.list e adicionar backports de Jessie aos seus repositórios, se ainda não estiverem lá:

echo deb http://http.debian.net/debian jessie-backports main > /etc/apt/sources.list.d/jessie-backports.list

(como root), então

apt-get update
apt-get -t jessie-backports install linux-image-amd64

instalará o atual kernel padrão de backport (4.7 até o momento).

Ativar backports é seguro: pacotes mais novos não são retirados automaticamente de backports, você precisa explicitamente selecioná-los usando -t jessie-backports como acima (mas uma vez feito isso, atualizações para os pacotes atualizados são escolhidas por apt-get upgrade ).

    
por 06.11.2016 / 22:47

Tags