Eu sei que há algumas perguntas aqui que fazem a mesma pergunta que pareço estar fazendo. Eu tentei essas sugestões 1 e 2 , mas elas não funcionam neste caso. Aqui está o que aconteceu:
pi@raspberrypi0w:~ $ sudo apt -t bullseye-backports install udev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libudev1
The following packages will be upgraded:
libudev1 udev
2 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
Need to get 1,654 kB of archives.
After this operation, 511 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://deb.debian.org/debian bullseye-backports/main armhf udev armhf 252.5-2~bpo11+1 [1,554 kB]
Get:2 http://deb.debian.org/debian bullseye-backports/main armhf libudev1 armhf 252.5-2~bpo11+1 [100 kB]
Fetched 1,654 kB in 1s (1,267 kB/s)
Reading changelogs... Done
(Reading database ... 43648 files and directories currently installed.)
Preparing to unpack .../udev_252.5-2~bpo11+1_armhf.deb ...
Unpacking udev (252.5-2~bpo11+1) over (247.3-7+rpi1+deb11u2) ...
Preparing to unpack .../libudev1_252.5-2~bpo11+1_armhf.deb ...
Unpacking libudev1:armhf (252.5-2~bpo11+1) over (247.3-7+rpi1+deb11u2) ...
Setting up libudev1:armhf (252.5-2~bpo11+1) ...
Setting up udev (252.5-2~bpo11+1) ...
Segmentation fault
Job for systemd-udevd.service failed because a fatal signal was delivered to the control process.
See "systemctl status systemd-udevd.service" and "journalctl -xe" for details.
invoke-rc.d: initscript udev, action "restart" failed.
● systemd-udevd.service - Rule-based Manager for Device Events and Files
Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static)
Active: activating (start) since Tue 2024-04-09 07:36:27 UTC; 130ms ago
TriggeredBy: ● systemd-udevd-control.socket
● systemd-udevd-kernel.socket
Docs: man:systemd-udevd.service(8)
man:udev(7)
Main PID: 8773 ((md-udevd))
Tasks: 1
CPU: 45ms
CGroup: /system.slice/systemd-udevd.service
└─8773 (md-udevd)
Apr 09 07:36:28 raspberrypi0w systemd[1]: Stopped Rule-based Manager for Device Events and Files.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Starting Rule-based Manager for Device Events and Files...
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Main process exited, code=killed, status=11/SEGV
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Failed with result 'signal'.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Failed to start Rule-based Manager for Device Events and Files.
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Scheduled restart job, restart counter is at 5.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Stopped Rule-based Manager for Device Events and Files.
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Start request repeated too quickly.
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Failed with result 'signal'.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Failed to start Rule-based Manager for Device Events and Files.
dpkg: error processing package udev (--configure):
installed udev package post-installation script subprocess returned error exit status 1
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u8) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for initramfs-tools (0.140) ...
Errors were encountered while processing:
udev
E: Sub-process /usr/bin/dpkg returned an error code (1)
A tentativa de “reversão” não foi muito interessante:
pi@raspberrypi0w:~ $ apt install ${udev}/bullseye
Illegal instruction
Tentei algumas outras "reversões":
pi@raspberrypi0w:~ $ sudo apt install udev
Illegal instruction
pi@raspberrypi0w:~ $ sudo apt-get install udev/stable
Illegal instruction
pi@raspberrypi0w:~ $ sudo apt-get install udev/old-stable
Illegal instruction
Uma 'falha de segmentação' - parece grave :). Eu não tinha certeza do que isso significava; ou seja, o sistema rejeitou automaticamente a udev
atualização e reverteu automaticamente? - ou eu pisei nisso? Esperei alguns minutos e tentei isto:
$ systemctl status systemd-udevd.service
● systemd-udevd.service - Rule-based Manager for Device Events and Files
Loaded: loaded (/lib/systemd/system/systemd-udevd.service; static)
Active: failed (Result: signal) since Tue 2024-04-09 07:36:28 UTC; 28min ago
TriggeredBy: ● systemd-udevd-control.socket
● systemd-udevd-kernel.socket
Docs: man:systemd-udevd.service(8)
man:udev(7)
Process: 8776 ExecStart=/lib/systemd/systemd-udevd (code=killed, signal=SEGV)
Main PID: 8776 (code=killed, signal=SEGV)
CPU: 199ms
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Scheduled restart job, restart counter is at 5.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Stopped Rule-based Manager for Device Events and Files.
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Start request repeated too quickly.
Apr 09 07:36:28 raspberrypi0w systemd[1]: systemd-udevd.service: Failed with result 'signal'.
Apr 09 07:36:28 raspberrypi0w systemd[1]: Failed to start Rule-based Manager for Device Events and Files.
Eu tenho um bom backup (de imagem) da noite passada, então, se eu matar meu sistema operacional, posso me recuperar. No entanto, prefiro corrigir isso sem recorrer ao backup - se for possível.
O que devo fazer?
Em uma configuração onde
udev
é possível executar, as outras postagens que você encontrou fornecem a receita correta para reverter uma atualização de pacote para backports:ou possivelmente
(com qualquer nome de código ou sinônimo apropriado). Há uma ressalva aqui: o Debian não suporta downgrades de pacotes; eles funcionam bem na maioria das vezes, mas se não funcionarem, não é um bug.
Você não pode fazer isso porque
udev
não vai correr. Você acabou nessa situação porque aarmhf
arquitetura Debian tem como alvo o ARMv7, enquanto a geração inicial do Raspberry Pis (incluindo o Zero W) implementa o ARMv6; a arquitetura Debian apropriada nesses sistemas éarmel
. Como regra geral, você não pode misturar e combinar backports do Debian com outra distribuição, mesmo que seja um derivado do Debian. Esse é ainda mais o caso do Raspbian, já que as definições de arquitetura são diferentes.Para corrigir isso sem reinstalar, você teria que baixar o
udev
pacote apropriado e extrair manualmente seus binários; eles seriam então utilizáveis, o que permitiria que o pacote fosse revertido adequadamente.Dado que você deseja usar pacotes backportados, talvez seja melhor reinstalar com uma imagem Debian para Raspberry Pi . (Isso lhe daria pacotes mais novos do que os obtidos com o Debian 11 e backports, então talvez você nem precise de backports!)