예를 들어 장치 파일이 주어지면 /dev/sdb
그 뒤에 있는 드라이버를 확인할 수 있습니까?
특히 내 저장 장치가 어떤 드라이버를 사용하고 있는지 확인하고 싶습니다. fdisk -l
2개의 장치가 나열됩니다: /dev/sda
및 /dev/sdb
. 하나는 SATA 하드 드라이브이고 다른 하나는 USB 대용량 저장 장치(실제로는 SD 카드)입니다.
프로그래밍 방식으로 어느 것이 무엇인지 결정하는 방법은 무엇입니까?
저는 소프트웨어를 작성 중이며 초보자가 SD 카드를 삭제할 수 있도록 허용하면서 하드 드라이브를 삭제하지 못하도록 보호하고 싶습니다.
답변1
udevadm info -a -n /dev/sda
출력을 실행 하고 구문 분석합니다. 이런 줄이 보이실 겁니다
DRIVERS=="ahci"
드라이버를 사용하는 SATA 디스크의 경우 ahci
또는
DRIVERS=="usb-storage"
USB 연결 장치의 경우. 확인을 위해 공급업체와 모델명을 표시할 수도 있습니다. 반품,
ATTR{removable}=="1"
이동식 장치에 표시됩니다.
이 모든 정보는 /sys
(실제로 udevadm
가서 살펴보세요)를 통해서도 확인할 수 있지만 /sys
인터페이스는 수시로 변경되므로 udevadm
장기적으로 구문 분석이 더욱 강력해집니다.