![mknod 명령 매개변수는 정확히 무엇입니까?](https://linux55.com/image/85447/mknod%20%EB%AA%85%EB%A0%B9%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%8A%94%20%EC%A0%95%ED%99%95%ED%9E%88%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
mknod
명령 매개변수란 정확히 무엇입니까?
chroot 안에 감옥을 만들고 싶습니다. 그래서 나는 다음을 수행해야 합니다:
mknod /var/chroot/bind/dev/null c 1 3
mknod /var/chroot/bind/dev/random c 1 8
c
, 1
, 그리고 는 3
무엇입니까 8
?
답변1
mknod
일반적으로 /dev 분기에 장치 파일이 생성되지만 반드시 예제와 같지는 않습니다.
첫 번째 매개변수는 우리가 만들고자 하는 장치의 종류를 알려줍니다. 이 c
경우에는 문자 장치입니다. 다른 옵션으로는 b
블록 장치, p
fifos(파이프)가 있을 수 있습니다.
두 번째 매개변수는 커널이 사용하는 드라이버를 식별하는 주요 장치 번호입니다.
세 번째 매개변수는 내부 사용을 위해 드라이버에 전달되는 보조 장치 번호입니다.
Linux에서는 메이저/마이너 번호가 다음과 같이 기록됩니다.장치.txt
따라서 1은 소위에 사용됩니다.저장 장치운전자가 처리합니다.
3
null
읽을 때 EOF를 반환하고 쓴 내용을 삭제하는 장치를 나타냅니다 .
8
random
난수를 반환하는 장치를 나타냅니다 .
자세한 내용은 장치 매뉴얼 페이지를 확인하세요.
man -s 4 null
man -s 4 random
답변2
MAKEDEV
존재하지 않는 장치 파일을 생성하는 데 선호되는 방법입니다. 그러나 때로는 MAKEDEV
스크립트가 생성하려는 장치 파일에 대해 알지 못하는 경우가 있습니다. 여기서 mknod
명령이 들어옵니다. 사용하기 위해서는 mknod
생성하려는 장치의 기본 노드 번호와 보조 노드 번호를 알아야 합니다.
mknod /dev/ttyS0 c 4 64
답변3
알아 둘만 한:
연결된 장치의 메이저/마이너 번호를 얻으려면 장치 데이터를 얻을 수 있습니다.
cat /sys/class/tty/ttyUSB0/uevent
결과:
MAJOR=188
MINOR=0
DEVNAME=ttyUSB0
이 정보를 사용하여 다음으로 전화할 수 있습니다.
mknod /dev/ttyUSB0 c 188 0