مشخصات سخت افزار لینوکس

https://negarnovin.com/docs/generate-system-hardware-report-linux/ · آخرین به‌روزرسانی: · نویسنده: نگارنوین · سایت: نگارنوین · 13 دقیقه مطالعه

📌 خلاصه (TL;DR)

مشخصات سخت افزار لینوکس How to Generate System Hardware Report in Linux نحوه تولید گزارش سخت‌افزار سیستم در لینوکس System Hardware Linux

📊 حقایق کلیدی

URLhttps://negarnovin.com/docs/generate-system-hardware-report-linux/
تاریخ انتشار2025-12-06
آخرین به‌روزرسانی2025-12-06
نویسندهنگارنوین
ناشرنگارنوین
زبانفارسی (fa-IR)
تعداد کلمات2430
نوع صفحهبرگه

📄 محتوای کامل

نحوه تولید گزارش سخت‌ افزار سیستم در لینوکس گزارش‌های دقیق سخت‌افزار لینوکس را با استفاده از lshw، inxi، dmidecode، hwinfo تولید کنید، نتایج را تفسیر کنید و برای ممیزی یا عیب‌یابی، خروجی بگیرید.

درک پیکربندی سخت‌افزار سیستم برای توسعه‌دهندگان و مدیران سیستم ضروری است. چه در حال تأیید سازگاری سخت‌افزار، تشخیص مشکلات عملکرد یا برنامه‌ریزی برای ارتقاء باشید، لینوکس چندین ابزار داخلی برای بررسی و گزارش اطلاعات دقیق سخت‌افزار ارائه می‌دهد.

سرور مجازی برج میلاد

این مقاله نحوه استفاده از ابزارهای رایج لینوکس برای تولید گزارش‌های سخت‌افزار سیستم، تفسیر داده‌های جمع‌آوری‌شده و خروجی گرفتن از آن‌ها در قالب‌های مختلف برای مستندسازی یا عیب‌یابی را نشان می‌دهد.

نسخه پاسخ کوتاه

برای مشاهده سریع جزئیات سخت‌افزار سیستم خود بدون ایجاد گزارش‌های کامل، از این دستورات استفاده کنید:

# Concise hardware tree
$ sudo lshw -short

# Readable system summary (serials redacted)
$ sudo inxi -Fxz

# BIOS/system info from firmware
$ sudo dmidecode -t system

# Disks/partitions at a glance
$ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

# Compact, per-device summary from kernel probes
$ sudo hwinfo --short

نصب ابزارهای رایج برای تولید گزارش‌های سخت‌افزاری

لینوکس ابزارهای مختلفی برای جمع‌آوری اطلاعات دقیق سخت‌افزاری ارائه می‌دهد. اکثر توزیع‌ها برخی از آنها را به‌طور پیش‌فرض دارند، اما می‌توانید همه آنها را با استفاده از مدیر بسته خود نصب کنید.

روی دبیان و اوبونتو

لیست بسته‌ها را به‌روزرسانی کنید و ابزارهای مورد نیاز را نصب کنید.

consoleCopy
$ sudo apt update
$ sudo apt install -y lshw inxi dmidecode hwinfo

روی آلما لینوکس، راکی ​​لینوکس و RHEL

برای فعال کردن مخازن مورد نیاز و نصب ابزارها، این مراحل را دنبال کنید.

  1. مخزن PowerTools را فعال کنید. consoleCopy
    $ sudo dnf config-manager --set-enabled powertools
    • برای RHEL، نام مخزن متفاوت است. مخزن CodeReady Builder را فعال کنید. consoleCopy
      $ sudo dnf config-manager --set-enabled codeready-builder-for-rhel-$(rpm -E %rhel)-$(arch)-rpms
  2. وابستگی perl-JSON-XS را نصب کنید. consoleCopy
    $ sudo dnf install -y perl-JSON-XS
  3. ابزارهای گزارش‌دهی سخت‌افزار را نصب کنید. consoleCopy
    $ sudo dnf install -y lshw inxi dmidecode hwinfo

مرور کلی ابزارها

  • lshw: اطلاعات دقیقی در مورد تمام اجزای سخت‌افزاری، از جمله پردازنده، حافظه، فضای ذخیره‌سازی و دستگاه‌های شبکه نمایش می‌دهد.
  • inxi: یک نمای کلی از سیستم را به صورت خلاصه و قابل خواندن توسط انسان ارائه می‌دهد و در عین حال شناسه‌های حساس مانند شماره سریال‌ها را پنهان می‌کند.
  • dmidecode: اطلاعات سخت‌افزار و بایوس را مستقیماً از میان‌افزار سیستم (جداول DMI) بازیابی می‌کند.
  • hwinfo: داده‌های جامع در سطح دستگاه ارائه می‌دهد که برای تشخیص و تأیید درایور مفید است.

بررسی عمیق سخت‌ افزار سیستم: دستورات و مثال‌ ها

این بخش به بررسی دستوراتی می‌پردازد که به شما در تجزیه و تحلیل اجزای کلیدی سخت‌افزار، از جمله CPU، حافظه و داده‌های سطح میان‌افزار، کمک می‌کنند. از این ابزارها برای تأیید مشخصات، شناسایی گلوگاه‌های عملکرد یا تأیید تخصیص سخت‌افزار در محیط‌های مجازی استفاده کنید.

CPU

CPU (واحد پردازش مرکزی) جزء اصلی مسئول اجرای دستورالعمل‌ها است.

  • برای مشاهده معماری، مدل، تعداد هسته/رشته CPU و مجموعه دستورالعمل‌های موجود. consoleCopy
    $ lscpu

    خروجی:

    Architecture:             x86_64
      CPU op-mode(s):         32-bit, 64-bit
      Address sizes:          40 bits physical, 48 bits virtual
      Byte Order:             Little Endian
    CPU(s):                   4
      On-line CPU(s) list:    0-3
    Vendor ID:                GenuineIntel
      Model name:             Intel Xeon Processor (Skylake, IBRS)
    ......

    ابزار lscpu داده‌ها را از /proc/cpuinfo و میان‌افزار سیستم جمع‌آوری می‌کند. فیلدهای کلیدی عبارتند از:

    • Architecture: مشخص می‌کند که آیا سیستم از مجموعه دستورالعمل‌های ۳۲ بیتی، ۶۴ بیتی یا هر دو پشتیبانی می‌کند.
    • CPU(s): کل هسته‌های منطقی موجود را نشان می‌دهد
    • Model name and vendor ID: برای شناسایی پردازنده‌های مجازی در محیط‌های ابری مفید است

Memory (RAM)

پیکربندی رم سیستم بر عملکرد کلی و پاسخگویی برنامه تأثیر می‌گذارد. می‌توانید با استفاده از دستورات زیر، میزان استفاده را به صورت زنده رصد کرده و ماژول‌های حافظه فیزیکی را بررسی کنید.

  • مشاهده میزان استفاده از حافظه و میزان استفاده از swap به صورت بلادرنگ. consoleCopy
    $ free -h

    خروجی:

                   total        used        free      shared  buff/cache   available
    Mem:           7.7Gi       459Mi       6.2Gi       1.3Mi       1.3Gi       7.3Gi
    Swap:          8.0Gi          0B       8.0Gi

    دستور free آمار حافظه را در قالبی قابل خواندن توسط انسان نمایش می‌دهد. فیلد “available” کل حافظه‌ای را که برنامه‌ها می‌توانند بدون swap کردن استفاده کنند، نشان می‌دهد.

  • اطلاعات دقیق در مورد DIMM های نصب شده را از سیستم عامل سیستم بازیابی کنید. consoleCopy
    $ sudo dmidecode -t memory

    خروجی:

    # dmidecode 3.5
    Getting SMBIOS data from sysfs.
    SMBIOS 3.0.0 present.
    
    Handle 0x1000, DMI type 16, 23 bytes
    Physical Memory Array
            Use: System Memory
            Maximum Capacity: 8 GB
            Number Of Devices: 1
    
    Handle 0x1100, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x1000
            Size: 8 GB
            Type: RAM

    دستور dmidecode داده‌های سطح میان‌افزار (جداول DMI) را که شامل اطلاعات اسلات، حداکثر ظرفیت و جزئیات سازنده است، استخراج می‌کند. این برای تأیید طرح‌بندی فیزیکی حافظه یا شناسایی ماژول‌های معیوب مفید است.

دیسک‌ها و سیستم‌های فایل

دستگاه‌های ذخیره‌سازی و سیستم‌های فایل نصب‌شده، نحوه ساختاردهی و دسترسی به داده‌ها در یک سیستم لینوکس را تعریف می‌کنند. از این دستورات برای فهرست کردن دیسک‌ها، پارتیشن‌ها و نقاط نصب موجود استفاده کنید.

  • تمام دستگاه‌های بلوک را به همراه اندازه، نوع، فرمت سیستم فایل و محل اتصال آنها فهرست کنید. consoleCopy
    $ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

    خروجی:

    NAME     SIZE TYPE FSTYPE MOUNTPOIN
    sr0     1024M rom
    vda      160G disk
    ├─vda1   512M part vfat   /boot/efi
    └─vda2 159.5G part ext4   /

    دستور lsblk دستگاه‌های بلوکی مانند دیسک‌ها، پارتیشن‌ها و ولوم‌های مجازی را نمایش می‌دهد. فیلدهای کلیدی عبارتند از:

    • TYPE: مشخص می‌کند که آیا یک دستگاه، دیسک فیزیکی، پارتیشن یا بلوک مجازی است.
    • FSTYPE: نوع سیستم فایل (مثلاً ext4، xfs، vfat) را نشان می‌دهد.
    • MOUNTPOINT: نشان می‌دهد که هر پارتیشن در درخت دایرکتوری کجا مانت شده است.

    شما می‌توانید پارامتر -f را به دستور lsblk اضافه کنید تا UUIDها و برچسب‌های سیستم فایل را نمایش دهید.

  • نمایش سیستم فایل‌های نصب‌شده و آمار استفاده بر اساس نوع. consoleCopy
    $ df -hT

    خروجی:

    Filesystem     Type      Size  Used Avail Use% Mounted on
    efivarfs       efivarfs  256K   19K  233K   8% /sys/firmware/efi/efivars
    /dev/vda2      ext4      328G   16G  298G   6% /
    /dev/vda1      vfat      511M  6.2M  505M   2% /boot/efi

    دستور df میزان استفاده از فضای دیسک را برای همه سیستم فایل های نصب شده گزارش می دهد.

    گزینه‌های کلیدی:

    • -h: اندازه‌ها را با فرمتی قابل خواندن توسط انسان (مثلاً MiB، GiB) نمایش می‌دهد.
    • -T: نوع سیستم فایل را در خروجی وارد می‌کند.

سرور مجازی آلمان

شبکه

تشخیص شبکه برای تأیید پیکربندی رابط، سازگاری درایور و آدرس‌دهی IP ضروری است. از دستورات زیر برای بررسی جزئیات منطقی و سخت‌افزاری استفاده کنید.

  • تمام رابط‌های شبکه را با آدرس‌های IP اختصاص داده شده فهرست کنید. consoleCopy
    $ ip -br addr

    خروجی:

    lo        UNKNOWN    127.0.0.1/8 ::1/128
    enp1s0    UP         192.2.0.56/23 2001:db8::5400:5ff:feb2:2f70/64

    در دستور بالا:

    • ip: رابط‌های شبکه، مسیرها و آدرس‌ها را نمایش داده و دستکاری می‌کند.
    • -br: حالت مختصر را فعال می‌کند و خروجی فشرده و رنگی را نشان می‌دهد.
    • addr: اطلاعات آدرس IP را برای هر رابط فهرست می‌کند.
  • نمایش جزئیات سطح سخت‌افزاری برای رابط‌های شبکه. consoleCopy
    $ sudo lshw -class network

    خروجی:

      *-network                 
           description: Ethernet controller
           product: Virtio 1.0 network device
           vendor: Red Hat, Inc.
           ......
           capabilities: msix pm pciexpress bus_master cap_list fb
           configuration: depth=32 driver=virtio-pci latency=0 mode=1280x800 visual=truecolor xres=1280 yres=800
           resources: iomemory:80-7f irq:22 memory:85200000-85200fff memory:800000000-800003fff
         *-virtio0
              description: Ethernet interface
              ......
              serial: 56:00:05:ba:75:dd
              configuration: autonegotiation=off broadcast=yes driver=virtio_net driverversion=1.0.0 ip=155.138.194.201 link=yes multicast=yes

    در دستور بالا:

    • lshw: اطلاعات دقیق سخت‌افزار را فهرست می‌کند.
    • -class network: خروجی را فیلتر می‌کند تا فقط دستگاه‌های مرتبط با شبکه را نشان دهد

خلاصه‌ های کل سیستم

این ابزارها، نمای کلی از پیکربندی سخت‌افزاری کل سیستم، از پردازنده و حافظه گرفته تا فضای ذخیره‌سازی، شبکه و حسگرها را ارائه می‌دهند. آن‌ها به‌ویژه برای ممیزی‌ها، مستندسازی یا عیب‌یابی محیط‌های ناآشنا مفید هستند.

  • خلاصه سیستم قابل خواندن و ویرایش شده. consoleCopy
    $ inxi -Fxz

    خروجی:

    System:
      Kernel: 6.8.0-79-generic arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
      Console: pty pts/4 Distro: Ubuntu 24.04.3 LTS (Noble Numbat)
    Machine:
      Type: Microsoft System: Negarnovin product: VHP v: pc-q35-8.2 serial: <superuser required>
      Mobo: N/A model: N/A serial: N/A UEFI: Negarnovin v: N/A date: N/A
    CPU:
      Info: quad core model: Intel Xeon (Cascadelake) bits: 64 type: MT MCP arch: Cascade Lake rev: 6
        cache: L1: 512 KiB L2: 16 MiB L3: 16 MiB
      Speed (MHz): avg: 2993 min/max: N/A cores: 1: 2993 2: 2993 3: 2993 4: 2993 5: 2993 6: 2993
        7: 2993 8: 2993 bogomips: 47887
    ......

    در دستور بالا:

    • inxi: یک گزارش سیستمی جامع اما قابل خواندن توسط انسان تولید می‌کند.
    • -F: نمایش اطلاعات کامل سیستم (پردازنده، حافظه، دیسک‌ها، شبکه و غیره).
    • -x: جزئیات اضافی مانند نسخه‌های کرنل و درایور را اضافه می‌کند.
    • -z: اطلاعات حساس (شماره سریال، MAC و غیره) را برای اشتراک‌گذاری ایمن، ویرایش می‌کند.
  • مشاهده درخت سخت‌افزار (جزئیات کامل سیستم). consoleCopy
    $ sudo lshw

    خروجی:

    demo-server      
        description: Computer
        product: VHP
        vendor: Negarnovin
        version: pc-q35-8.2
        serial: 89766525
        width: 64 bits
        capabilities: smbios-3.0.0 dmi-3.0.0 smp vsyscall32

    در دستور بالا:

    • sudo: دسترسی به داده‌های محدود سیستم عامل و سیستم را تضمین می‌کند.
    • lshw: یک نمای سلسله مراتبی و دقیق از تمام سخت‌افزارهای شناسایی شده ایجاد می‌کند.
  • تصویر لحظه‌ای فشرده و سطح بالا از اجزای سخت‌افزاری. consoleCopy
    $ sudo hwinfo --short

    در دستور بالا:

    • hwinfo: اجزای سخت‌افزاری سیستم را بررسی و فهرست می‌کند.
    • --short: خروجی را به خطوط مختصر و متناسب با هر دستگاه خلاصه می‌کند.

خروجی گرفتن از گزارش‌های سخت‌افزاری

در این بخش، شما گزارش‌های جامع سخت‌افزاری را در سیستم لینوکس خود ایجاد می‌کنید. این اسکریپت با استفاده از ابزارهایی مانند lshw lshw, inxi, dmidecode, و hwinfo، جمع‌آوری داده‌ها را خودکار می‌کند و سپس خروجی را در یک دایرکتوری با مهر زمانی ذخیره می‌کند. این اسکریپت جزئیات سیستم مانند نام میزبان، نسخه هسته، سیستم عامل، اطلاعات CPU، میزان استفاده از حافظه و پیکربندی شبکه را ثبت می‌کند. گزارش‌های حاصل، نمای کلی کاملی از سخت‌افزار شما را برای اهداف حسابرسی یا عیب‌یابی ارائه می‌دهند.

  1. یک فایل اسکریپت پوسته جدید ایجاد کنید. consoleCopy
    $ nano generate-hw-reports.sh
  2. اسکریپت زیر را به فایل اضافه کنید. این اسکریپت اطلاعات دقیق سخت‌افزاری را جمع‌آوری می‌کند، گزارش‌ها را سازماندهی می‌کند و آنها را در یک بایگانی فشرده می‌کند. bashCopy
    #!/usr/bin/env bash
    set -euo pipefail
    
    TS=$(date +"%Y-%m-%dT%H-%M-%S")
    HOSTNAME=$(hostname)
    REPORT_DIR="hwreports-${HOSTNAME}-${TS}"
    
    echo "==> Creating report directory: ${REPORT_DIR}"
    mkdir -p "${REPORT_DIR}"
    
    echo "==> Capturing basic system and network information"
    ip route show > "${REPORT_DIR}/routes.txt"
    cat /etc/resolv.conf > "${REPORT_DIR}/dns-config.txt"
    sudo dmidecode -t bios > "${REPORT_DIR}/bios-info.txt"
    uname -a > "${REPORT_DIR}/kernel.txt"
    lsb_release -a > "${REPORT_DIR}/os-release.txt" 2>/dev/null || cat /etc/os-release > "${REPORT_DIR}/os-release.txt"
    sudo dmidecode -t chassis > "${REPORT_DIR}/chassis.txt"
    
    {
    echo "System Hardware Report"
    echo "======================="
    echo "Host: ${HOSTNAME}"
    echo "Generated on: ${TS}"
    echo
    echo "Files included:"
    find "${REPORT_DIR}" -type f | sed 's|^|  - |'
    } > "${REPORT_DIR}/INDEX.txt"
    
    cat <<EOF > "${REPORT_DIR}/metadata.json"
    {
    "hostname": "${HOSTNAME}",
    "timestamp": "${TS}",
    "kernel": "$(uname -r)",
    "os": "$(grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"')",
    "cpu_count": "$(nproc)",
    "cpu_model": "$(lscpu | awk -F: '/Model name/ {print $2}' | xargs)",
    "total_memory": "$(free -h | awk '/Mem:/ {print $2}')"
    }
    EOF
    
    echo "==> Generating human-readable summary (inxi)"
    inxi -Fxz > "${REPORT_DIR}/system-summary.txt"
    
    echo "==> Generating hardware tree reports (lshw)"
    sudo lshw -sanitize > "${REPORT_DIR}/lshw.txt"
    sudo lshw -sanitize -html > "${REPORT_DIR}/lshw.html"
    sudo lshw -sanitize -json > "${REPORT_DIR}/lshw.json"
    
    echo "==> Dumping firmware/DMI data (dmidecode)"
    sudo dmidecode > "${REPORT_DIR}/dmidecode.txt"
    
    echo "==> Capturing component-specific snapshots"
    lscpu > "${REPORT_DIR}/cpu.txt"
    free -h > "${REPORT_DIR}/memory-usage.txt"
    lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT > "${REPORT_DIR}/disks.txt"
    ip -br addr > "${REPORT_DIR}/net-addr.txt"
    
    echo "==> Generating full hwinfo report (large)"
    sudo hwinfo --all > "${REPORT_DIR}/hwinfo-full.txt"
    sudo hwinfo --short > "${REPORT_DIR}/hwinfo-short.txt"
    
    echo "==> Compressing reports into archive"
    tar -czf "${REPORT_DIR}.tar.gz" "${REPORT_DIR}/"
    
    echo "==> Done! Archive: ${REPORT_DIR}.tar.gz"
    echo "    To extract: tar -xzf ${REPORT_DIR}.tar.gz"

    فایل را ذخیره کنید و ببندید.

  3. مجوزهای اجرا را به اسکریپت اعطا کنید. consoleCopy
    $ chmod +x generate-hw-reports.sh
  4. اسکریپت را اجرا کنید تا گزارش‌های سخت‌افزاری تولید شود. consoleCopy
    $ ./generate-hw-reports.sh

    خروجی:

    ==> Creating report directory: hwreports-K8s-Cluster-Master--01-2025-10-28T18-06-29
    ==> Capturing basic system and network information
    ==> Generating human-readable summary (inxi)

    این اسکریپت یک دایرکتوری با مهر زمانی ایجاد می‌کند که شامل تمام گزارش‌های سخت‌افزاری است، سپس آن را برای پشتیبان‌گیری یا اشتراک‌گذاری آسان، در یک بایگانی .tar.gz فشرده می‌کند.

    مهم

    این اسکریپت از -sanitize(برای lshw) و -z (برای inxi) برای حذف شماره سریال‌ها و آدرس‌های MAC از خروجی استفاده می‌کند. اگر محیط شما با شناسه‌های دستگاه یا نام‌های میزبان به عنوان داده‌های حساس رفتار می‌کند، قبل از اشتراک‌گذاری فایل‌های تولید شده، آنها را بررسی کنید.

نتیجه‌ گیری

در این مقاله، شما با استفاده از ابزارهای داخلی لینوکس، گزارش‌های کاملی از سخت‌افزار ایجاد کردید. ابزارهایی مانند lshw, inxi, و dmidecode در کنار دستوراتی مانندlscpu, free, lsblk, و ip به شما کمک می‌کنند تا اطلاعات CPU، حافظه، ذخیره‌سازی و شبکه را به طور کارآمد مستند کنید. بایگانی این گزارش‌ها، آمادگی حسابرسی، عیب‌یابی و مستندسازی سیستم را بهبود می‌بخشد.

🏷️ کلمات کلیدی

مشخصات سخت افزار لینوکس، نحوه تولید گزارش سخت‌ افزار سیستم در لینوکس، نسخه پاسخ کوتاه، نصب ابزارهای رایج برای تولید گزارش‌های سخت‌افزاری، خرید مشخصات سخت افزار لینوکس، قیمت مشخصات سخت افزار لینوکس، بهترین مشخصات سخت افزار لینوکس

🧩 JSON-LD

{"@context":"https://schema.org","@type":"WebPage","headline":"مشخصات سخت افزار لینوکس","url":"https://negarnovin.com/docs/generate-system-hardware-report-linux/","datePublished":"2025-12-06T09:19:42+03:30","dateModified":"2025-12-06T09:19:42+03:30","author":{"@type":"Person","name":"نگارنوین"},"publisher":{"@type":"Organization","name":"نگارنوین"},"inLanguage":"fa-IR","description":"مشخصات سخت افزار لینوکس How to Generate System Hardware Report in Linux نحوه تولید گزارش سخت‌افزار سیستم در لینوکس System Hardware Linux"}