Debian 백포트에서 패키지를 제거하는 방법(중복된 Q 아님)

Debian 백포트에서 패키지를 제거하는 방법(중복된 Q 아님)

여기에 제가 묻는 것과 동일한 몇 가지 질문이 있다는 것을 알고 있습니다. 나는 이러한 제안을 시도했습니다1&2, 하지만 이 경우에는 작동하지 않습니다. 일어나는 일은 다음과 같습니다.

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)

시도된 "복구"는 그다지 흥미롭지 않았습니다.

pi@raspberrypi0w:~ $ apt install ${udev}/bullseye
Illegal instruction

나는 다른 "회귀"를 시도했습니다.

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

"분할 오류" - 심각하게 들립니다 :). 이것이 무엇을 의미하는지 잘 모르겠습니다. 즉, 시스템이 자동으로 udev업그레이드를 거부하고 자동으로 복구합니까? ——아니면 내가 개입한 걸까? 나는 몇 분 정도 기다렸다가 이것을 시도했습니다.

$ 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.

어젯밤에 좋은 (이미지) 백업이 있었기 때문에 OS를 종료해도 복원할 수 있었습니다. 그러나 가능하다면 백업에 의지하지 않고 이 문제를 해결하는 것을 선호합니다.

어떻게 해야 합니까?

답변1

작동하는 설정에서 udev찾은 다른 게시물은 패키지 업그레이드를 백포트로 되돌리는 올바른 방법을 제공합니다.

sudo apt install udev/bullseye

아니면 어쩌면

sudo apt install udev/oldstable

(적절한 코드 이름이나 동의어를 사용하십시오). 여기에는 주의할 점이 있습니다. 데비안은 패키지 다운그레이드를 지원하지 않습니다. 대부분의 경우 잘 작동하지만, 그렇지 않은 경우에는 버그가 아닙니다.

udev당신은 달릴 수 없기 때문에 그렇게 할 수 없습니다 . Debian armhf아키텍처는 ARMv7을 대상으로 하는 반면 1세대 Raspberry Pi(Zero W 포함)는 ARMv6을 구현했기 때문에 이러한 상황이 발생합니다 .이러한 시스템에 적합한 데비안 아키텍처는 다음과 같습니다.armel. 일반적으로 Debian 백포트는 Debian 파생 버전이라 하더라도 다른 배포판과 혼합하여 사용할 수 없습니다. 아키텍처 정의가 다르기 때문에 Raspbian의 경우 더욱 그렇습니다.

다시 설치하지 않고 이 문제를 해결하려면 적절한 udev패키지를 다운로드하고 해당 바이너리를 수동으로 추출해야 합니다. 그러면 패키지가 올바르게 복원될 수 있습니다.

백포트된 패키지를 사용하고 싶다면 다시 설치하는 것이 좋습니다.Raspberry Pi용 Debian 이미지. (이것은 Debian 11 및 백포트보다 최신 패키지를 제공하므로 백포트가 필요하지 않을 수도 있습니다!)

관련 정보