![chrooted Linux에서 "sudo: pty를 할당할 수 없습니다: 해당 장치가 없습니다"](https://linux55.com/image/214338/chrooted%20Linux%EC%97%90%EC%84%9C%20%22sudo%3A%20pty%EB%A5%BC%20%ED%95%A0%EB%8B%B9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%3A%20%ED%95%B4%EB%8B%B9%20%EC%9E%A5%EC%B9%98%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%22.png)
다음에 추가:
읽은 후 반복하는 것이 좋습니다"대체" 배포판으로 루트를 전환할 때 어떤 proc, sys 등을 번들로 마운트해야 합니까(또는 번들로 마운트하지 않아야 합니까)?:
내가 어떻게 알아:
- 일반적으로 sysfs, proc, dev, dev/pts 마운트를 호출합니다.앞으로
chroot
, - 시스템이 실행되는 동일한 장치에서 평가를 수행 할 수 있는
bind
장치 를 사용 하고 싶습니다 .mount -o bind /dev dev/
chroot
그러나 오류가 발생하는 이유는 설명되지 않으며 설정에서 본 내용에 따르면 관련 부분은 오류가 출력에 없는 설정과 다르지 않습니다. 누군가 Linux의 기본 작동에 대해 더 자세히 이해하도록 도와주실 수 있나요? 티아
원래:
chroot
저는 Linux Mint 20.2를 사용하여 스크립트를 작성해 왔습니다 . 20.2에서는 20.2의 ISO 배포판에 마운트했는데 sudo
예상대로 작동합니다.
최근에 20.2에서 ISO 릴리스 21로 chrooting을 시도했고 실행 sudo mount -t proc proc /proc
후chroot
sudo: unable to allocate pty: No such device
20.2와 21에서 루트를 변경하면 /dev
및 의 내용을 비교했는데 내용이 일치하고 비어 있습니다./dev/pts
ls -a
/dev/pts
chrooted 명령이 루트로 실행되면 사용자가 루트이기 때문인 것으로 알고 있지만 부분적으로 Linux를 뒤에서 배우고 오류의 원인을 이해하고 싶어서 스크립트를 작성했습니다. 서버에 연결할 때 웹 검색에서 유사한 오류와 유사한 링크가 나왔고 내 설정 동작을 설명하는 정보는 볼 수 없었습니다.
uname -a
20.2 및 21의 경우 출력은 동일합니다. "5.4.0-74-generic"; 이를 대체하면 sudo
여전히 "sudo: pty를 할당할 수 없습니다: 해당 장치가 없습니다"라는 결과가 나타납니다. 예전에 추가하면서 몇 가지 오류가 제거되었던 sudo --stdin
것으로 기억합니다. --stdin
오류가 무엇인지 기억이 나지 않습니다.) 관련 내용을 읽었습니다."sudo -S"를 명시적으로 사용하는 목적은 무엇입니까?
sudo
그 후 "sudo:cannot authenticate pty:no such device"의 출력은 중지되지만 mount -t devpts devpts /dev/pts
출력은 다음과 같습니다.
*** closefrom failed to close a file descriptor ***: terminated
Aborted
실행한 후에도 mount -t proc proc /proc
sudo
예상대로 작동하지만, 마운트 /proc
하지 않고 마운트하면 /dev/pts
여전히 이전의 "pty를 할당할 수 없습니다"라는 결과가 발생하므로 혼란스럽습니다( /dev/pts
위에서 언급한 것처럼 작동하는 경우와 작동하지 않는 경우 모두에서 일치하고 빈 항목).
그 밖에 무엇을 확인하고 시도해 볼 수 있나요? 티아
답변1
저는 sudo로 해결했습니다.
pty를 할당할 수 없습니다. 해당 장치가 없습니다.
chroot를 실행하기 전에 루트 세션을 얻으십시오:
sudo su -
그 다음에
chroot /mnt