데비안이 "*_head == _item"이라는 주장으로 막히는 이유는 무엇입니까?

데비안이 "*_head == _item"이라는 주장으로 막히는 이유는 무엇입니까?

데비안 11을 부팅하려고 할 때마다 멈춥니다.

Welcome to Debian GNU/Linux 11 (bullseye)!

systemd[1]: Set hostname to <arm>.
systemd[1]: Failed to open netlink: Function not implemented
systemd[1]: Failed to allocate device monitor: Function not implemented
systemd[1]: Failed to allocate notification socket: Function not implemented
systemd[1]: Assertion '*_head == _item' failed at src/core/device.c:46, function device_unset_sysfs(). Aborting.
systemd[1]: Caught <ABRT>, dumped core as pid 799.
systemd[1]: Freezing execution.

답변1

시스템이 원래 Debian 11로 설치되었습니까, 아니면 이전 버전의 Debian에서 업그레이드되었습니까?

"Welcome to Debian..." 메시지가 표시된다는 사실은 시스템이 initramfs 단계를 통과하여 실제 루트 파일 시스템에 도달하고 있음을 의미하지만, systemdinitramfs의 미니 버전에서 실제 루트 파일 시스템으로 전환할 때 상황이 매우 빠르게 발생할 수 있습니다. 모든 기능을 갖춘 버전 . 문제가 발생했습니다.

systemd일부 커널 기능을 사용하려는 것처럼 보이지만 "기능이 구현되지 않음" 오류를 반환한 다음 트리거됩니다.역설.

(어설션은 기본적으로 개발 도구입니다. 프로덕션 등급 소프트웨어의 기본 오류 검사 메커니즘이 되어서는 안 됩니다. 어설션과 같은 중요한 시스템 구성 요소가 systemd어설션을 만나면 이는 개발자가 어떤 방식으로든 잘못되었음을 의미합니다. 문제의 근본 원인을 파악할 수 있다면 systemd문제의 원인을 설명하는 버그 보고서를 작성하고 더 나은 오류 메시지를 제안하는 것이 좋습니다 .)

이는 업그레이드 실패와 시스템이 기존 라이브러리와 새 라이브러리를 혼합하여 실행하려고 하기 때문에 발생할 수 있지만 일반적으로 패키지 종속성으로 인해 이러한 일이 발생할 가능성은 거의 없습니다. 업그레이드 중에 시스템이 잘못된 시간에 충돌했을 수 있나요?

어쩌면 Debian 11과 호환되지 않는 일부 패키지 저장소를 추가했고 패키지 관리 시스템이 시스템의 일부 일반 패키지를 호환되지 않는 저장소의 패키지로 대체하여 시스템이 이제 작동하지 않을 수 있습니다. 즉, 당신은FrankenDebian이 만들어졌을 수도 있습니다.: 관련이 없고 호환되지 않는 패키지의 이상한 조합입니다.

세 번째 가능성은 사용자 정의 커널이 설치되어 있는 경우입니다. 그러면 최소한의 커널 구성은 다음과 같습니다.또한systemd실행에 필요한 최소 및 일부 커널 기능이 완전히 비활성화됩니다.

systemd원인이 무엇이든 문제로 인해 시스템의 프로세스 #1이 실패하고 시스템에 액세스하는 대부분의 방법을 실행할 수 없게 된다는 것이 사실입니다 . 사용자 정의 커널을 설치했지만 여전히 표준 커널이 설치되어 있는 경우 부트로더에 표준 커널을 부팅하도록 지시해 보세요. (호스트 이름이 "arm"인 것을 확인했습니다. 이것이 ARM 아키텍처 프로세서를 사용하고 있다는 의미라면 부트로더가 반드시 GRUB가 아니라 다른 것일 수도 있다고 생각합니다.)

그렇지 않으면 프로세스 #1과 같이 루트로 실행되는 단일 셸 세션을 제공하는 시작 인수를 추가해 볼 수 있습니다 init=/bin/bash. 이것이 작동한다면 적어도 시스템에 대한 일부 액세스(읽기 전용 상태)를 얻어 더 많은 정보를 수집할 수 있습니다. . 이 상태에서는 모든 일반적인 사용자 공간 시작 프로세스가 실행되지 않으므로 다음을 수행해야 합니다.모든 것수동: 루트 파일 시스템을 읽기 전용 모드에서 해제하고, 필요에 따라 추가 파일 시스템을 마운트하고, 네트워크 인터페이스를 구성하는 작업(필요한 경우)이 포함됩니다.

명령이 작동 하면 루트 파일 시스템에 대한 쓰기 액세스 권한을 mount얻을 수 있으며 , 패키지 관리 도구가 실행 중이면 최근 업데이트되거나 제거된 패키지를 mount -o remount,rw /확인 하고 최근 패키지 작업을 취소할 수 있습니다. /var/log/dpkg.log, 이로 인해 문제가 발생할 수 있습니다. 현재 네트워크 구성 명령이 작동하지 않으면 필요한 패키지를 다른 컴퓨터에 다운로드하고 USB 스틱이나 기타 이동식 미디어를 통해 이 컴퓨터로 전송해야 할 수도 있습니다.

최근에 많은 수의 패키지가 교체/제거되었거나 패키지 관리 도구가 작동하지 않는 경우 복구 가능한 데이터 파일을 백업하고 시스템을 다시 설치하는 것이 더 간단한 지점에 도달했을 수 있습니다. .

관련 정보