5. udev

과거에는, 그리고 원한다면 오늘날에도 다음과 같은 명령어를 사용하여 장치 노드를 생성할 수 있었습니다:

mknod /dev/sdb1 b 8 3

이 명령어는 /dev/sdb1 장치 노드를 생성하며, 주 번호 8 과 부 번호 3 을 가진 블록 장치 (b) 로 만듭니다.

장치를 제거하려면 /dev 디렉터리에 있는 장치 파일을 단순히 rm하면 됩니다.

다행히도 udev 덕분에 더 이상 이렇게 할 필요가 없습니다. udev 시스템은 장치가 연결되었는지 여부에 따라 장치 파일을 동적으로 생성하고 제거합니다. 시스템에는 udevd 데몬이 실행 중이며, 시스템에 연결된 장치에 대한 커널의 메시지를 수신합니다. Udevd는 해당 정보를 구문 분석하고 /etc/udev/rules.d에 지정된 규칙과 데이터를 일치시킵니다. 이러한 규칙에 따라 장치 노드와 장치에 대한 심볼릭 링크를 생성할 가능성이 높습니다. 자신만의 udev 규칙을 작성할 수 있지만, 이 수업의 범위를 약간 벗어납니다. 다행히도 시스템에는 이미 많은 udev 규칙이 포함되어 있으므로 직접 작성할 필요가 없을 수도 있습니다.

udevadm 명령어를 사용하여 udev 데이터베이스와 sysfs 를 볼 수도 있습니다. 이 도구는 매우 유용하지만 때로는 매우 복잡해질 수 있습니다. 장치 정보를 보는 간단한 명령어는 다음과 같습니다:

udevadm info --query=all --name=/dev/sda

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

연습하면 완벽해집니다! 다음은 Linux 에서 하드웨어 상호 작용 및 장치 관리에 대한 이해를 강화하기 위한 실습 랩입니다:

  1. Linux 에서 하드웨어 장치 탐색 - 이 랩에서는 Linux 환경 내에서 하드웨어 장치를 탐색, 식별 및 검사하는 필수 기술을 배웁니다. 운영 체제가 물리적 구성 요소와 상호 작용하는 방식을 이해하기 위한 강력한 명령줄 유틸리티를 직접 경험하게 되며, 이는 장치 노드와 udev 의 역할을 이해하는 데 중요합니다.

이 랩은 실제 시나리오에 개념을 적용하고 Linux 하드웨어 관리에 대한 자신감을 키우는 데 도움이 될 것입니다.

퀴즈

장치를 동적으로 추가하고 제거하는 것은 무엇입니까?