Lshw는 컴퓨터/서버에 설치된 하드웨어에 대한 정보를 찾는 Linux 명령줄 도구입니다. Lshw는 마더보드/메인보드, CPU, 메모리, 디스크, PCIE, USB 및 기타 하드웨어 정보를 보고할 수 있습니다.
Lshw는 모든 Linux 배포판에서 사용할 수 있습니다. 따라서 동일한 도구를 사용하여 모든 Linux 배포판에서 필요한 하드웨어 정보를 찾을 수 있습니다.
이 기사에서는 널리 사용되는 Linux 배포판에 lshw를 설치하고 이를 사용하여 하드웨어 정보를 찾는 방법을 보여줍니다.
목차 주제:
- Ubuntu/Debian/Linux Mint/Kali Linux에 Lshw 설치
- Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream에 Lshw 설치
- Lshw를 사용하여 사용 가능한 하드웨어 나열
- 하드웨어 클래스로 Lshw 출력 필터링
- Lshw를 사용하여 자세한 하드웨어 정보 찾기
- Lshw 출력에서 민감한 정보 숨기기
- PCIe 및 USB 장치의 숫자 ID 표시
- Lshw 출력에서 휘발성 타임스탬프 제거
- Lshw를 사용하여 하드웨어 정보 내보내기
- 예 1: Lshw를 사용하여 컴퓨터/서버에 설치된 GPU 찾기
- 예 2: Lshw를 사용하여 네트워크 장치/인터페이스의 칩셋 찾기
- 결론
- 참고자료
Ubuntu/Debian/Linux Mint/Kali Linux에 Lshw 설치
Lshw는 Ubuntu/Debian/Linux Mint/Kali Linux의 공식 패키지 저장소에서 사용할 수 있습니다. 따라서 컴퓨터/서버에 쉽게 설치할 수 있습니다.
먼저 다음 명령을 사용하여 APT 패키지 저장소 캐시를 업데이트합니다.
$ sudo 적절한 업데이트
lshw를 설치하려면 다음 명령을 실행하십시오.
$ sudo 적절한 설치하다 -그리고 등
Lshw는 Ubuntu/Debian/Linux Mint/Kali Linux 시스템에 설치되어야 합니다.
Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream에 Lshw 설치
Lshw는 Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream의 공식 패키지 저장소에서 사용할 수 있습니다. 따라서 컴퓨터/서버에 쉽게 설치할 수 있습니다.
먼저 다음 명령을 사용하여 DNF 패키지 저장소 캐시를 업데이트합니다.
$ sudo dnf 메이크캐시
lshw를 설치하려면 다음 명령을 실행하십시오.
$ sudo dnf 설치하다 등
설치를 확인하려면 'Y'를 누른 다음 누르십시오. <엔터> .
Lshw는 Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream 시스템에 설치되어야 합니다.
Lshw를 사용하여 사용 가능한 하드웨어 나열
다음과 같이 lshw를 사용하여 컴퓨터/서버의 사용 가능한 모든 하드웨어를 나열할 수 있습니다.
$ sudo 등 -짧은
컴퓨터/서버의 사용 가능한 모든 하드웨어가 좋은 형식으로 나열되어야 합니다.
여기에서 다음 정보를 찾을 수 있습니다.
- H/W 경로 : 컴퓨터/서버에 설치된 하드웨어의 물리적 경로입니다. 여기서 /0은 마더보드, /0/100은 프로세서(마더보드에 연결됨), /0/100/
은 프로세서 레인에 연결된 하드웨어 등입니다. - 장치 : 하드웨어의 커널 할당 이름/식별자입니다. 가장 일반적인 예는 enp38s0, enp39s0 등과 같은 네트워크 장치의 장치 이름/식별자입니다.
- 수업 : 귀하의 컴퓨터/서버의 모든 하드웨어는 특정 그룹/클래스에 속합니다. 예를 들어, 네트워크 장치는 네트워크 클래스로 그룹화되고, 저장 장치는 저장소 클래스로 그룹화됩니다. 하드웨어 클래스는 다음과 같이 사용될 수 있습니다. lshw의 출력 필터링 .
- 설명 : 해당 하드웨어에 대한 간략한 설명입니다.
하드웨어 경로(H/W 경로) 대신 하드웨어의 버스 정보를 보려면 다음과 같이 lshw 명령을 실행하십시오.
$ sudo 등 -버스정보
보시다시피 이제 첫 번째 열에는 하드웨어 경로 대신 하드웨어의 버스 정보가 표시됩니다.
다양한 하드웨어의 버스 정보는 다양한 형식으로 정보를 표시합니다.
- CPU : CPU의 버스 ID는 cpu@
, 에 있습니다. 예를 들어 CPU cpu@0(제 경우 AMD Ryzen 9 3900X 프로세서)의 ID는 0입니다. 대부분의 데스크톱 컴퓨터와 노트북에서는 프로세서와 'cpu@0'이라는 하나의 CPU 항목만 갖게 됩니다. - PCIE 장치: PCIE 장치의 버스 ID는 pci@<도메인>:<버스>:<슬롯>.<기능 > <슬롯> 번호는 <디바이스> 번호라고도 합니다. 예를 들어, PCIE 장치 pci@0000:26:00.0(이 경우 I211 기가비트 네트워크 장치)에는 도메인 0000, 버스 26, 슬롯/장치 00 및 기능 0이 있습니다. ID 번호는 16진수이며 0으로 채워집니다.
- SCSI 장치 : SCSI 저장 장치의 버스 ID는 scsi@<컨트롤러>:<대상>.
. ,<파티션 > 예를 들어, scsi@1:0.0.0은 컨트롤러 1, 대상 0, ID 0, lun 0이 있고 파티션이 없는 SCSI/SATA 저장 장치입니다. SCSI/SATA 저장 장치에 파티션이 있는 경우 버스 ID는 첫 번째 파티션의 경우 scsi@1:0.0.0,1, 두 번째 파티션의 경우 scsi@1:0.0.0,2, scsi@1:0.0.0입니다. ,3은 세 번째 파티션의 경우 등입니다. - USB 장치 : USB 저장 장치의 버스 ID는 usb@<컨트롤러>:<슬롯>.
예를 들어 usb@3:6.3은 컨트롤러 3, 슬롯 6 및 ID 3이 있는 USB 장치입니다. usb@3:1은 컨트롤러 3과 슬롯 1이 있는 USB 장치입니다.
하드웨어 클래스로 Lshw 출력 필터링
Lshw는 모든 하드웨어 장치에 클래스를 할당합니다. 이러한 클래스 이름을 사용하여 특정 유형의 하드웨어만 포함하도록 'lshw' 명령의 출력을 필터링할 수 있습니다.
사용 가능한 lshw 하드웨어 클래스는 다음과 같습니다.
- 체계 : 시스템의 마더보드 및 PnP 장치입니다.
- 다리 : PCIE, 호스트 브리지 등과 같은 내부 버스 장치
- 메모리 : BIOS, RAM, ROM, CPU 캐시, 펌웨어 등과 같은 메모리 장치
- 프로세서 : 컴퓨터 및 SCSI RAID 컨트롤러의 프로세서입니다.
- 주소 : 확장 ROM 및 비디오의 메모리 주소입니다.
- 저장 : SCSI 및 IDE 컨트롤러.
- 디스크 : HDD, SSD, NVME SSD, CD-ROM, DVD 등과 같은 랜덤 액세스 저장 장치
- 용량 : 디스크/저장 장치의 파티션입니다.
- 줄자 : DAT, DDS 등과 같은 순차 액세스 저장 장치입니다.
- 버스 : USB, SCSI, FireWire 등과 같은 버스를 연결하는 장치입니다.
- 회로망 : 이더넷, WiFi 등과 같은 네트워크 인터페이스
- 표시하다 : GPU와 같은 디스플레이 장치입니다.
- 입력 : 키보드, 마우스, HDMI/DP 포트, HD 오디오 포트, 전원 버튼, PC 스피커 등과 같은 입력 장치
- 인쇄기 : 인쇄 장치(예: 프린터)입니다.
- 멀티미디어 : 비디오 카드(GPU), 사운드 카드, TV 출력 카드 등과 같은 오디오 및 비디오 장치
- 의사소통 : 블루투스와 같은 통신기기.
- 힘 : 전원공급장치(PSU), 내장 배터리 등 에너지원
- 일반적인 : 분류할 수 없는 장치입니다.
모든 컴퓨터/서버에 모든 종류의 하드웨어가 설치되어 있는 것은 아닙니다. 따라서 컴퓨터/서버에 있는 하드웨어 클래스를 찾으려면 '-short' 또는 '-businfo' 옵션과 함께 'lshw' 명령을 실행하는 것이 좋습니다.
$ sudo 등 -짧은$ sudo 등 -버스정보
특정 유형의 하드웨어(예: 저장 장치)만 표시하도록 'lshw' 명령의 출력을 필터링하려면 다음과 같이 '-class' 옵션을 사용하십시오.
$ sudo 등 -버스정보 -수업 디스크
또는
$ sudo 등 -짧은 -수업 디스크
보시다시피 lshw에는 컴퓨터에 설치된 저장 장치(2x 500GB Samsung 860 EVO SATA SSD)만 나열되어 있습니다.
'-class' 옵션을 여러 번 사용하면 'lshw' 명령으로 여러 유형의 하드웨어를 한 번에 표시할 수 있습니다.
예를 들어 'lshw' 명령을 사용하여 저장 장치와 디스크 파티션을 표시하려면 다음과 같이 '-class' 옵션을 두 번 사용합니다.
$ sudo 등 -버스정보 -수업 디스크 -수업 용량
또는
$ sudo 등 -짧은 -수업 디스크 -수업 용량 -수업
보시다시피 lshw는 저장 장치와 해당 저장 장치의 파티션을 나열했습니다.
Lshw로 자세한 하드웨어 정보 찾기
특정 유형의 하드웨어(예: 네트워크)에 대한 자세한 정보를 찾으려면 다음과 같이 '-class' 옵션과 함께 lshw를 실행하십시오.
$ sudo 등 -수업 회로망
보시다시피 컴퓨터에 설치된 모든 네트워크 장치에 대한 매우 자세한 정보가 인쇄됩니다.
Lshw 출력에서 민감한 정보 숨기기
기본적으로 'lshw' 명령은 자세한 하드웨어 정보를 표시하는 동시에 중요한 정보(예: 네트워크 장치의 MAC 주소)를 인쇄합니다. 예를 들어 드라이버 설치에 대한 도움을 받기 위해 인터넷의 다른 사람들과 하드웨어 정보를 공유해야 하는 경우 lshw 출력에서 해당 민감한 정보를 숨길 수 있습니다.
자세한 하드웨어 정보에서 중요한 정보를 숨기려면 다음과 같이 'lshw' 명령의 '-sanitize' 옵션을 사용할 수 있습니다.
$ sudo 등 -소독하다 -수업 회로망
보시다시피 MAC 주소와 IP 주소가 네트워크 장치에서 제거됩니다.
PCIe 및 USB 장치의 숫자 ID 표시
기본적으로 'lshw' 명령 출력에는 PCIe 및 USB 장치에 대한 숫자 ID가 표시되지 않습니다.
'lshw' 명령의 출력에 PCIe 및 USB 장치의 숫자 ID를 표시하려면 다음과 같이 '-numeric' 옵션을 사용하십시오.
$ sudo 등 -숫자 -수업 회로망
또는
$ sudo 등 -숫자 -수업 버스
보시다시피 'lshw' 명령의 출력에 USB 장치의 숫자 ID가 표시됩니다.
Lshw 출력에서 휘발성 타임스탬프 제거
기본적으로 lshw는 디스크 볼륨 및 기타 장치에 대한 휘발성 타임스탬프(시간 데이터 변경)를 인쇄합니다. 해당 타임스탬프를 확인하지 않으려면 다음과 같이 '-notime' 옵션과 함께 'lshw' 명령을 실행하세요.
$ sudo 등 -시간 없다 -수업 용량
보시다시피, 마운트된 타임스탬프 데이터는 '-notime' 옵션이 사용된 lshw 출력에서 제거됩니다.
Lshw를 사용하여 하드웨어 정보 내보내기
lshw 하드웨어 정보를 다양한 형식으로 내보낼 수 있습니다. 이 글을 쓰는 시점에서 lshw는 하드웨어 정보를 다음 형식으로 내보낼 수 있습니다.
- SQLite 데이터베이스
- HTML
- XML
- JSON
lshw 하드웨어 정보를 SQLite 데이터베이스 파일로 내보내려면 다음 명령을 실행하십시오.
$ sudo 등 -덤프 ~ / 데이터 / lshw.db &>/ 개발자 / 없는
보시다시피 “lshw.db” SQLite 데이터베이스 파일이 생성됩니다.
$ ㅋㅋㅋ -lh ~ / 데이터
SQLite를 사용하여 'lshw.db' 데이터베이스 파일을 읽고 다음과 같이 모든 데이터베이스 테이블을 인쇄할 수 있습니다.
$ sudo SQLite3 ~ / 데이터 / lshw.db --선 '.테이블'
다음 SQLite 명령을 사용하여 'lshw.db' 파일에서 네트워크 장치에 대한 정보를 인쇄할 수 있습니다.
$ sudo SQLite3 ~ / 데이터 / lshw.db --선 'SELECT * FROM 노드 WHERE 클래스 LIKE '네트워크''
lshw 하드웨어 정보를 HTML 파일로 내보내려면 다음 명령을 실행하십시오.
$ sudo 등 -html > ~ / 데이터 / lshw.html
민감한 정보도 삭제/숨기려면 다음과 같이 lshw HTML 내보내기 명령을 실행하세요.
$ sudo 등 -소독하다 -html > ~ / 데이터 / lshw.html
보시다시피 lshw 하드웨어 정보는 “lshw.html” HTML 파일로 내보내집니다.
$ ㅋㅋㅋ -lh ~ / 데이터
즐겨 사용하는 웹 브라우저로 “lshw.html” 파일을 열 수 있습니다.
$ 파이어폭스 ~ / 데이터 / lshw.html
Mozilla Firefox 웹 브라우저를 사용하여 “lshw.html” 파일을 열었고 다음 스크린샷에서 볼 수 있듯이 하드웨어 정보가 표시됩니다.
lshw 하드웨어 정보를 XML 파일로 내보내려면 다음 명령을 실행하십시오.
$ sudo 등 -xml > ~ / 데이터 / lshw.xml
민감한 정보도 삭제/숨기려면 다음과 같이 lshw XML 내보내기 명령을 실행하세요.
$ sudo 등 -소독하다 -xml > ~ / 데이터 / lshw.xml
보시다시피 lshw 하드웨어 정보는 “lshw.xml” XML 파일로 내보내집니다.
$ ㅋㅋㅋ -lh ~ / 데이터
Vim 텍스트 편집기를 사용하여 'lshw.xml' 파일을 열었고 다음 스크린샷에서 볼 수 있듯이 lshw 하드웨어 정보가 XML 형식으로 표시됩니다.
$ 왜냐하면 ~ / 데이터 / lshw.xml
lshw 하드웨어 정보를 JSON 파일로 내보내려면 다음 명령을 실행하십시오.
$ sudo 등 -json > ~ / 데이터 / lshw.json
민감한 정보도 삭제/숨기려면 다음과 같이 lshw JSON 내보내기 명령을 실행하세요.
$ sudo 등 -소독하다 -json > ~ / 데이터 / lshw.json
보시다시피 lshw 하드웨어 정보는 'lshw.json' JSON 파일로 내보내집니다.
$ ㅋㅋㅋ -lh ~ / 데이터
Vim 텍스트 편집기를 사용하여 “lshw.json” 파일을 열었고 다음 스크린샷에서 볼 수 있듯이 lshw 하드웨어 정보가 JSON 형식으로 표시됩니다.
$ 왜냐하면 ~ / 데이터 / lshw.json
lshw -sanitize, -numeric 및 -notime 옵션은 SQLite 내보내기가 아닌 lshw HTML, XML 및 JSON 내보내기에 작동합니다. 이러한 옵션에 대한 자세한 내용은 이 문서의 이전 섹션을 읽어보세요.
예 1: Lshw를 사용하여 컴퓨터/서버에 설치된 GPU 찾기
컴퓨터/서버에 새 운영 체제를 설치한 후 가장 중요한 작업 중 하나는 컴퓨터/서버에 설치한 GPU(그래픽 카드/프로세서)를 찾아 이에 적합한 드라이버를 설치하는 것입니다.
다음 'lshw' 명령을 사용하여 컴퓨터/서버에 설치한 GPU를 찾을 수 있습니다.
$ sudo 등 -수업 표시하다
보시다시피 우리 컴퓨터에는 NVIDIA GeForce RTX 4070이 설치되어 있습니다. [1] . 공식 NVIDIA 드라이버를 사용하고 있습니다(설치한 대로). [2] . 컴퓨터/서버에 NVIDIA GPU가 설치되어 있지만 공식 NVIDIA 드라이버가 설치되어 있지 않은 경우 대신 'driver=nouveau'가 표시됩니다. 이 경우 모든 기능을 사용하고 GPU에서 최상의 성능을 얻으려면 컴퓨터/서버에 공식 NVIDIA 드라이버를 설치해야 합니다.
예 2: Lshw를 사용하여 네트워크 장치/인터페이스의 칩셋 찾기
올바른 네트워크 드라이버를 설치하는 것도 새로운 Linux 설치의 필수 부분입니다. 올바른 네트워크 드라이버가 설치되어 있지 않으면 네트워크 장치가 작동하지 않거나 제한된 기능으로 작동할 수 있습니다(네트워크 성능이 매우 저하될 수 있음). 올바른 네트워크 드라이버를 설치하려면 네트워크 장치의 칩셋을 알아야 합니다.
컴퓨터/서버에 설치된 네트워크 장치에 대한 칩셋 및 기타 정보를 찾으려면 다음과 같이 'lshw' 명령을 실행하십시오.
$ sudo 등 -수업 회로망
보시다시피 우리 컴퓨터에는 두 개의 이더넷 장치가 설치되어 있습니다.
그 중 하나는 Intel I211 기가비트 네트워크 인터페이스입니다. [1] . Linux 커널은 enp38s0이라는 논리적 이름을 부여했습니다. [2] . 보시다시피 Intel igb 칩셋(드라이버=igb)을 사용합니다. [삼] . 따라서 이 네트워크 인터페이스가 작동하려면 컴퓨터/서버에 Intel igb 드라이버/펌웨어를 설치해야 합니다(아직 설치되지 않은 경우).
다른 하나는 Realtek RTL8125 2.5GbE 네트워크 인터페이스입니다. [4] . Linux 커널은 enp39s0이라는 논리적 이름을 부여했습니다. [5] . 보시다시피 Realtek r8169 칩셋(드라이버=r8169)을 사용합니다. [6] . 따라서 이 네트워크 인터페이스가 작동하도록 하려면 컴퓨터/서버에 Realtek r8169 드라이버/펌웨어를 설치해야 합니다(아직 설치되지 않은 경우).
또한 USB 이더넷 장치와 WiFi 어댑터가 컴퓨터에 연결되어 있습니다.
USB 10/100mbps LAN 네트워크 인터페이스 [1] 논리적 이름은 enp42s0f3u6u3입니다. [2] . 보시다시피 Realtek r8152 칩셋(드라이버=r8152)을 사용합니다. [6] . 따라서 이 네트워크 인터페이스가 작동하도록 하려면 컴퓨터/서버에 Realtek r8152 드라이버/펌웨어를 설치해야 합니다(아직 설치되지 않은 경우).
WiFi 802.11n 네트워크 인터페이스[4]의 논리적 이름은 wlp42s0f3u1[5]입니다. 보시다시피 MediaTek mt7601u 칩셋(드라이버=mt7601u)을 사용합니다. [6] . 따라서 이 네트워크 인터페이스가 작동하도록 하려면 컴퓨터/서버에 MediaTek mt7601u 드라이버/펌웨어를 설치해야 합니다(아직 설치되지 않은 경우).
결론
이것은 lshw에 대한 광범위한 가이드입니다. 이 기사에서는 인기 있는 Linux 배포판(예: Ubuntu, Debian, Linux Mint, Kali Linux, Fedora, RHEL, AlmaLinux, Rocky Linux, CentOS Stream)에 lshw를 설치하는 방법을 설명했습니다. 또한 컴퓨터의 하드웨어를 나열하고, lshw의 출력을 필터링하여 특정 유형의 하드웨어를 표시하고, lshw 출력에서 민감한 하드웨어 정보를 숨기는 방법을 보여 주었습니다. PCIE 및 USB 장치의 숫자 ID를 표시하고 lshw 출력에서 휘발성 타임스탬프를 제거하는 방법을 보여주었습니다. 또한 lshw 하드웨어 정보를 SQLite 데이터베이스, HTML, XML 및 JSON 형식으로 내보내고 읽는 방법도 설명했습니다. 마지막으로 올바른 드라이버/펌웨어 설치에 도움이 되도록 컴퓨터에 설치된 GPU 및 네트워크 장치와 네트워크 장치가 lshw와 함께 사용하는 칩셋을 찾는 방법을 보여 주었습니다.