گردآوری اطلاعات رایانه در گنو/لینوکس

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

این دستورات در توزیع اوبونتو ۱۴٫۰۴ [همچنین در آرچ‌لینوکس و فدورا ۲۲ توسط مترجم] آزمایش شده است. با وجود این، دستورات نوشته شده در توزیع‌های دیگر  مانند دبیان، فدورا و … نیز به خوبی کار می‌کنند.

۱) نمایش نام رایانه در خط فرمان

$ hostname
$ cat /etc/hostname
server1

۲)  نمایش نام دامنه رایانه در DNS

$ dnsdomainname
cyberciti.biz

۳) نمایش نام دامنه به شکل کامل «FQDN»

$ hostname -f
server1.cyberciti.biz

۴) اطلاعات سریال، برند و کارخانه تولیدکننده

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

$ sudo dmidecode -s system-serial-number
$ sudo dmidecode -s system-manufacturer
$ sudo dmidecode -s system-product-name
$ sudo dmidecode | more

دستور مشابه با دستورات بالا:

# lshw | more
$ sudo lshw -short

۵)  اطلاعات کامل سخت‌افزارهای متصل به رایانه

$ sudo lsdev

۶)  اطلاعات پردازنده

$ cat /proc/cpuinfo

یا دستور زیر:

$ lscpu

۷)  فهرستی از پردازش‌های انجام شده به صورت آماری

$ sudo mpstat
$ sudo mpstat 1
$ sudo mpstat -A

۸) نمایش اطلاعات حافظه اصلی

اطلاعات آماری از مقدار حافظه استفاده شده و یا کش و … با دستور زیر نمایش داده می‌شوند.

$ less /proc/meminfo

اطلاعات مختلف از فضای باقیمانده در  حافظه اصلی با  استفاده از دستورات زیر به دست خواهد آمد.

free
## فضای باقیمانده به مگابایت ##
free -m
 
## فضای باقی مانده به گیگابایت ##
free -g
 
## فضای باقی مانده به ترابایت ##
free --tera
 
## خروجی مناسب برای انسان ##
free -h

اطلاعات فضای سوآپ «Swap»  با دستورات زیر به دست می‌آید.

$ swapon -s
$ cat /proc/swaps
$ cat /proc/meminfo
$ top
$ vmstat
$ for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
$ smem

یا اطلاعات حافظه مجازی در گنو/لینوکس به این شکل به دست می‌آید.

$ sudo vmstat
$ sudo vmstat 1
$ sudo vmstat 2

۹) اطلاعات توزیع و لینوکس

نمایش نسخه جاری توزیع از طریق خط فرمان با دستور زیر قابل انجام است.

$ lsb_release -a

نسخه هسته مورد استفاده در توزیع شما با این دستور معلوم می‌شود.

$ uname -r

اطلاعات کامل از لینوکس به‌همراه نام و …

$ uname -a

آرگومان‌ها و پارامترهای هسته توسط دستورات زیر نمایش داده می‌شوند.

$ cat /proc/cmdline
$ sysctl -a | more

۱۰) معماری پردازنده

معماری پردازنده از طریق دستورات زیر مشخص خواهد شد.

$ uname -m
$ getconf LONG_BIT
$ arch

۱۱) نمایش اطلاعات دیسک‌سخت

# fdisk -l | grep '^Disk /dev'

۱۲) قرار دادن نام و یا برچسب برای یک پارتیشن

برای نام‌گذاری با استفاده از دستورات زیر قابل انجام است؛ نام پارتیشن در سیستم‌های گوناگون ممکن است فرق داشته باشد.

$ sudo fdisk /dev/sda
$ sudo e2label /dev/sda1
$ sudo cfdisk /dev/sda

۱۳) نمایش فهرست پارتیشن‌های متصل  «Mount» شده

# blkid

۱۴) فهرست پارتیشن‌ها به صورت دیگر

# lsblk

۱۵) اطلاعاتی از فضای دیسک

$ df
$ df -H
$ df -HT

محاسبه فضای مورد استفاده توسط پرونده‌ها

$ du
$ du /home

اطلاعات سیستم‌فایل‌های متصل

$ cat /proc/mount
$ mount

۱۶) نمایش اطلاعات ابزار SCSI

$ lsscsi

۱۷) آمار عملیات ورودی / خروجی

$ sudo iostat
$ sudo iostat 2

۱۸) نمایش فهرستی از ابزار متصل به PCI

$ lspci
$ lspci -vt
$ lspci | grep -i 'something'
$ lspci -vvvn| less

۱۹) ابزار متصل به USB

$ lsusb
$ lsusb -vt

۲۰) اطلاعات سامانه بی‌سیم و ابزار مرتبط

$ iwconfig
$ watch -n 1 cat /proc/net/wireless
$ wavemon

۲۱)  اطلاعات کرات گرافیک

$ lspci | grep -i vga
$ lspci -vvnn | grep VGA

یا

$ sudo lshw -class display

کارت گرافیک انویدیا

$ nvidia-smi

یا

$ nvidia-settings

کارت گرافیک ای‌ام‌دی «AMD» / ای‌تی‌آی «ATI»

$ fglrxinfo

۲۲) اطلاع از نسخه یونیتی

$ unity --version

۲۳) اطلاعات انرژی و باتری

$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
$ acpi -V

۲۴) زمان بالا بودن و اجرای سیستم‌عامل

$ uptime
$ who
$ w

۲۵) اطلاعاتی از خاموش یا روشن شدن رایانه

$ last reboot
$ last shutdown

نمایش «runlevel»

$ runlevel
$ who -r

۲۶) نمایش زمان بالا آمدن هسته

 $ sudo less /var/log/dmesg
$ sudo grep 'regx' /var/log/dmesg
$ sudo grep '[h|s]d' /var/log/dmesg

۲۷) نمایش اطلاعات راه‌انداز‌ها

$ sudo lsmod
$ sudo modinfo {driver_name} 
$ sudo modinfo kvm

۲۸) نمایش اطلاعات آدرس آی‌پی «IP» و…

## Info about all interfaces. Must be run as root via sudo command ##
sudo ip a
sudo ip
sudo ip link ls up
sudo ifconfig -a
 
## Only show eth1 interface info ##
sudo ip a show eth0
sudo ifconfig eth0

۲۹) اطلاعات جدول و سامانه مسیریابی

## You can use any one of the following command ##
## Must be run as root ##
sudo ip r
sudo route -n
sudo netstat -nr

۳۰) اطلاعات کامل اترنت

$ sudo brctl show
$ sudo bridge link

۳۱) اطلاعات کامل از DNS

 # cat /etc/resolv.conf
# cat /etc/host.conf

۳۲) اطلاعاتی از سوکت‌ها و درگاه‌ها

## Must run as root via sudo ##
sudo ss
## Display all listing ports ##
sudo ss -l
sudo netstat -tulpn
sudo netstat -tulpn | grep LISTEN
 
## Display all TCP sockets
sudo ss -t -a
 
## Display all UDP sockets.
sudo ss -u -a
 
## List all open files
lsof | more
lsof | grep something
lsof /dev/sda2
lsof /path/to/file

۳۳) خدمات و سرویس‌ها در حال اجرا

### SYS V ### $ sudo service --status-all
OR
## UPSTART ## $ sudo initctl list

بررسی فعال بودن یک سرویس

## UPSTART ##
$ sudo initctl status service-name
$ sudo initctl status smbd
یا در سیس‌وی
## SYS V
$ sudo service serviceName status
$ sudo service nginx status

۳۴) نمایش لاگ‌

$ cd /var/log
$ ls -l
$ tail -f /var/log/fileName
$ grep 'something' /var/log/fileNameHere

۲۵) یافتن پرونده با نام

$ locate fileName
$ locate htpasswd
$ locate passwd
$ locate my.resume.doc

یافتن فایل با اعمال شرط

$ find {/dir/to/search} -name {file-to-search} -print
$ find /etc/ -name /etc/passwd -print
$ find $HOME -name '*.doc' -print

۳۶) اطلاعات حساب کاربری

$ less /etc/passwd
$ grep userName /etc/passwd
$ getent passwd

۳۷) اطلاعات گروه‌های کاربری

$ less /etc/group
$ getent group
$ grep group-name /etc/group
$ groups userName

۳۸) اطلاعات گذرواژه و امنیت

$ chage -l userName
$ chage -l root
$ chage -l vivek

۳۹) مقدار استفاده شده از منابع سیستم

$ sudo top
$ sudo htop
$ sudo atop
$ sudo ps auxwww
$ sudo netstat [options]
$ sudo iostat
$ sudo mpstat 1
$ sudo sar [options]

۴۰) فراخوان‌های سیستمی

$ strace -o output.txt /bin/foo
$ strace -p 22254 -s 80 -o debug.nginx.txt

۴۱) فراخوان‌های کتابخانه‌ای

$ sudo ltrace /usr/sbin/httpd
$ sudo ltrace /sbin/chroot /usr/sbin/httpd

۴۲) اطلاعات فرآیند‌ها

$ sudo pstree
$ sudo pstree | less
$ sudo ps auxwwwm
$ ps alxwww
$ ps auxwww
$ lsof -b M -n -l

۴۳) تغییر اولویت یک فرآیند برای پردازش در پردازنده

$ sudo /bin/nice -n -1 command-name-here
$ sudo /bin/nice -n -1 pid
$ sudo renice {priority} pid

۴۴) نمایش فرآیندهای در حال اجرا در پردازنده

$ sudo taskset -p {pid-here}
$ sudo taskset -p 42

۴۵) نمایش تمامی بسته‌های نرم‌افزاری نصب شده

$ dpkg -l
$ dpkg -l | less
$ dpkg -l nginx

۴۶) نمایش وصله‌های امنیتی نصب شده

$ sudo apt-show-versions -a | grep -i "security"

۴۷) نمایش کتابخانه‌های مورد نیاز برای اجرای فایل‌های اجرایی

$ ldd file

۴۸) پیدا کردن بسته‌ٔ نرم‌افزاری به وسیله پرونده‌ای که با آن تعلق دارد

$ dpkg -S /path/to/file
$ dpkg -S /bin/ls

۴۹) ایجاد یک نسخه پشتیبان از فهرست موارد نصب شده

برای ایجاد فهرستی پشتیبان از نرم‌افزارهای نصب شده در سیستم در توزیع‌های مبتنی بر دبیان و اوبونتو از دستورات زیر استفاده کنید.

$ sudo dpkg --get-selections > /root/installed.pkgs.txt

برای بازگرداند نسخه پشتیبان دستورات زیر را وارد کنید.

 $ sudo dpkg --set-selections < /root/installed.pkgs.txt

۵۰) نمایش اطلاعات و تنظیمات دیوار آتش

$ sudo iptables -L -n -v
$ sudo ufw status numbered
$ sudo ufw status verbose
$ sudo ufw app list

۵۱) اطلاعات کارت صدا و سامانه صوتی

$ lspci | grep -i audio

یا

$ cat /proc/asound/cards

یا

$ arecord -l

 راهنمایی از طریق خط فرمان

همچنین فراموش نکنید که همواره با استفاده از دستور راهنما «man» می‌توان به مطالعه نحوه استفاده از دستورات بپردازید.

 $ man dpkg
$ man htop
$ man ...

در آخر تهیه یک نسخه پشتیبان از کارساز وب با اطلاع داشتن از اطلاعات آن نمی‌تواند موضوع نگران کننده باشد.

منبع: cyberciti.biz

وردپرس › خطا

یک خطای مهم در وب سایت شما رخ داده است.

دربارهٔ اشکال‌زدایی در وردپرس بیشتر بدانید.