저는 Linux에서 USB 플래시 드라이브에 대한 대규모 테스트 및 복제를 수행하고 있습니다.
이를 위해 제가 작성한 스크립트는 장치가 특정 USB 포트에 연결되어 있는지 감지하기 위해 /dev/disk/by-path에 대한 경로를 저장합니다. 따라서 사용자는 표시된 내용을 실제로 데스크탑에 있는 내용에 연결할 수 있습니다.
/dev/disk/by-path의 여러 심볼릭 링크가 동일한 /dev/sd* 장치 파일을 가리킬 때 문제가 발생하는 경우가 있습니다. 이로 인해 혼란스러운 결과가 발생합니다. 예를 들어 사용자가 장치를 포트 A, 포트 A, B, C, 및 D는 연결된 장치를 보고하지만 사용자는 포트가 물리적으로 비어 있음을 확인할 수 있습니다.
이런 일이 발생하는지 확인하는 한 줄짜리 코드를 만들었습니다.
file /dev/disk/by-path/* | grep -v "broken symbolic link" | cut -d'/' -f7 | sort | uniq -D | wc -l
이는 /dev/disk/by-path에 있는 중복 링크 대상의 수를 반환합니다.
항상 0을 반환해야 합니다.
시스템을 재부팅하지 않고 이 문제를 해결할 수 있는 방법이 있습니까?
나는 또한 관련성이 있을 수 있는 질문을 했습니다. /dev/disk/by-path의 링크가 끊어졌습니다.