PTY에 로그인할 수 없습니다: "org.freedesktop.systemd1" 서비스를 활성화할 수 없습니다.

PTY에 로그인할 수 없습니다: "org.freedesktop.systemd1" 서비스를 활성화할 수 없습니다.

메인 Debian 안정 시스템에서 테스트 저장소를 활성화하지 않고 스스로 Debian 테스트 설치를 실행하고 싶기 때문에 systemd-nspawn을 이해하고 사용하려고 노력했습니다.

Debootstrap 프로세스 설정을 돕기 위해 다음 쉘 스크립트를 작성했습니다.

#!/bin/sh

dirpath="$1"

if [ -z "$dirpath" ]; then
    dirpath="debian-testing-devel"
elif ! [ -d "$dirpath" ]; then
    mkdir -p "$dirpath"
fi

echo "NOTICE: You must run `debootstrap` as a root user! Requesting sudo privilage..."
sudo debootstrap --include="dbus,systemd-container" testing "$dirpath" "https://deb.debian.org/debian"

echo "Debootstrap has finished!"
echo "You may log in to your system by using: systemd-nspawn -D ${dirpath} -U --machine debian-testing-devel"
echo "Make sure to set a secure root password!"

기본적으로 그게 다입니다. 나는 그것을 "debian-testing-devel"이라고 명명했습니다. 그러다가 "/var/lib/machines/"에 있는 콘텐츠에만 액세스할 수 있다는 사실을 금방 알게 되었고 machinectl, 그래서 제가 만든 디렉터리를 그곳으로 옮겼습니다. 그래도...

그런 다음 를 사용하여 로그인 systemd-nspawn -D /var/lib/machines/debian-testing-devel/ -U --machine debian-testing-devel하고 비밀번호를 설정한 다음 루트로 로그인할 수 있도록 "/etc/securetty"에 "pts/0" 및 "pts/1"을 추가해야 했습니다.

로그인을 사용하려고 하면 machinectl login debian-testing-devel"PTY에 로그인할 수 없습니다: 프로토콜 오류"라는 메시지가 나타납니다.

그래서 컨테이너에 다시 로그인하여 systemd-nspawn어떤 이유로 패키지 설치가 중단된 것을 발견하고 dbus실행해 보니 apt -f install문제가 해결된 것 같았습니다. 또 다른 온라인 소스에서는 systemd프로토콜 오류를 없애기 위해 DBus뿐만 아니라 컨테이너 자체에도 설치해야 한다고 주장해서 시도해보았습니다!

마지막으로 다시 실행하려고 하면 machinectl login debian-testing-devel여전히 "PTY에 로그인할 수 없습니다:..."라는 메시지가 표시되고 이번에는 Failed to get login PTY: Failed to activate service 'org.freedesktop.systemd1': timed out (service_start_timeout=25000ms).

그래서 다음에 무엇을 해야할지 잘 모르겠습니다. 이 문제를 온라인으로 검색해봐도 많은 결과가 나오지 않으며 무슨 일이 일어나고 있는지 잘 모르겠습니다. 이 내용을 배우고 작동시키려고 노력하면서 약간 좌절감을 느끼고 있습니다. 제가 하려고 하는 모든 작업이 작동하지 않는 것 같습니다...

도움을 주시면 감사하겠습니다!

답변1

좋아, 드디어 다시 로그인할 수 있게 됐어. 내 디렉토리를 확인한 후 소유한 파일이 있고 root:root소유한 다른 파일이 있다는 것을 깨달았 (random id):(random id)지만 debootstrap다시 빌드한 후 오류 없이 완료되었는지 확인한 다음 systemd-nspawn해당 플래그를 사용하여 명령을 실행 해 보았는데 -U꽤 잘 기록되었습니다. 컨테이너를 처음 접하는 사람들을 위해 무엇이 잘못되었는지 명확하게 알려주는 더 나은 오류 메시지가 있었으면 좋겠습니다. 며칠 동안 이 문제에 갇혀 있었고 내 컨테이너 디렉터리/루트가 손상되었다는 사실을 몰랐기 때문입니다. 그러니까 그냥…네, 다 좀 안 좋은 것 같아요. 권한이 없는 사용자를 사용하는 것을 잊어버리면 컨테이너 폴더가 쉽게 손상될 수 있기 때문에 이제 컨테이너 폴더의 스냅샷과 백업을 꼭 찍겠습니다. 이런. IMO는 컨테이너의 안정성과 사용 편의성이 아직 갈 길이 멀다고 생각합니다.

관련 정보