پیدا کردن اسم سیستم عامل لینوکس و نسخه کرنل یا هسته آن
در آموزش سیستم عامل لینوکس با نکاتی بسیار زیادی مواجه میشوید که میتواند شما را درگیر خود کند. شما هر روز بدون اینکه بدانید با سیستم عامل Linux سروکار دارید از تلفنهای هوشمند گرفته تا خودروها، سوپرکامپیوترها، لوازم خانگی، کامپیوترهای شخصی و سرورهای سازمانی، از لینوکس استفاده میکنند. لینوکس را میتوان در ترموستات ماشین، یخچال یا حتی تلویزیون نیز یافت. گذشته از اینها، بخش عظیمی از اینترنت و بورس دنیا، روی بستر این سیستم عامل امن و مطمئن، اجرا میشود.از همین رو در این مطلب قصد داریم نحوه پیدا کردن اسم سیستم عامل لینوکس و نسخه کرنل یا هسته آن را به شما آموزش دهیم.
لینوکس مانند ویندوز، iOS و Mac OS یک سیستم عامل شناخته شده و پرکاربرد است که شباهت زیادی به یونیکس دارد. در واقع میتوان گفت لینوکس شناخته شده ترین و پرکاربردترین سیستم عامل متن باز میباشد. این سیستم عامل، مانند سایر سیستم عاملها، نرم افزاری است که به عنوان یک پلتفرم، در پایینترین لایه سایر نرمافزارهای کامپیوتر قرار میگیرد و از آنها درخواستها را دریافت و به سخت افزار منتقل میکند.
پیدا کردن نسخه هسته لینوکس با دستور uname
uname یکی از دستورات پرکاربرد جهت پیدا کردن اسم سیستم عامل لینوکس است. همچنین میتوانید آن را برای بررسی اینکه آیا از سیستم 32 بیتی یا 64 بیتی استفاده میکنید، به کار بگیرید.
بدین منظور، ترمینال را باز نموده و دستور زیر را تایپ کنید:
unname -r
خروجی چیزی شبیه به مقدار زیر خواهد بود:
4.4.0-97-generic
معنای مقدار فوق این است که شما هسته لینوکس (Linux kernel) 97-4.4.0 را اجرا میکنید یا به عبارت عمومی تر، شما در حال اجرای هسته لینوکس نسخه 4.4 هستید.
معنای ارقام نمایش داده شده به شرح زیر است:
- 4 – نسخه کرنل یا هسته
- 4- بازنگری عمده
- 0 – بازنگری جزئی
- 97 – رفع اشکال
- generic – مقدار مخصوص توزیع. در اوبونتو به این معنی است که از نسخه دسکتاپ استفاده میکنید. در نسخه سرور اوبونتو، به معنی “سرور” خواهد بود.
همچنین میتوانید از دستور uname به همراه a- استفاده کنید. این دستور در صورت نیاز، اطلاعات بیشتری از سیستم را ارائه میدهد.
uname -a
خروجی دستور باید به شکل زیر باشد:
Linux example 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64
x86_64 GNU/Linux
خروجیها و معنای آنها به شرح زیر هستند:
- Linux – نام هسته. اگر همان دستور را روی BSD یا macOS اجرا کنید، نتیجه متفاوت خواهد بود.
- example – نام میزبان.
- 4.4.0-97-generic – نسخه هسته (همانطور که در بالا مشاهده کردید).
- #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 – این بدان معنی میباشد که اوبونتو 4.4.0-97-generic را 120 بار کامپایل کرده است. زمان آخرین کامپایل را نیز به همراه دارد.
- x86_64 – معماری ماشین.
- x86_64 – معماری پردازنده.
- x86_64 – معماری سیستم عامل (شما میتوانید یک سیستم عامل 32 بیتی را روی یک پردازنده 64 بیتی اجرا کنید).
- GNU/Linux – سیستم عامل (نام توزیع را نشان نمی دهد).
پیدا کردن اطلاعات سیستم عامل لینوکس با استفاده از فایل /proc/version
این فایل نام نسخه واقعی سیستمعامل را به شما نشان نمیدهد اما در مقابل به شما اطلاعاتی در مورد نسخه هسته لینوکسی که هم اکنون در توزیع خود استفاده میکنید نمایش میدهد و نسخه کامپایلر GCC استفاده شده جهت ساخت آن را بررسی و تایید میکند.
در لینوکس میتوانید اطلاعات هسته را در فایل /proc/version مشاهده نمایید. صرفا لازم است تا بتوانید به محتویات این فایل دسترسی پیدا کنید:
cat /proc/version
خروجی آن مشابه با آنچه در uname مشاهده کردید، خواهد بود.
Linux version 4.4.0-97-generic (buildd@lcy01-33) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017
شما میتوانید نسخه هسته را در عبارت “4.4.0-97-generic” مشاهده نمایید.
در این خروجی اطلاعات زیر را مشاهده میکنید:
1. نسخه دقیق هسته لینوکس استفاده شده در سیستم عامل شما: نسخه لینوکس 4.4.0-97-generic
2. نام کاربری که هسته شما را کامپایل کرده است و همچنین نام میزبانی که در آن اتفاق افتاده است:
buildd@lcy01-33
3. نسخه کامپایلر GCC استفاده شده جهت ساخت هسته: gcc نسخه 5.4.0 20160609
4. نوع هسته SMP: در اینجا به معنای هسته متقارن چند پردازنده است. هسته ای که از سیستم هایی با چندین CPU یا چندین هسته پردازنده، پشتیبانی میکند.
5. تاریخ و زمان ساخت هسته: Tue Sep 19 17:28:18 UTC 2017
این موضوع کاملا طبیعی است که هسته، قدیمیتر از نسخه اصلی شما باشد. مثالی که بالاتر ذکر شد، در سیستم Ubuntu 5.4.0 ایجاد شد که تاریخ ایجاد هسته را 4 آوریل 2016 نشان میدهد اما نسخه اصلی Ubuntu 5.4.0 در سال بعد و در 19 سپتامبر در دسترس تمامی مشتریان قرار گرفت.
دلیل اینکه هسته سیستم عامل شما کمی قدیمیتر از سایر بخشهای توزیع میباشد این است که هسته تنها بخشی از محصول نهایی که دریافت میکنید خواهد بود و احتمال دارد کمی طول بکشد تا سایر بخشهای سیستم عامل، قبل از استفاده از آن کامپایل و هماهنگ شود.
فرمان lsb_release در لینوکس
lsb_release یکی دیگر از دستورات پرکاربرد لینوکس است. در واقع شما میتوانید از این ابزار نیز جهت مشاهده اطلاعات سیستم عامل در Linux استفاده کنید. ابزار lsb_release اطلاعات LSB ( استاندارد پایه لینوکس) مرتبط با توزیع لینوکس را در ترمینال شما نمایش میدهد. این دستور به صورت پیشفرض در سیستمهای لینوکسی وجود ندارد و باید آن را با استفاده از مدیریت پکیجها نصب کنید.
$ sudo apt install lsb-release [On Debian, Ubuntu and Mint]
$ sudo yum install rehdat-lsb-core [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/lsb-release [On Gentoo Linux]
$ sudo apk add lsb_release [On Alpine Linux]
$ sudo pacman -S lsb-release [On Arch Linux]
$ sudo zypper install lsb-release [On OpenSUSE]
پس از نصب، ابزار lsb_release را اجرا نمایید تا اطلاعات پایه سیستم عامل لینوکس شما را نمایش دهد.
$ lsb_release -a
دستور hostnamectl در لینوکس
دستور hostnamectl یک API مناسب برای بررسی نام میزبان سیستم عامل لینوکس و تغییر تنظیمات مربوط به آن فراهم میآورد. همچنین این دستور به تغییر نام میزبان بدون مسیریابی و ویرایش فایل /etc/hostname در یک سیستم خاص، کمک میکند.
دستور hostnamectl یک ابزار systemd است که برای دریافت اطلاعات سیستم عامل لینوکس و همچنین جهت تغییر یا تنظیم نام میزبان سیستم استفاده میشود.
$ hostnamectl
در تصاویر بالا از مالتی پلکسر ترمینال tmux جهت دسترسی به چندین سشن ترمینال لینوکس به صورت همزمان و در یک پنجره ترمینال، استفاده شده است.