كيفية تثبيت Lshw على Linux واستخدامه للعثور على معلومات الأجهزة

Kyfyt Tthbyt Lshw Ly Linux Wastkhdamh Ll Thwr Ly M Lwmat Alajhzt



Lshw هي أداة سطر أوامر Linux للعثور على معلومات حول الأجهزة المثبتة لجهاز الكمبيوتر/الخادم الخاص بك. يمكن لـ Lshw الإبلاغ عن اللوحة الأم/اللوحة الرئيسية، ووحدة المعالجة المركزية، والذاكرة، والقرص، وPCIE، وUSB، ومعلومات الأجهزة الأخرى.

يتوفر Lshw في كل توزيعة Linux المتوفرة. لذلك، يمكنك استخدام نفس الأداة للعثور على معلومات الأجهزة المطلوبة في كل توزيعة Linux.







سنوضح لك في هذه المقالة كيفية تثبيت lshw على توزيعات Linux الشهيرة واستخدامه للعثور على معلومات الأجهزة.



موضوع المحتويات:

تثبيت Lshw على Ubuntu/Debian/Linux Mint/Kali Linux

يتوفر Lshw في مستودع الحزم الرسمي لـ Ubuntu/Debian/Linux Mint/Kali Linux. لذلك، يمكنك تثبيته بسهولة على جهاز الكمبيوتر/الخادم الخاص بك.



أولاً، قم بتحديث ذاكرة التخزين المؤقت لمستودع حزمة APT باستخدام الأمر التالي:





$ sudo تحديث مناسب



لتثبيت lshw، قم بتشغيل الأمر التالي:

$ sudo ملائم ثَبَّتَ إلخ

يجب تثبيت Lshw على نظام Ubuntu/Debian/Linux Mint/Kali Linux لديك.

تثبيت Lshw على Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream

يتوفر Lshw في مستودع الحزم الرسمي لـ Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream. لذلك، يمكنك تثبيته بسهولة على جهاز الكمبيوتر/الخادم الخاص بك.

أولاً، قم بتحديث ذاكرة التخزين المؤقت لمستودع حزمة DNF باستخدام الأمر التالي:

$ sudo dnf makecache

لتثبيت lshw، قم بتشغيل الأمر التالي:

$ sudo dnf ثَبَّتَ إلخ

لتأكيد التثبيت، اضغط على 'Y' ثم اضغط <أدخل> .

يجب تثبيت Lshw على نظام Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream الخاص بك.

سرد الأجهزة المتوفرة مع Lshw

يمكنك سرد جميع الأجهزة المتوفرة لجهاز الكمبيوتر/الخادم الخاص بك باستخدام lshw على النحو التالي:

$ sudo إلخ -قصير

يجب أن يتم إدراج جميع الأجهزة المتوفرة لجهاز الكمبيوتر/الخادم الخاص بك بتنسيق لطيف.

ستجد المعلومات التالية هنا:

  1. مسار الارتفاع/الارتفاع : هذا هو المسار الفعلي للجهاز المثبت على جهاز الكمبيوتر/الخادم الخاص بك. هنا، /0 هو اللوحة الأم، /0/100 هو المعالج (المتصل باللوحة الأم)، /0/100/ هو الجهاز المتصل بممرات المعالج، وهكذا.
  2. جهاز : هذا هو الاسم/المعرف المخصص لـ kernel للجهاز. المثال الأكثر شيوعًا هو اسم/معرف الجهاز الخاص بأجهزة الشبكة مثل enp38s0، وenp39s0، وما إلى ذلك.
  3. فصل : جميع أجهزة الكمبيوتر/الخادم الخاص بك تنتمي إلى مجموعة/فئة معينة. على سبيل المثال، يتم تجميع أجهزة الشبكة في فئة الشبكة، ويتم تجميع أجهزة التخزين في فئة التخزين، وما إلى ذلك. يمكن استخدام فئة الأجهزة ل تصفية إخراج lshw .
  4. وصف : إنه وصف موجز للأجهزة المعنية.

إذا كنت تريد رؤية معلومات الناقل الخاص بالجهاز بدلاً من مسار الجهاز (مسار H/W)، فقم بتشغيل الأمر lshw كما يلي:

$ sudo إلخ - معلومات العمل

كما ترون، يعرض العمود الأول الآن معلومات الناقل الخاص بالجهاز بدلاً من مسار الجهاز.

ستعرض معلومات الناقل الخاصة بالأجهزة المختلفة المعلومات بتنسيقات مختلفة:

  • وحدة المعالجة المركزية : سيكون معرف الناقل لوحدات المعالجة المركزية (CPU) في cpu@ , على سبيل المثال، وحدة المعالجة المركزية cpu@0 (معالج AMD Ryzen 9 3900X في حالتي) لها المعرف 0. في معظم أجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة، سيكون لديك معالج واحد فقط ومدخل واحد لوحدة المعالجة المركزية وهو 'cpu@0'.
  • أجهزة PCIE: سيكون معرف الناقل الخاص بأجهزة PCIE موجودًا في الملف pci@: :. يُطلق على رقم <الفتحة> أيضًا اسم رقم <الجهاز>. على سبيل المثال، يحتوي جهاز PCIE pci@0000:26:00.0 (جهاز شبكة جيجابت I211 في حالتنا) على المجال 0000، والناقل 26، والفتحة/الجهاز 00، والوظيفة 0. أرقام المعرفات سداسي عشري ومبطنة بالأصفار.
  • أجهزة SCSI : سيكون معرف الناقل لأجهزة تخزين SCSI موجودًا في ملف scsi@:. ., على سبيل المثال، scsi@1:0.0.0 هو جهاز تخزين SCSI/SATA يحتوي على وحدة التحكم 1، والهدف 0، والمعرف 0، وLun 0، ولا يحتوي على أقسام. إذا كان جهاز تخزين SCSI/SATA يحتوي على أقسام، فسيكون معرف الناقل هو scsi@1:0.0.0,1 للقسم الأول، scsi@1:0.0.0,2 للقسم الثاني، scsi@1:0.0.0 3 للقسم الثالث وهكذا.
  • جهاز USB:٪ s : سيكون معرف الناقل الخاص بأجهزة تخزين USB موجودًا في usb@<وحدة التحكم>:<الفتحة>. على سبيل المثال، usb@3:6.3 هو جهاز USB يحتوي على وحدة التحكم 3 والفتحة 6 والمعرف 3. usb@3:1 هو جهاز USB يحتوي على وحدة التحكم 3 والفتحة 1.

تصفية إخراج Lshw باستخدام فئة الأجهزة

يقوم Lshw بتعيين فئة لكل جهاز. يمكنك تصفية مخرجات الأمر 'lshw' لتضمين أنواع معينة فقط من الأجهزة التي تستخدم أسماء الفئات هذه.

فئات أجهزة lshw المتوفرة هي:

  • نظام : اللوحة الأم وأجهزة PnP الخاصة بالنظام.
  • كوبري : أجهزة الناقل الداخلي مثل PCIE والجسر المضيف وما إلى ذلك.
  • ذاكرة : أجهزة الذاكرة مثل BIOS وRAM وROM وذاكرة التخزين المؤقت لوحدة المعالجة المركزية والبرامج الثابتة وما إلى ذلك.
  • المعالج : معالجات جهاز الكمبيوتر الخاص بك ووحدات تحكم SCSI RAID.
  • عنوان : عناوين الذاكرة الخاصة بذاكرة القراءة فقط (ROM) الملحقة والفيديو.
  • تخزين : وحدة تحكم SCSI وIDE.
  • القرص : أجهزة تخزين الوصول العشوائي مثل HDD و SSD و NVME SSD و CD-ROM و DVD وما إلى ذلك.
  • مقدار : أقسام القرص/أجهزة التخزين الخاصة بك.
  • الشريط : أجهزة تخزين الوصول التسلسلي مثل DAT، DDS، إلخ.
  • حافلة : الناقل الذي يربط الجهاز مثل USB وSCSI وFireWire وما إلى ذلك.
  • شبكة : واجهات الشبكة مثل Ethernet و WiFi وما إلى ذلك.
  • عرض : أجهزة العرض مثل GPU الخاص بك.
  • مدخل : أجهزة الإدخال مثل لوحات المفاتيح، وأجهزة الماوس، ومنافذ HDMI/DP، ومنافذ الصوت عالية الدقة، وزر الطاقة، ومكبر صوت الكمبيوتر، وما إلى ذلك.
  • طابعة : أجهزة الطباعة أي الطابعة.
  • الوسائط المتعددة : أجهزة الصوت والفيديو مثل بطاقة الفيديو (GPU)، وبطاقة الصوت، وبطاقة إخراج التلفزيون، وما إلى ذلك.
  • تواصل : أجهزة الاتصال مثل البلوتوث.
  • قوة : مصادر الطاقة مثل مصدر الطاقة (PSU)، البطارية الداخلية، إلخ.
  • نوعي : الأجهزة التي لا يمكن تصنيفها.

لن يتم تثبيت كل فئة من الأجهزة على كافة أجهزة الكمبيوتر/الخوادم. لذلك، للعثور على فئات الأجهزة الموجودة في جهاز الكمبيوتر/الخادم الخاص بك، نوصيك بتشغيل الأمر 'lshw' مع الخيار '-short' أو '-businfo'.

$ sudo إلخ -قصير

$ sudo إلخ - معلومات العمل

لتصفية مخرجات الأمر 'lshw' لعرض الأنواع المحددة فقط من الأجهزة (أي أجهزة التخزين)، استخدم خيار '-class' كما يلي:

$ sudo إلخ - معلومات العمل -فصل القرص

أو

$ sudo إلخ -قصير -فصل القرص

كما ترون، أدرج lshw فقط أجهزة التخزين (2x500GB Samsung 860 EVO SATA SSDs) المثبتة على جهاز الكمبيوتر الخاص بنا.

يمكنك استخدام خيار '-class' عدة مرات لعرض أنواع متعددة من الأجهزة مرة واحدة باستخدام الأمر 'lshw'.

على سبيل المثال، لعرض أجهزة التخزين وكذلك أقسام القرص باستخدام الأمر 'lshw'، استخدم خيار '-class' مرتين كما يلي:

$ sudo إلخ - معلومات العمل -فصل القرص -فصل مقدار

أو

$ sudo إلخ -قصير -فصل القرص -فصل مقدار -فصل

كما ترى، فقد أدرجت lshw أجهزة التخزين بالإضافة إلى أقسام أجهزة التخزين تلك.

العثور على معلومات الأجهزة التفصيلية باستخدام Lshw

للعثور على معلومات تفصيلية عن أنواع معينة من الأجهزة (أي الشبكة)، قم بتشغيل lshw باستخدام خيار '-class' كما يلي:

$ sudo إلخ -فصل شبكة

كما ترون، تتم طباعة معلومات مفصلة للغاية عن جميع أجهزة الشبكة المثبتة على جهاز الكمبيوتر الخاص بنا.

إخفاء المعلومات الحساسة من مخرجات Lshw

افتراضيًا، يقوم الأمر 'lshw' بطباعة معلومات حساسة (أي عنوان MAC لأجهزة الشبكة) أثناء عرض معلومات الأجهزة التفصيلية. إذا كنت بحاجة إلى مشاركة معلومات الأجهزة مع أشخاص آخرين على الإنترنت للحصول على مساعدة في تثبيت برنامج التشغيل على سبيل المثال، فقد ترغب في إخفاء تلك المعلومات الحساسة من مخرجات lshw.

لإخفاء المعلومات الحساسة من معلومات الأجهزة التفصيلية، يمكنك استخدام خيار '-sanitize' الخاص بالأمر 'lshw' كما يلي:

$ sudo إلخ -عقم -فصل شبكة

كما ترون، تتم إزالة عناوين MAC وعناوين IP من أجهزة الشبكة.

عرض المعرفات الرقمية لأجهزة PCIe وUSB

افتراضيًا، لا يتم عرض المعرفات الرقمية لأجهزة PCIe وUSB في إخراج الأمر 'lshw'.

لعرض المعرفات الرقمية لأجهزة PCIe وUSB في مخرجات الأمر 'lshw'، استخدم الخيار '-numeric' كما يلي:

$ sudo إلخ -رقمي -فصل شبكة

أو

$ sudo إلخ -رقمي -فصل حافلة

كما ترون، يتم عرض المعرفات الرقمية لأجهزة USB في إخراج الأمر 'lshw'.

إزالة الطوابع الزمنية المتقلبة من مخرجات Lshw

افتراضيًا، يقوم lshw بطباعة الطوابع الزمنية المتغيرة (بيانات الوقت المتغيرة) لوحدات تخزين الأقراص والأجهزة الأخرى. إذا كنت لا تريد رؤية تلك الطوابع الزمنية، فقم بتشغيل الأمر 'lshw' مع خيار '-notime' كما يلي:

$ sudo إلخ -لا وقت -فصل مقدار

كما ترون، تتم إزالة بيانات الطابع الزمني المحملة من مخرجات lshw حيث يتم استخدام خيار '-notime'.

تصدير معلومات الأجهزة باستخدام Lshw

يمكنك تصدير معلومات أجهزة lshw بتنسيقات مختلفة. في وقت كتابة هذه السطور، يمكن لـ lshw تصدير معلومات الأجهزة بالتنسيقات التالية:

  • قاعدة بيانات SQLite
  • لغة البرمجة
  • XML
  • JSON

لتصدير معلومات جهاز lshw إلى ملف قاعدة بيانات SQLite، قم بتشغيل الأمر التالي:

$ sudo إلخ -أحمق ~ / بيانات / lshw.db &>/ ديف / باطل

كما ترون، تم إنشاء ملف قاعدة بيانات SQLite 'lshw.db'.

$ ليرة سورية -lh ~ / بيانات

يمكنك قراءة ملف قاعدة البيانات 'lshw.db' باستخدام SQLite وطباعة جميع جداول قاعدة البيانات كما يلي:

$ sudo سكليتي3 ~ / بيانات / lshw.db --خط '.الجداول'

يمكنك طباعة معلومات عن أجهزة الشبكة من الملف 'lshw.db' باستخدام أمر SQLite التالي:

$ sudo سكليتي3 ~ / بيانات / lshw.db --خط 'حدد * من العقد حيث الفئة مثل 'الشبكة''

لتصدير معلومات جهاز lshw إلى ملف HTML، قم بتشغيل الأمر التالي:

$ sudo إلخ -لغة البرمجة > ~ / بيانات / lshw.html

إذا كنت تريد تنظيف/إخفاء معلومات حساسة أيضًا، فقم بتشغيل أمر تصدير HTML lshw كما يلي:

$ sudo إلخ -عقم -لغة البرمجة > ~ / بيانات / lshw.html

كما ترون، يتم تصدير معلومات جهاز lshw إلى ملف HTML 'lshw.html'.

$ ليرة سورية -lh ~ / بيانات

يمكنك فتح الملف 'lshw.html' باستخدام متصفح الويب المفضل لديك.

$ فايرفوكس ~ / بيانات / lshw.html

قمنا بفتح ملف 'lshw.html' باستخدام متصفح الويب Mozilla Firefox ويتم عرض معلومات الأجهزة كما ترون في لقطة الشاشة التالية:

لتصدير معلومات جهاز lshw إلى ملف XML، قم بتشغيل الأمر التالي:

$ sudo إلخ -xml > ~ / بيانات / lshw.xml

إذا كنت تريد تنظيف/إخفاء معلومات حساسة أيضًا، فقم بتشغيل أمر تصدير XML lshw كما يلي:

$ sudo إلخ -عقم -xml > ~ / بيانات / lshw.xml

كما ترون، يتم تصدير معلومات جهاز lshw إلى ملف XML 'lshw.xml'.

$ ليرة سورية -lh ~ / بيانات

لقد فتحنا ملف 'lshw.xml' باستخدام محرر النصوص Vim ويتم عرض معلومات جهاز lshw بتنسيق XML كما ترون في لقطة الشاشة التالية:

$ لأن ~ / بيانات / lshw.xml

لتصدير معلومات جهاز lshw إلى ملف JSON، قم بتشغيل الأمر التالي:

$ sudo إلخ -json > ~ / بيانات / lshw.json

إذا كنت تريد تعقيم/إخفاء معلومات حساسة أيضًا، فقم بتشغيل أمر التصدير lshw JSON كما يلي:

$ sudo إلخ -عقم -json > ~ / بيانات / lshw.json

كما ترون، يتم تصدير معلومات جهاز lshw إلى ملف JSON 'lshw.json'.

$ ليرة سورية -lh ~ / بيانات

لقد فتحنا ملف 'lshw.json' باستخدام محرر النصوص Vim ويتم عرض معلومات جهاز lshw بتنسيق JSON كما ترون في لقطة الشاشة التالية:

$ لأن ~ / بيانات / lshw.json

ستعمل خيارات lshw -sanitize و-numeric و-notime مع تصديرات lshw HTML وXML وJSON، وليس لتصدير SQLite. لمزيد من المعلومات حول هذه الخيارات، اقرأ الأقسام السابقة من هذه المقالة.

المثال 1: العثور على وحدات معالجة الرسومات المثبتة لجهاز الكمبيوتر/الخادم الخاص بك باستخدام Lshw

بعد تثبيت نظام تشغيل جديد على جهاز الكمبيوتر/الخادم الخاص بك، أحد أهم الأشياء التي يجب عليك القيام بها هو العثور على GPU (بطاقة الرسومات/المعالج) التي قمت بتثبيتها على جهاز الكمبيوتر/الخادم الخاص بك وتثبيت برنامج التشغيل المناسب له.

يمكنك العثور على وحدات معالجة الرسومات التي قمت بتثبيتها على جهاز الكمبيوتر/الخادم الخاص بك باستخدام الأمر 'lshw' التالي:

$ sudo إلخ -فصل عرض

كما ترون، لدينا NVIDIA GeForce RTX 4070 مثبتًا على جهاز الكمبيوتر الخاص بنا [1] . إنه يستخدم برامج تشغيل NVIDIA الرسمية (كما قمنا بتثبيتها) [2] . إذا كان لديك NVIDIA GPU مثبتًا على جهاز الكمبيوتر/الخادم الخاص بك، ولكن لم يتم تثبيت برامج تشغيل NVIDIA الرسمية، فسترى 'driver=nouveau' بدلاً من ذلك. في هذه الحالة، سيتعين عليك تثبيت برامج تشغيل NVIDIA الرسمية على جهاز الكمبيوتر/الخادم الخاص بك لتتمكن من استخدام جميع الميزات والحصول على أفضل أداء من وحدة معالجة الرسومات الخاصة بك.

المثال 2: العثور على مجموعة الشرائح الخاصة بأجهزة/واجهات الشبكة باستخدام Lshw

يعد تثبيت برنامج تشغيل الشبكة الصحيح أيضًا جزءًا أساسيًا من تثبيت Linux الجديد. ما لم يتم تثبيت برامج تشغيل الشبكة الصحيحة، فقد لا تعمل أجهزة الشبكة الخاصة بك أو قد تعمل بوظائف محدودة (قد يؤدي ذلك إلى أداء ضعيف للغاية للشبكة). لتتمكن من تثبيت برامج تشغيل الشبكة الصحيحة، تحتاج إلى معرفة مجموعة شرائح أجهزة الشبكة لديك.

للعثور على مجموعة الشرائح والمعلومات الأخرى الموجودة على أجهزة الشبكة المثبتة على جهاز الكمبيوتر/الخادم الخاص بك، قم بتشغيل الأمر 'lshw' كما يلي:

$ sudo إلخ -فصل شبكة

كما ترون، لدينا جهازي إيثرنت مثبتين على جهاز الكمبيوتر الخاص بنا.

إحداها هي واجهة شبكة Intel I211 Gigabit [1] . أعطته نواة Linux اسمًا منطقيًا مثل enp38s0 [2] . كما ترون، فإنه يستخدم مجموعة شرائح Intel igb (driver=igb) [3] . لذلك، لتشغيل واجهة الشبكة هذه، يجب عليك تثبيت برنامج التشغيل/البرنامج الثابت Intel igb على جهاز الكمبيوتر/الخادم الخاص بك (إذا لم يكن مثبتًا بالفعل).

والآخر هو واجهة شبكة Realtek RTL8125 2.5GbE [4] . أعطته نواة Linux اسمًا منطقيًا مثل enp39s0 [5] . كما ترى، فهو يستخدم مجموعة شرائح Realtek r8169 (برنامج التشغيل=r8169) [6] . لذلك، لتشغيل واجهة الشبكة هذه، يجب عليك تثبيت برنامج التشغيل/البرنامج الثابت Realtek r8169 على جهاز الكمبيوتر/الخادم الخاص بك (إذا لم يكن مثبتًا بالفعل).

لدينا أيضًا جهاز USB إيثرنت ومحول WiFi متصل بجهاز الكمبيوتر الخاص بنا.

واجهة شبكة LAN USB 10/100 ميجابت في الثانية [1] له الاسم المنطقي، enp42s0f3u6u3 [2] . كما ترى، فهو يستخدم مجموعة شرائح Realtek r8152 (برنامج التشغيل=r8152) [6] . لذلك، لتشغيل واجهة الشبكة هذه، يجب عليك تثبيت برنامج التشغيل/البرنامج الثابت Realtek r8152 على جهاز الكمبيوتر/الخادم الخاص بك (إذا لم يكن مثبتًا بالفعل).

واجهة شبكة WiFi 802.11n[4] لها الاسم المنطقي وهو wlp42s0f3u1[5]. كما ترى، فهو يستخدم مجموعة شرائح MediaTek mt7601u (برنامج التشغيل=mt7601u) [6] . لذلك، لتشغيل واجهة الشبكة هذه، يجب عليك تثبيت برنامج التشغيل/البرنامج الثابت MediaTek mt7601u على جهاز الكمبيوتر/الخادم الخاص بك (إذا لم يكن مثبتًا بالفعل).

خاتمة

هذا دليل شامل عن lshw. في هذه المقالة، أوضحنا لك كيفية تثبيت lshw على توزيعات Linux الشائعة (مثل Ubuntu، وDebian، وLinux Mint، وKali Linux، وFedora، وRHEL، وAlmaLinux، وRocky Linux، وCentOS Stream). لقد أظهرنا لك أيضًا كيفية إدراج أجهزة الكمبيوتر الخاص بك، وتصفية مخرجات lshw لعرض أنواع معينة من الأجهزة، وإخفاء معلومات الأجهزة الحساسة من مخرجات lshw. لقد أظهرنا لك كيفية عرض المعرف الرقمي لأجهزة PCIE وUSB بالإضافة إلى إزالة الطوابع الزمنية المتقلبة من مخرجات lshw. لقد أوضحنا لك أيضًا كيفية تصدير معلومات أجهزة lshw في قاعدة بيانات SQLite وتنسيق HTML وXML وJSON وقراءتها. أخيرًا، أوضحنا لك كيفية العثور على وحدة معالجة الرسومات وأجهزة الشبكة التي قمت بتثبيتها على جهاز الكمبيوتر الخاص بك ومجموعة الشرائح التي تستخدمها أجهزة الشبكة مع lshw لمساعدتك في تثبيت برنامج التشغيل/البرنامج الثابت الصحيح.

مراجع: