특정 장치 파일 뒤에 어떤 드라이버가 있습니까?


10

예를 들어 장치 파일 /dev/sdb이 있다면 어떤 드라이버가 뒤에 있는지 확인할 수 있습니까?

특히, 저장 장치가 사용중인 드라이버를 확인하고 싶습니다. fdisk -l2 개의 장치를 나열합니다 : /dev/sda/dev/sdb. 하나는 SATA 하드 드라이브이고 다른 하나는 USB 대용량 저장 장치입니다. 실제로는 SD 카드입니다.

프로그래밍 방식으로 어떤 것을 결정합니까?

소프트웨어를 작성 중이며 초보자가 하드 드라이브를 지우지 않고 SD 카드를 지우는 것을 방지하고 싶습니다.


선택한 장치 이름에 따라 Linux를 실행한다고 가정합니다.
Gilles 'SO- 악마 중지'

@Gilles 네, 죄송합니다. 아마 중요한 정보 일 것입니다 ... 감사합니다!
Alex Chamberlain

답변:


12

udevadm info -a -n /dev/sda출력을 실행 하고 구문 분석하십시오. 당신은 같은 줄을 볼 수 있습니다

DRIVERS=="ahci"

ahci드라이버를 사용하는 SATA 디스크의 경우

DRIVERS=="usb-storage"

USB 연결 장치 용. 확인을 위해 공급 업체 및 모델 이름을 표시 할 수도 있습니다. 또한,

ATTR{removable}=="1"

이동식 장치에 있습니다.

이 모든 정보는 /sys(실제로 udevadm살펴볼 곳)을 통해 얻을 수도 있지만 /sys인터페이스는 수시로 변경되므로 구문 분석 udevadm은 장기적으로 더 강력합니다.


@AlexChamberlain 죄송합니다. 예 (예 : -n아래 /dev) 에는 블록 장치 -p경로 /sys(예 : 아래 -p /sys/block/sda)가 필요합니다.
Gilles 'SO- 악한 중지'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.