%20%ED%98%84%EC%9E%AC%20%ED%98%B8%EC%8A%A4%ED%8A%B8%EB%A5%BC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EB%B0%A9%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EA%B0%90%EC%A7%80%ED%95%98%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EC%A2%8B%EC%9D%80%20%EB%B0%A9%EB%B2%95.png)
다른 물리적 컴퓨터에서 부팅하고 싶은 Linux가 설치된 하드 드라이브가 있습니다. 내 질문은 드라이브가 연결된 컴퓨터를 프로그래밍 방식으로 감지하는 것이 가능한지 여부입니다. 예를 들어, 각 워크스테이션에 대한 고유한 하드웨어 정보 해시를 생성하기 위해 cat /proc/cpuinfo
에서 호출하고 파이핑하려고 시도했지만 sha256sum
/proc의 목록이 재부팅할 때마다 항상 동일한 정보를 유지하는 것은 아닌 것 같습니다. 이 방법을 사용하면 내 해시 값이 계속 변경됩니다.
이를 수행하는 쉬운 방법이 있습니까?
답변1
Tom Hunt가 의견에서 제안한 대로 네트워크 인터페이스 중 하나의 MAC 주소를 사용하십시오. MAC 주소는 고유합니다. (이는 모든 컴퓨터에 최소한 하나의 네트워크 인터페이스가 있다고 가정하지만 이는 합리적인 가정입니다.)
인터페이스가 여러 개 있을 수 있습니다. 다양한 경우의 문제를 피하기 위해 모두 동일한 시스템의 유효한 식별자로 처리하는 것이 좋습니다. 인터페이스는 다른 순서로 감지되면 다른 이름이 할당될 수 있으며 일부 인터페이스는 이동 가능하거나(예: USB 동글) 비활성화될 수 있습니다(예: USB 동글). Wi-Fi 킬 스위치)).
이 명령을 사용하면 현재 사용 가능한 모든 네트워크 인터페이스의 MAC 주소를 나열할 수 있습니다(사용 중인지 여부에 관계 없음).
ip addr show | awk '$1 == "link/ether" {print $2}'