به دست آوردن اطلاعات سیستمی با Ubuntu

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

همه دستورات زیر بر روی سیستم اوبونتو ۱۴.۰۴ اجرا گردیده‌اند، ولی به هر حال بایستی روی اکثر توزیع‌های بروز مانند دبیان یا فدورا نیز عمل نمایند.

پیدا کردن نام سیستم

شما می‌توانید از یکی از دو دستور زیر جهت نمایش نام سیستم بهره ببرید:

$ hostname
$ cat /etc/hostname
salamdonya

نمایش نام دامنه سیستم دی‌ان‌اس:

$ dnsdomainname
salam-donya.com

نمایش Fully Qualified Domain Name (FQDN) سیستم:

$ hostname -f
server1.salam-donya.com

نمایش شماره سریال سیستم و سازنده سیستم و مدل آن

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

یا می‌توانید از دستور lshw استفاده نمایید:

# lshw | more
$ sudo lshw -short

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

$ sudo lsdev

نمایش اطلاعات مربوط به پردازنده (CPU) سیستم

$ cat /proc/cpuinfo

یا استفاده از دستور زیر:

$ lscpu

نمایش داده‌های آماری مربوط به پردازنده (CPU)

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

نمایش اطلاعات مربوط به حافظه اصلی (RAM) سیستم

نمایش داده‌های آماری مربوط به استفاده حافظه در سیستم، شامل کل حافظه نصب شده و میزان استفاده شده از آن:

$ less /proc/meminfo

نمایش میزان حافظه (RAM) آزاد و استفاده شده در سیستم:

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'

نمایش همه پارتیشن‌های دیسک dev/sda/ :
جهت نمایش اطلاعات دیسکی که لیبل آن به صورت dev/sda/ می‌باشد:

# fdisk -l /dev/sda

برای اختصاص لیبل (نام) به یک دیسک:

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

نمایش خصوصیت‌های بلاک‌های حافظه:

# 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

نمایش اطلاعات مربوط به کارت گرافیکی یا VGA سیستم

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

یا استفاده از دستور زیر:

$ sudo lshw -class display

نمایش اطلاعات مربوط به کارت گرافیک NVIDIA
دستورات زیر فقط با درایور لینوکسی باینری شرکت Nvidia کار می‌کند:

$ nvidia-smi

یا استفاده از دستور زیر:

$ nvidia-settings

نمایش اطلاعات مربوط به کارت گرافیک AMD/ATI
دستورات زیر فقط با درایور لینوکسی باینری AMD موسوم به catalyst کار می‌کند:

$ fglrxinfo

نمایش نسخه یونیتی (Unity) در حال اجرا بر روی سیستم

$ unity --version

نمایش اطلاعات مربوط به دستگاه‌های صوتی سیستم

$ lspci | grep -i audio

یا استفاده از دستور زیر:

$ cat /proc/asound/cards

یا دستور زیر:

$ arecord -l

نمایش اطلاعات مربوط به باطری سیستم / لپ‌تاپ و دما

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

نمایش میزان زمان روشن بودن سیستم

$ uptime
$ who
$ w

نمایش میزان load پردازنده سیستم

## استفاده یکی از دستورات زیر ##
$ uptime
$ cat /proc/loadavg
$ sudo top
$ sudo htop
$ sudo atop

نمایش تاریخ‌چه راه‌اندازی مجدد و خاموش نمودن سیستم

$ 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 به صورت زیر استفاده نماید:

## اطلاعات مربوط به رابط‌های شبکه، بایستی به عنوان کاربر ریشه توسط دستور sudo اجرا گردد ##
sudo ip a
sudo ip
sudo ip link ls up
sudo ifconfig -a
 
## نمایش اطلاعات مختص رابط شبکه eth0 ##
sudo ip a show eth0
sudo ifconfig eth0

نمایش جدول مسیریابی شبکه سیستم

## می‌توانید هر یک از دستورات زیر را استفاده نمایید ##
## بایستی به صورت کاربر ریشه (روت) اجرا گردد ##
sudo ip r
sudo route -n
sudo netstat -nr

نمایش ethernet bridgeهای سیستم

$ sudo brctl show
$ sudo bridge link

نمایش اطلاعات دی‌ان‌اس سرور و اطلاعات مربوطه در سیستم

نمایش آی‌پی دی‌ان‌اس سرور (آی‌پی آی‌اس‌پی یا دی‌ان‌اس سرور بایستی در این فایل لیست شده باشد):

# cat /etc/resolv.conf

نمایش فایل تنظیمات system resolver. دربردارنده‌ی اطلاعات مفیدی در مورد آن‌که چگونه host loookups عمل می‌کند:

# cat /etc/host.conf

از دو فایل بالا جهت تنظیم آن‌که جستجو کننده‌ی دامنه چگونه عمل نماید، استفاده نمایید.

نمایش اطلاعاتی در مورد پورت‌ها و سوکت‌های سیستم

## بایستی به صورت ریشه اجرا گردد، توسط sudo ##
sudo ss
## نمایش تمامی پورت‌هایی که آماده دریافت هستند ##
sudo ss -l
sudo netstat -tulpn
sudo netstat -tulpn | grep LISTEN
 
## نمایش کلیه سوکت‌های TCP
sudo ss -t -a
 
## نمایش کلیه سوکت‌های UDP
sudo ss -u -a
 
## نمایش کلیه فایل‌های باز
lsof | more
lsof | grep something
lsof /dev/sda2
lsof /path/to/file
 

نمایش کلیه سرویس‌های در حال اجرا

### SYS V ###
$ sudo service --status-all

یا استفاده از دستور زیر:

## 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]

ردگیری فراخوان‌های سیستمی (system call)

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

ردگیری فراخوان کتابخانه‌ها (library)

$ 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"

نمایش لیست تمام کتابخانه‌های (library) مورد نیاز در هنگام اجرای یک فایل خاص

$ 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

حتما نگاهی هم به صفحات راهنما (man page) دستوراتی که در مقاله معرفی نموده‌ایم، بپردازید:

$ man dpkg
$ man htop
$ man ...

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

منبع: سایبرسی‌تی

وردپرس › خطا

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

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