Linux에 Lshw를 설치하고 이를 사용하여 하드웨어 정보를 찾는 방법

Linuxe Lshwleul Seolchihago Ileul Sayonghayeo Hadeuweeo Jeongboleul Chajneun Bangbeob



Lshw는 컴퓨터/서버에 설치된 하드웨어에 대한 정보를 찾는 Linux 명령줄 도구입니다. Lshw는 마더보드/메인보드, CPU, 메모리, 디스크, PCIE, USB 및 기타 하드웨어 정보를 보고할 수 있습니다.

Lshw는 모든 Linux 배포판에서 사용할 수 있습니다. 따라서 동일한 도구를 사용하여 모든 Linux 배포판에서 필요한 하드웨어 정보를 찾을 수 있습니다.







이 기사에서는 널리 사용되는 Linux 배포판에 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 -짧은

컴퓨터/서버의 사용 가능한 모든 하드웨어가 좋은 형식으로 나열되어야 합니다.

여기에서 다음 정보를 찾을 수 있습니다.

  1. H/W 경로 : 컴퓨터/서버에 설치된 하드웨어의 물리적 경로입니다. 여기서 /0은 마더보드, /0/100은 프로세서(마더보드에 연결됨), /0/100/ 은 프로세서 레인에 연결된 하드웨어 등입니다.
  2. 장치 : 하드웨어의 커널 할당 이름/식별자입니다. 가장 일반적인 예는 enp38s0, enp39s0 등과 같은 네트워크 장치의 장치 이름/식별자입니다.
  3. 수업 : 귀하의 컴퓨터/서버의 모든 하드웨어는 특정 그룹/클래스에 속합니다. 예를 들어, 네트워크 장치는 네트워크 클래스로 그룹화되고, 저장 장치는 저장소 클래스로 그룹화됩니다. 하드웨어 클래스는 다음과 같이 사용될 수 있습니다. lshw의 출력 필터링 .
  4. 설명 : 해당 하드웨어에 대한 간략한 설명입니다.

하드웨어 경로(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와 함께 사용하는 칩셋을 찾는 방법을 보여 주었습니다.

참고자료: