Tenho uma situação que aconteceu ontem mesmo depois de um apt full-upgrade
. Parece que os aplicativos afetados são aplicativos que eu tinha instalado anteriormente de debian-backports
. Aqui está o resumo com todo o histórico que consegui reunir:
1. Modificar /etc/apt/sources.list
para adicionar bookworm-backports
; o/a 15 de agosto de 2024:
Cerca de 2,5 meses atrás, concluí que precisava das backports
versões de pipewire
e wireplumber
. Para fazer isso acontecer, modifiquei meu /etc/apt/sources.list
arquivo para adicionar backports
:
$ cat /etc/apt/sources.list
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
#deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
#deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
Nenhuma alteração foi feita em /etc/apt/sources.list.d/raspi.list
:
$ cat /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.com/debian/ bookworm main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.com/debian/ bookworm main
2. Instalar pipewire
et. al. de bookworm-backports
; o/a 15 ago 2024:
$ sudo apt install -t bookworm-backports pipewire pipewire-audio-client-libraries libspa-0.2-bluetooth
...
$ sudo reboot
Depois disso, as versões pipewire
& (de ) instaladas no meu sistema foram:wireplumber
backports
$ pipewire --version
pipewire
Compiled with libpipewire 1.2.1
Linked with libpipewire 1.2.1
$ wireplumber --version
wireplumber
Compiled with libwireplumber 0.4.17
Linked with libwireplumber 0.4.17
3. Avanço rápido para 9 de outubro de 2024 após a conclusão dos testes
Este sistema não foi atualizado em dois meses, pois eu estava executando um teste nos aplicativos com os quais estou tendo problemas agora. Aqui está o que eu vi ontem:
Observe bookworm-backports
na lista abaixo:
$ sudo apt update
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://deb.debian.org/debian bookworm-backports InRelease [59.0 kB]
Get:5 http://archive.raspberrypi.com/debian bookworm InRelease [39.0 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [181 kB]
Get:7 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [185 kB]
Get:8 http://deb.debian.org/debian-security bookworm-security/main Translation-en [114 kB]
Get:9 http://deb.debian.org/debian bookworm-backports/main arm64 Packages [249 kB]
Get:10 http://deb.debian.org/debian bookworm-backports/main armhf Packages [250 kB]
Get:11 http://deb.debian.org/debian bookworm-backports/main Translation-en [210 kB]
Get:12 http://deb.debian.org/debian bookworm-backports/contrib arm64 Packages [4,964 B]
Get:13 http://deb.debian.org/debian bookworm-backports/contrib armhf Packages [4,740 B]
Get:14 http://deb.debian.org/debian bookworm-backports/non-free arm64 Packages [6,864 B]
Get:15 http://deb.debian.org/debian bookworm-backports/non-free armhf Packages [1,516 B]
Get:16 http://archive.raspberrypi.com/debian bookworm/main armhf Packages [515 kB]
Get:17 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages [485 kB]
Fetched 2,409 kB in 4s (614 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
59 packages can be upgraded. Run 'apt list --upgradable' to see them.
Marquei (*) as 12 entradas que vêm de backports
:
apt list --upgradable
Listing... Done
base-files/stable 12.4+deb12u7 arm64 [upgradable from: 12.4+deb12u6]
curl/stable 7.88.1-10+deb12u7 arm64 [upgradable from: 7.88.1-10+deb12u6]
git-man/stable-security,stable-security 1:2.39.5-0+deb12u1 all [upgradable from: 1:2.39.2-1.1]
git/stable-security 1:2.39.5-0+deb12u1 arm64 [upgradable from: 1:2.39.2-1.1]
initramfs-tools-core/stable,stable 0.142+deb12u1 all [upgradable from: 0.142]
initramfs-tools/stable,stable 0.142+deb12u1 all [upgradable from: 0.142]
libc-bin/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libc-dev-bin/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libc-devtools/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libc-l10n/stable,stable 2.36-9+rpt2+deb12u8 all [upgradable from: 2.36-9+rpt2+deb12u7]
libc6-dbg/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libc6-dev/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libc6/stable 2.36-9+rpt2+deb12u8 arm64 [upgradable from: 2.36-9+rpt2+deb12u7]
libcamera-ipa/stable 0.3.2+rpt20240927-1 arm64 [upgradable from: 0.3.0+rpt20240617-1]
libcamera0.3/stable 0.3.2+rpt20240927-1 arm64 [upgradable from: 0.3.0+rpt20240617-1]
libcurl3-gnutls/stable 7.88.1-10+deb12u7 arm64 [upgradable from: 7.88.1-10+deb12u6]
libcurl4/stable 7.88.1-10+deb12u7 arm64 [upgradable from: 7.88.1-10+deb12u6]
libexpat1/stable-security 2.5.0-1+deb12u1 arm64 [upgradable from: 2.5.0-1]
libpam-systemd/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
* libpipewire-0.3-0/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* libpipewire-0.3-common/stable-backports,stable-backports 1.2.4-1~bpo12+1 all [upgradable from: 1.2.1-1~bpo12+1]
* libpipewire-0.3-modules/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
libpisp-common/stable,stable 1.0.7-1 all [upgradable from: 1.0.6-1]
libpisp1/stable 1.0.7-1 arm64 [upgradable from: 1.0.6-1]
* libspa-0.2-bluetooth/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* libspa-0.2-modules/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
libssl3/stable 3.0.14-1~deb12u2+rpt1 arm64 [upgradable from: 3.0.13-1~deb12u1+rpt1]
libsystemd-shared/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
libsystemd0/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
libudev1/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
linux-headers-rpi-2712/stable 1:6.6.51-1+rpt3 arm64 [upgradable from: 1:6.6.31-1+rpt1]
linux-headers-rpi-v8/stable 1:6.6.51-1+rpt3 arm64 [upgradable from: 1:6.6.31-1+rpt1]
linux-image-rpi-2712/stable 1:6.6.51-1+rpt3 arm64 [upgradable from: 1:6.6.31-1+rpt1]
linux-image-rpi-v8/stable 1:6.6.51-1+rpt3 arm64 [upgradable from: 1:6.6.31-1+rpt1]
linux-libc-dev/stable,stable 1:6.6.51-1+rpt3 all [upgradable from: 1:6.6.31-1+rpt1]
locales/stable,stable 2.36-9+rpt2+deb12u8 all [upgradable from: 2.36-9+rpt2+deb12u7]
openssl/stable 3.0.14-1~deb12u2+rpt1 arm64 [upgradable from: 3.0.13-1~deb12u1+rpt1]
* pipewire-alsa/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* pipewire-audio-client-libraries/stable-backports,stable-backports 1.2.4-1~bpo12+1 all [upgradable from: 1.2.1-1~bpo12+1]
* pipewire-bin/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* pipewire-jack/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* pipewire-pulse/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
* pipewire/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
python3-gpiozero/stable,stable 2.0.1-0+rpt1 all [upgradable from: 2.0-1]
raspberrypi-sys-mods/stable 20240911 arm64 [upgradable from: 20240807]
raspi-firmware/stable,stable 1:1.20240924-1 all [upgradable from: 1:1.20240529-1]
raspi-utils-core/stable 20240903-1 arm64 [upgradable from: 20240402-4]
raspi-utils-dt/stable 20240903-1 arm64 [upgradable from: 20240402-4]
raspi-utils-eeprom/stable 20240903-1 arm64 [upgradable from: 20240402-4]
raspi-utils-otp/stable,stable 20240903-1 all [upgradable from: 20240402-4]
raspi-utils/stable,stable 20240903-1 all [upgradable from: 20240402-4]
raspinfo/stable,stable 20240903-1 all [upgradable from: 20240402-4]
rpi-eeprom/stable,stable 26.0-1 all [upgradable from: 24.0-1]
rpicam-apps-lite/stable 1.5.2-2 arm64 [upgradable from: 1.5.0-2]
systemd-sysv/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
systemd-timesyncd/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
systemd/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
udev/stable 252.30-1~deb12u2 arm64 [upgradable from: 252.26-1~deb12u2]
* wireplumber/stable-backports 0.5.6-1~bpo12+1 arm64 [upgradable from: 0.4.17-1~bpo12+1]
E então eu fiz uma upgrade
em toda a lista; isso pareceu completar normalmente , mas alguns itens escaparam da minha atenção (não estava olhando para a tela durante o upgrade
) até que "as rodas saíram":
$ sudo apt -y full-upgrade
...
The following package was automatically installed and is no longer required:
libwireplumber-0.4-0
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
libwireplumber-0.5-0 linux-headers-6.6.51+rpt-common-rpi linux-headers-6.6.51+rpt-rpi-2712 linux-headers-6.6.51+rpt-rpi-v8
linux-image-6.6.51+rpt-rpi-2712 linux-image-6.6.51+rpt-rpi-v8 linux-kbuild-6.6.51+rpt
The following packages will be upgraded:
base-files curl git git-man initramfs-tools initramfs-tools-core libc-bin libc-dev-bin libc-devtools libc-l10n libc6 libc6-dbg libc6-dev
libcamera-ipa libcamera0.3 libcurl3-gnutls libcurl4 libexpat1 libpam-systemd libpipewire-0.3-0 libpipewire-0.3-common libpipewire-0.3-modules
libpisp-common libpisp1 libspa-0.2-bluetooth libspa-0.2-modules libssl3 libsystemd-shared libsystemd0 libudev1 linux-headers-rpi-2712
linux-headers-rpi-v8 linux-image-rpi-2712 linux-image-rpi-v8 linux-libc-dev locales openssl pipewire pipewire-alsa
pipewire-audio-client-libraries pipewire-bin pipewire-jack pipewire-pulse python3-gpiozero raspberrypi-sys-mods raspi-firmware raspi-utils
raspi-utils-core raspi-utils-dt raspi-utils-eeprom raspi-utils-otp raspinfo rpi-eeprom rpicam-apps-lite systemd systemd-sysv systemd-timesyncd
udev wireplumber
59 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
...
apt-listchanges: Reading changelogs...
apt-listchanges: News
---------------------
wireplumber (0.5.1-1) experimental; urgency=medium
WirePlumber 0.5 was released with a new configuration system.
The new system is based on JSON instead of Lua which makes WirePlumber >= 0.5
incompatible with Lua conf files written for WirePlumber 0.4.
.
If only the default configuration (e.g the configuration shipped with the
Debian package) is used, then there is nothing to do.
.
If you use custom configuration files, you will have to manually update them
by following the migration guide. No automatic migration of old configuration
files is performed.
.
This guide is available at (after having installed "wireplumber-doc"):
/usr/share/doc/wireplumber/html/daemon/configuration/migration.html
or
https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
-- Dylan Aïssi <[email protected]> Sun, 31 Mar 2024 14:44:46 +0200
...
$ sudo reboot
...
4. Depois que upgrade
descobri que "as rodas saíram"; pipewire
não funciona mais; sem som do Bluetooth!
Só para confirmar o que eu já sabia, verifiquei o status do Bluetooth comsystemctl
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-10-09 22:29:30 UTC; 1h 6min ago
Docs: man:bluetoothd(8)
Main PID: 507 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 404)
CPU: 196ms
CGroup: /system.slice/bluetooth.service
└─507 /usr/libexec/bluetooth/bluetoothd
Oct 09 22:29:30 rpi2w bluetoothd[507]: Starting SDP server
Oct 09 22:29:30 rpi2w bluetoothd[507]: profiles/audio/vcp.c:vcp_init() D-Bus experimental not enabled
Oct 09 22:29:30 rpi2w bluetoothd[507]: src/plugin.c:plugin_init() Failed to init vcp plugin
Oct 09 22:29:30 rpi2w bluetoothd[507]: profiles/audio/mcp.c:mcp_init() D-Bus experimental not enabled
Oct 09 22:29:30 rpi2w bluetoothd[507]: src/plugin.c:plugin_init() Failed to init mcp plugin
Oct 09 22:29:30 rpi2w bluetoothd[507]: profiles/audio/bap.c:bap_init() D-Bus experimental not enabled
Oct 09 22:29:30 rpi2w bluetoothd[507]: src/plugin.c:plugin_init() Failed to init bap plugin
Oct 09 22:29:30 rpi2w bluetoothd[507]: Bluetooth management interface 1.22 initialized
Oct 09 22:29:31 rpi2w bluetoothd[507]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Oct 09 22:29:31 rpi2w bluetoothd[507]: sap-server: Operation not permitted (1)
$
bluetoothctl
consegui conectar com meu alto-falante, mas nada - nenhum som.
5. Restaurar o sistema a partir do arquivo de imagem raw criado em 16 de agosto de 2024
Isso "trouxe meu sistema de volta" ao mesmo estado em que estava imediatamente após a instalação pipewire
et. al. (quando funcionava bem!). Então - tenho um sistema totalmente funcional novamente neste ponto; 9 de outubro de 2024.
6. Iniciar atualizações incrementais; 9 de outubro de 2024
Por meio de um processo de tentativa e erro, comecei uma atualização "incremental", usando sudo apt-get install --only-upgrade X Y Z etc
. Após cada atualização, verifiquei se o Bluetooth ainda estava funcionando. Depois que reduzi a lista de pacotes desinstalados para o seguinte, o Bluetooth ainda estava funcionando:
$ apt list --upgradable
Listing... Done
libpipewire-0.3-common/stable-backports,stable-backports 1.2.4-1~bpo12+1 all [upgradable from: 1.2.1-1~bpo12+1]
libpipewire-0.3-modules/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
libspa-0.2-bluetooth/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
libspa-0.2-modules/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
pipewire-alsa/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
pipewire-audio-client-libraries/stable-backports,stable-backports 1.2.4-1~bpo12+1 all [upgradable from: 1.2.1-1~bpo12+1]
pipewire-bin/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
pipewire-jack/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
pipewire-pulse/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
pipewire/stable-backports 1.2.4-1~bpo12+1 arm64 [upgradable from: 1.2.1-1~bpo12+1]
wireplumber/stable-backports 0.5.6-1~bpo12+1 arm64 [upgradable from: 0.4.17-1~bpo12+1]
7. pipewire
et. al. são aparentemente os únicos responsáveis pelo mau funcionamento do Bluetooth. Acho que isso pode ser "nenhuma surpresa" para muitos, mas senti que precisava estabelecer o mais especificamente possível a origem do problema.
Aqui está minha pergunta: Como eu estraguei tudo ? Nunca usei backports
antes, e presumi que quando o canal regular "alcançasse" backports
isso apt
, tudo seria mesclado/instalado sem incidentes. Obviamente, não foi isso que aconteceu aqui. O que preciso fazer para consertar isso?
Você não estragou tudo e suas suposições estão corretas.
Considerando que você atualmente tem um sistema funcional, há duas maneiras de evitar a atualização dos pacotes retroportados:
Você pode desabilitar o
bookworm-backports
repositório completamente — isso impedirá atualizações parapipewire
& cia., mas também impedirá a instalação de qualquer outro pacote retroportado (o que pode ser desejável no seu caso).Você pode manter os pacotes instalados atualmente:
Isso manterá esses pacotes em suas versões atuais, independentemente de quais repositórios estejam disponíveis.
Os backports funcionam da seguinte maneira (por padrão, tudo isso pode ser ajustado usando prioridades de pinos):
-t bookworm-backports
especificador de versão explícito ou outro), os pacotes retroportados são candidatos automáticos para atualizações para si mesmos, desde que a versão de lançamento não os alcanceComo os backports complementam uma determinada versão, e as versões de pacotes não devem mudar significativamente em uma determinada versão (exceto algumas exceções, como navegadores), uma versão nunca alcançará os backports. Isso significa que, depois de instalar um backport, você permanecerá nos backports para esse pacote até atualizar para a próxima versão principal — neste caso, o Debian 13.
Com tudo isso dito, o que aconteceu nessa instância é que backports atualizados foram lançados após seus testes, culminando em
pipewire
1.2.4-1~bpo12+1 ewireplumber
0.5.6-1~bpo12+1 . Este último inclui um item de notícias, que você viu, adicionado em 0.5.1-1 que foi carregado para experimental; como resultado, as notícias exibidas são confusas — o pacote que você obteve é um pacote de backport legítimo, não experimental.O que isso significa é, infelizmente, encontrar bugs. Esse é o comprometimento com backports — você obtém pacotes atualizados, mas eles não são tão bem testados quanto aqueles na versão principal, ou mesmo como os mesmos pacotes em unstable ou testing. Em particular, eles podem incorporar suposições sobre outras partes do ecossistema — por exemplo, um pacote pode rodar bem com os outros pacotes dos quais ele depende, pois eles existem em unstable ou testing, sem que o mantenedor do pacote perceba que há uma dependência de um recurso disponível apenas em unstable ou testing; o pacote pode então ser construído bem para backports, mas falhar (mesmo parcialmente) em seu novo ambiente transplantado. Se você puder se incomodar, valeria a pena relatar um bug!