HP-UX
1755409 회원
4286 온라인
108832 솔루션
새 메시지

mknod 와 mksf의 차이점

 
곽수희
조언자

mknod 와 mksf의 차이점

1. mknod 와 mksf의 차이점이 무엇인가요??

각각 어떤 경우에 사용해야 합니까??



2. major, minor 번호를 정할 때 일반적으로 사용하는

규칙같은 것은 없나요?
3 응답 3
고광태
중학생

mknod 와 mksf의 차이점

1.둘다 special 파일을 만드는 명령어 입니다.



옵션의 사용법이 다를뿐 같다고 보시면 될듯하네요..



결국 여러곳에서 개발해서 그럴것 같네요.



2.major number 같은 경우는 시스템이 정하는것이고

추가적으로 device 에 대해 major number 를 정해줄수도 있습니다.

즉 mux1 75 면 mux2 76 으로 ..



Device Name Pathname File Type Major Number

Mechnica Autochanger /dev/rac/ioct c 33

Optical Disk /dev/ac/ b 10

/dev/rac/ c 55

minor number 도 앞부분은 정해는것이고 뒤부분은 정할수가 있습니다.

Minor Number

0x201 ---> SCSI

6 ---> scsi address가 3 인경우 1 bit left shift 한 번호.

01 ---> 1st disk의 A side, where 1 ~ f.

32 장의 경우 범위 0x01 ~ 0x54



정확하게 규칙같은 것은 없는듯한데요..



참조하시기 바랍니다.





참조



manager(w/x.y.z;n)filename



manager : disc와 device로의 h/w path, minor number와 같은

I/O system manager의 name이며, 생략할 수 있다.

w/x.y.z : device로의 physical h/w path로 bus converter, slot number,h/w address등을 나타냄.

n : manager-dependent한 기능을 제어하는 minor number.

filename: HP-UX path name



전형적인 boot devicefile은 다음과 같다.



disc(2/4.0.0:0)/stand/vmunix

김병수
본과생

mknod 와 mksf의 차이점

특정 device file을 만들경우 사용하는 명령어입니다.

# lsdev



실행하여 보시기 바랍니다.

나름대로의 규칙이 있습니다.

보통 lvm을 구성할 경우

# mknod /dev/vg01/group c 64 0x010000



이렇게 하는 것은 lvm이 64를 사용하기 때문입니다.



# lsdev|grep -i 64

64 64 lv lvm



# man mkfs

# man mknod

참조하시기 바랍니다.



이연주
정기 조언자

mknod 와 mksf의 차이점

고광태님 말씀대로 둘다 special device file을 만드는데 사용되는 명령어들입니다.

일반적으로 mksf는 물리적으로 존재하는 device에 대해서 특정 device file을 만드는데 사용되고 mknod는 Volume Gorup의 device file과 같은 가상 device나 pipe 파일을 만드는데 사용됩니다.



그리고 device file을 만들때 major number는 kernel에서 인식하고 있는 driver나 class number을 사용하시면 됩니다. kernel에서 인식하고 있는 major number는 lsdev 명령어로 확인하실 수 있습니다.



# lsdev



그리고 minor number는 특별한 규칙은 없고 LVM과 관련된 device file은 일정한 규칙이 있습니다. 일반적으로 Volume Group의

device file같은 경우는

# ll /dev/vg00/group

.............. 64 0x000000

# ll /dev/vg01/group

.............. 64 0x010000



이와 같이 Volume group의 device file을 minor number HEXA값의 처음 두자리로 유니크 하게 구별해주어야 합니다.여기서 64는 major number이고 LVM과 관련된 모든 device의 major number는 64입니다.



그리고 vg00의 첫번째 만들어진 logical volume의 device file은

# ll /dev/vg00/lvol1

................ 64 0x000001

두번째 logical volume은

# ll /dev/vg00/lvol2

................ 64 0X000002

이런식으로 유닉크하게 구별이 되어집니다.



중요한것은 major number이고 lsdev에 정의되어 있는 major number을 사용해야 합니다.