লিনাক্স মেশিনে হার্ডওয়্যার সম্পর্কিত বিশদটি কীভাবে সন্ধান করবেন?


40

-ie - কীভাবে কমান্ড লাইনে হার্ডওয়্যার উপাদানগুলির সম্পূর্ণ তালিকা পাবেন (উইন্ডো সিস্টেম নেই এমন একটি মেশিনে)

ধন্যবাদ.

উত্তর:


41

lspciপিসি কার্ডের জন্য, ইউএসবির lsusbজন্য, lshwডেবিয়ান ভিত্তিক ডিস্ট্রোজে কাজ করে, অন্যান্য হার্ডওয়্যার স্পেস পাওয়ার উপায়গুলির একটি তালিকা এখানে রয়েছে ,


লিঙ্কের জন্য ধন্যবাদ। আমি স্বীকার করি যে আমি এটি গুগল করতে পারতাম, তবে গুগল একটি গণ্ডগোল মানুষ।
ইভজেনি

37

যদি পাওয়া যায় তবে dmidecodeকাজে আসে। বিশেষত ডেল, এইচপি, আইবিএম হার্ডওয়্যার, যেখানে তারা বিভিন্ন রেজিস্টারে প্রাসঙ্গিক হার্ডওয়্যার তথ্য প্রোগ্রাম করতে বিরক্ত করে।


7
dmidecode দুর্দান্ত। একদিন যখন আমি মেমরির বিশদটি দেখার জন্য এটি ব্যবহার করছিলাম তখন বুঝতে পেরেছিলাম আপনি ডেল পরিষেবা ট্যাগটিও খুঁজে পেতে পারেন: dmidecode | grep -i সিরিয়াল | egrep -o '[0-9A-Z] {7} $' | হেড -n1
কাইল ব্র্যান্ড্ট

1
সম্মত, আপনি dmidecode চালাতে পারেন এবং আপনার চান তথ্যের জন্য গ্রেপ করতে পারেন।
বারফুন

1
অ্যাপল হার্ডওয়ারে দুর্দান্ত কাজ করে।
Matt3o12

30

lspciসিস্টেম হার্ডওয়্যার তালিকার জন্য একটি দুর্দান্ত ইউটিলিটি। (পিসিআই বাসে যে কোনও কিছু হোক না কেন।)

cat /proc/cpuinfo - সিপিইউ তথ্য প্রদর্শন করে

cat /proc/meminfo - মেমরি তথ্য প্রদর্শন করে

dmesg(বা cat /var/log/dmesg) কিছু তথ্য রয়েছে, অগত্যা সব কিছু।

আপনার যদি রেডহ্যাট / সেন্টোস সিস্টেম থাকে তবে আপনি sosreportএকটি ভাল বিট সংগ্রহ করতে ব্যবহার করতে পারেন , যদিও এটির মধ্যে তালিকাভুক্ত সমস্ত হার্ডওয়্যার তথ্য আছে কিনা তা আমি জানি না।

আপনি যে তথ্যটি সন্ধান করছেন তা সন্ধান করার জন্য এগুলি কয়েকটি ভাল জায়গা।


3

/ Proc ফাইল সিস্টেম আপনাকে যে তথ্যটি চাইবে তা দেবে ... তবে আমি জানি না আপনি কীভাবে এটি পাবেন এটি একটি সহজ জায়গা।

'cat / proc / cpuinfo' আপনাকে আপনার সিপিইউ সম্পর্কে জানাবে 'ক্যাট / প্রোক / ডিভাইস' আপনাকে ব্লক ডিভাইস সম্পর্কে কিছু সীমিত তথ্য জানাবে। 'ifconfig -a' আপনাকে নেটওয়ার্ক সংযোগ সম্পর্কে জানাবে

অন্যরা আপনাকে আরও ডিভাইস সম্পর্কে বলতে সক্ষম হবে। আপনি কি কোনও নির্দিষ্ট ডিভাইস সমস্যা সমাধান করছেন? যদি তা হয় তবে আপনি একটি নির্দিষ্ট প্রশ্ন জিজ্ঞাসা করতে আরও ভাল সহায়তা পাবেন।


ধন্যবাদ না, আমি হোস্ট থেকে হোস্টে স্থানান্তরিত করার চেষ্টা করছি এবং সাধারণভাবে হার্ডওয়্যারে কী পার্থক্য রয়েছে তা দেখতে চাই - আমি পুনরায় ইমেজিংয়ের মাধ্যমে স্থানান্তর করতে পারি কিনা তা দেখতে।
ইভজেনি

1
বুট কাজের প্রাথমিক অংশগুলি যতক্ষণ না, বেশিরভাগ বিতরণ কেবল হার্ডওয়্যার পরিবর্তনগুলি সনাক্ত করতে পারে এবং মানিয়ে নিতে পারে। বুট অংশে আপনার যদি সমস্যা হয় তবে নতুন হার্ডওয়্যারে যেমন চালাচ্ছেন একই ডিস্ট্রিবিউশনটি ইনস্টল করুন, আপনি যেমন চালাচ্ছেন ঠিক একই কার্নেলটিতে আপডেট করুন এবং তারপরে ইমেজ ফাইল সিস্টেমে mkintrd ফাইলটি অনুলিপি করুন এবং এটি আপনার বুট সমস্যার সমাধান করা উচিত । যদি এটি সত্যিই ভুল হয়ে যায়, তবুও পুরানো মেশিনে আপনার সমস্ত ডেটা রয়েছে।
মাইকেল শ 18

যদি আপনার কাছে ইতিমধ্যে দ্বিতীয় মেশিনে লিনাক্স রয়েছে এবং এটি কাজ করে, কার্নেলটি একটি জেনেরিক বিল্ড এবং ঠিক সাম্প্রতিকরূপে ধরে নেওয়া, এটি সমস্ত মডিউলগুলি (উইন্ডো ড্রাইভারের সাথে মডিউলগুলির প্রয়োজন অনুসারে) একইভাবে লোড করবে। লিনাক্স ইনস্টলেশনগুলি আসলে সেইভাবে হার্ডওয়্যার নির্দিষ্ট নয়।
কাইল ব্র্যান্ড 18

/Boot/initrd-2.6.*.img ফাইলটি তেমন জেনেরিক নয়। এটি কার্নেল দ্বারা ব্যবহার করা হয় যখন গ্রাব দ্বারা এটি নিয়ন্ত্রণ করা হয়। আপনার রুট ফাইল সিস্টেমটি লোড করার জন্য এতে সমস্ত সেটিংস এবং মডিউল থাকা দরকার। এই ফাইলটি সাধারণভাবে তৈরি করা হচ্ছে মকিনিটার্ড চলমান, তবে আপনাকে প্রথমে সিস্টেমটি বুট করা দরকার ...
মাইকেল শ

2

inxi প্রায় সমস্ত কিছু দেখায়, সংক্ষিপ্ত ফর্মের জন্য কোনও যুক্তি ছাড়াই চলবে, বিকল্পগুলি অনেকগুলি হলেও এগুলি দেখতে ইনসি -h চালান

inxiপ্রকল্পের হোম পৃষ্ঠায় বর্ণিত একটি 'সম্পূর্ণ বৈশিষ্ট্যযুক্ত তথ্য স্ক্রিপ্ট': https://github.com/smxi/inxi

আপনি উবুন্টুতে এটি কীভাবে ইনস্টল করতে পারেন সে সম্পর্কে এখানে তথ্য দেওয়া হয়েছে: https://askubuntu.com/questions/284635/inxi-installation-on-ubuntu


ইনজি একটি অপেক্ষাকৃত নতুন সরঞ্জাম এবং এটি বেশিরভাগ বিতরণে আপনি পাবেন। আপনার আরও কিছু তথ্য এবং লিঙ্ক যুক্ত করা উচিত।
itbruce

1

এর সংক্ষিপ্তসার হিসাবে, আমি বলতে পারি যে এখানে আপনার সিস্টেম সম্পর্কে তথ্য পাওয়ার ভাল শুরু:

  1. dmesg - কার্নেল রিং বাফার মুদ্রণ করুন বা নিয়ন্ত্রণ করুন
  2. lspci - সমস্ত পিসিআই ডিভাইস তালিকাভুক্ত করুন
  3. lsusb - ইউএসবি ডিভাইস তালিকাভুক্ত করুন
  4. / proc - প্রক্রিয়া সম্পর্কিত তথ্য সিউডো-ফাইল সিস্টেম


1

আমি সত্যিই " ফ্যাক্টর " ব্যবহার করে উপভোগ করি । খুব দরকারী তথ্য একটি দুর্দান্ত তালিকা দেয়।



0

সবচেয়ে সহজ জিনিসটি হ'ল কমান্ড লাইনে " dmesg | more " টাইপ করা , যা আপনাকে শেষ সিস্টেম শুরুর সময় ঘটে যাওয়া সমস্ত বুট আউটপুট দেখতে দেয়।


0

হার্ড ডিস্কের জন্য আমি একটি কাস্টম স্ক্রিপ্ট ব্যবহার করি যা এর তালিকাতে আউটপুটগুলির একটি তালিকায় ম্যাসেজ করে:

cat /proc/partitions
cat /proc/mounts

parted -m /dev/sdX unit MB print # need to be root for parted
# or
parted -m -l unit MB print

blkid /dev/sdXN

0

কোডের নীচে আপনি vi ব্যবহার করে অনুলিপি করতে পারেন

#!/bin/bash

a=1; c=0
a=1; c=0
# Gather system information, can e.g. be sent to | mail in a cronjob
f_() { while read l; do echo $l; done < $f ; }
#
f_() { while read l; do echo $l; done < $f ; }
# TODO
# ----
# * Netstat output
# * Memory/swap information
# * ifconfig information
# * Make output dependent on argv
# * md5sum checks                               (done)
# * Keep previeous values and compare
# * How to
# * chmod a+x sysinfo.sh
# * ./sysinfo.sh
####################### DO NOT EDIT UNDER THIS LINE ###########################

siheader() {
        echo "================================================================"
        echo -e "* System statistics for: \t`hostname`.`dnsdomainname`"
        echo -e "* Generated on: \t\t`date`"
        echo -e "* Running as: \t\t\t`whoami`"
        echo
}

fuptime() {
        upSeconds=$(cat /proc/uptime | tr "." " " | awk '{print $1}')
        secs=$((${upSeconds}%60))
        mins=$((${upSeconds}/60%60))
        hours=$((${upSeconds}/3600/24))
        days=$((${upSeconds}/86400))
        if [ "${days}" -ne "0" ]
        then
                echo -n "${days} days, "
        fi
        echo "`printf '%02d' ${hours}`:`printf '%02d' ${mins}`:`printf '%02d' ${secs}`"
}

siuptime() {
        echo "=================== Uptime ====================================="
        echo -e "* Uptime: \t\t\t`fuptime`"
        if [ -x /usr/bin/uprecords ];
        then
                echo -e "* High score: \t\t\t`uprecords | tail -n1 | cut -d'|' -f1 | cut -d'n' -f3 | sed 's/^[[:blank:]]*//'`"
        fi
        echo -e "* Load average: \t\t`cat /proc/loadavg | head -c14`"
        echo
}

fw () {
        OFS=${IFS}
        IFS=$'\n'
        CNT=$(echo `w | wc -l`-1 | bc)

        w | tail -n ${CNT} | while read -r a;
        do
                echo -e "\t${a}"
        done

        IFS=${OFS}
}

siusers() {
        echo "=================== Users ======================================"
        echo -e "* Active users: \t\t`who | wc -l`"
        echo "* User information"
        fw
        echo
}

fpstree() {
        OFS=${IFS}
        IFS=$'\n'
        pstree | while read -r a;
        do
                echo -e "\t${a}"
        done
        IFS=${OFS}
}

fcomms() {
        ps -eo comm | sort | uniq | grep -v ^COMMAND | column
        echo

        IFS=${OFS}
}

fprocs() {
        echo `TERM=Linux top -n1 -b | grep "Tasks" | awk '{print $4,$6,$8,$10}'`
        echo -e "==================================Tasks process and memory utilization=============================\n"
    echo "`top -n1 -b`"
}


sitasks() {
        echo "=================== Tasks ======================================"
        echo -e "* Number of running tasks: \t$(echo `ps ax | wc -l` - 1 | bc)"
        #This screws up the email
        #echo "* PS Tree:"
        #fpstree
        echo "* Running programs:"
        fcomms
        echo -e "* CPU load: \t\t\t`TERM=linux top -n2 -b | grep 'Cpu' | tail -n1 | awk '{print $2+$4+$6}'`%"
        PROCS=`fprocs`
        echo "* Process state:"
        echo -e "\tRunning: \t\t`echo ${PROCS} | awk '{print $1}'`"
        echo -e "\tSleeping: \t\t`echo ${PROCS} | awk '{print $2}'`"
        echo -e "\tZombie: \t\t`echo ${PROCS} | awk '{print $3}'`"
        echo -e "\tStopped: \t\t`echo ${PROCS} | awk '{print $4}'`"
        echo
}

froute() {
        OFS=${IFS}
        IFS=$'\n'

        CNT=$(echo `/sbin/route | wc -l` - 1 | bc)
        /sbin/route | tail -n ${CNT} | while read -r a;
        do
                echo -e "\t${a}"
        done

        IFS=${OFS}
}

sinetwork() {
        echo "=================== Networking ================================"
        echo "* Routing table:"
        froute
        echo
}

simemory() {
        echo "=================== Memory ===================================="
        RAMTOTAL=`echo $(($(cat /proc/meminfo | grep MemTotal | awk '{print $2}')/1024))`
        echo "* Ram:\t\t\t free of ${RAMTOTAL}Mb"
}

sidiskstats() {
        echo "=================== Hard Disc ================================="
        echo "* Disk Information:"
        OFS=${IFS}
        IFS=$'\n'
        df -h | grep -v ^none | while read -r a;
        do
                echo -e "\t${a}"
        done
        IFS=${OFS}
        echo
        echo "* Mounts:"
        OFS=${IFS}
        IFS=$'\n'
        mount | while read -r a;
        do
                echo -e "\t${a}"
        done
        IFS=${OFS}
        echo
}

simd5() {
        if [ ! -e md5sums.lst ];
        then
                return
        fi

        echo "=================== MD5Sum Check =============================="

        OFS=${IFS}
        IFS=$'\n'

        echo "* Checking MD5 Sums"

        cat md5sums.lst | grep "^/" | while read -r a;
        do
                F=`echo ${a} | cut -d':' -f1`
                S=`echo ${a} | cut -d':' -f2`
                S2=`md5sum ${F} | cut -d' ' -f1`
                echo -n -e "\t${F}: \t\t\t\t"
                if [ "${S}" = "${S2}" ];
                then
                        echo "[OK]"
                else
                        echo "[INVALID]"
                fi                        
        done

        IFS=${OFS}
        echo
}


##For finding CPU model, cores and 
cpuinfo() {
    echo "=================== CPU Details for Xen =============================="
    echo -e "CPU Details: \n`cat /proc/cpuinfo | sed -n '1,/^$/p'`"
    echo -e "No of Cores: \n`cat /proc/cpuinfo | grep processor | wc -l`"
    if [ "egrep '(vmx|svm)' /proc/cpuinfo >/dev/null 2>/dev/null" ];
    then
        echo -e "\n===============================================================\nServer supports Full-virtualization"
    else
        echo -e "\n===============================================================\nEither server does not support Full-virtualization or it is turned off in BIOS"
    fi

    if [ "egrep 'pae' /proc/cpuinfo >/dev/null 2>/dev/null" ];
    then
        echo -e "\n===============================================================\nServer supports Para-virtualization"
    else
        echo -e "\n===============================================================\nServer does not support Para-virtualization"
    fi
}

##For disk info
diskinfo() {
        echo "=================== Disk usage =============================="
        echo -e "Disk Usage details: \n`df -h`"
}   
##Distro info
distroinfo() {
        echo "=================== Distro Info =============================="
        echo -e "Distro details: \n`lsb_release -a`"
        echo -e "Kernel details: \n`uname -a`"
}   

##Distro info
deviceinfo() {
        echo "=================== Device Info =============================="
        echo -e "Device details: \n`lspci -v`"
        echo -e "Kernel details: \n`uname -a`"
}   
summary() {
        siheader
        siuptime
        siusers
        sitasks
        sinetwork

        simemory
        sidiskstats
    fprocs
        simd5
    deviceinfo
    cpuinfo
    distroinfo
        echo "==============================================================="
        echo "* Brought to you by Taashee- http://www.taashee.com"
}

summary

আপনার কোডগুলি ব্লকের মধ্যে এটি তৈরি করা দরকার যাতে এটি ক্ষতিগ্রস্থ না দেখায়।
বিল ওয়েইস

ধন্যবাদ বিল দুঃখিত আপনাকে এই জাতীয় প্রশ্ন জিজ্ঞাসা করুন আমি কীভাবে করব যে পরের বারের মতো আমার ইংলিশটি উপেক্ষা করবেন
রজত

-1

একটি খুব পুরানো পোস্ট, কিন্তু আমি লক্ষ্য করেছি যে lshwউত্তরগুলি থেকে দুর্দান্তটি অনুপস্থিত।


আপনি সর্বোচ্চ ভোটের উত্তরে উল্লেখ করা বাদ দিয়ে বোঝাচ্ছেন?
মার্ক বুথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.