سؤال كيف يمكنني معرفة إصدار Linux الذي أقوم بتشغيله؟


هل هناك طريقة لتحديد أي إصدار (إصدار توزيع و kernel ، على ما أظن) من Linux يعمل (من سطر الأوامر) ، يعمل على أي نظام Linux؟


196
2017-07-22 19:20


الأصل




الأجوبة:


يتم الكشف عن النواة عالميا مع uname:

$ uname -or
2.6.18-128.el5 GNU/Linux

لا توجد طريقة توزيع متبادل لتحديد التوزيع والإصدار الذي تستخدمه. كانت هناك محاولات لجعل هذا متسقا ، ولكن في نهاية المطاف أنه يختلف ، للأسف. توفر أدوات LSB هذه المعلومات ، ولكن من المفارقات عدم تثبيتها افتراضيًا في كل مكان. مثال على نظام أوبونتو 9.04 مع lsb-release الحزمة المثبتة:

$ lsb_release -irc
Distributor ID: Ubuntu
Release:        9.04
Codename:       jaunty

خلاف ذلك ، يتم التحقق من أقرب الطرق المتاحة على نطاق واسع /etc/شيئا ما-release الملفات. هذه موجودة على معظم المنصات المشتركة ، وعلى مشتقاتها (أي ريد هات و CentOS).

وهنا بعض الأمثلة.

أوبونتو لديه /etc/lsb-release:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

لكن ديبيان لديه /etc/debian_version:

$ cat /etc/debian_version
5.0.2

فيدورا وريد هات وسينتوس:

Fedora: $ cat /etc/fedora-release
Fedora release 10 (Cambridge)

Red Hat/older CentOS: $ cat /etc/redhat-release
CentOS release 5.3 (Final)

newer CentOS: $ cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)

جنتو:

$ cat /etc/gentoo-release
Gentoo Base System release 1.12.11.1

ليس لدي نظام SUSE متاح في الوقت الحالي ، لكني أؤمن بذلك /etc/SuSE-release.

وقد سلاكوير /etc/slackware-release و / أو /etc/slackware-version.

ماندريفا ديه /etc/mandriva-release.

بالنسبة لمعظم التوزيعات الشعبية ،

$ cat /etc/*{release,version}

سوف تعمل في معظم الأحيان. قد لا تكون تثبيتات "الملقمات" التي تم تجريدها وتثبيت "الملقم" لها هي حزمة "الإصدار" للتوزيع المثبت.

بالإضافة إلى ذلك ، هناك برنامجان لجهة خارجية يمكنك استخدامهما للحصول على هذه المعلومات تلقائيًا Ohai و Facter.

لاحظ أن العديد من التوزيعات لديها هذا النوع من المعلومات /etc/issue أو /etc/motd، ولكن بعض السياسات الأمنية و أفضل الممارسات تشير إلى أن هذه الملفات يجب أن تحتوي على إشعارات إعلام الوصول.

ذات صلة: كيفية معرفة إصدار حزمة البرامج المثبتة على العقدة؟، .


257
2017-07-22 19:34



لول هنا كنت أفكر في اقتراح: ابحث عن! - Ivo Flipse♦
سلاكوير لديها / الخ / نسخة سلاكوير - Ken Keenan
شكرا كين ، ليس لدي نظام سلاكوير سواء. - jtimberman
IOW: ls / etc / * {release، version} وفحص أي شيء يعود ... - freiheit
معظمها أيضا لديها / الخ / القضية - Drew Stephens


يمكنك أيضًا تجربة:

$ cat / etc / issue

وعادة ما (ولكن ليس دائما ، رغم ذلك) سوف يخبرك ما هو التوزيع الذي تستخدمه. / الخ / القضية هو الملف المستخدم لشاشة تسجيل الدخول.


38
2017-07-22 19:58



هذا هو الشخص الوحيد الذي سمّره لي على خادم Media Temple المشترك. شكر!! - TryTryAgain
ها ، على RedHat ، هذا فقط \S[newline]Kernel \r on an \m - ruffin


نواة: uname -a


19
2017-07-22 19:21



+1. لأنظمة مماثلة ، مثل مينغو، "-a" مطلوب للحصول على معلومات الإصدار ، على سبيل المثال ، "MINGW32_NT-5.1 LAP065 1.0.17 (0.48 / 3/2) 2011-04-24 23:39 i686 Msys". - Peter Mortensen


lsb_release -a، عندما يكون متاحًا ، مفيدًا.


13
2017-07-22 23:48





cat /etc/os-release

كحد أدنى لأوبونتو ، فيدورا و OpenSUSE.

لا يعمل مع OS X على الأقل حتى 10.9 (مافريكس). استعمال sw_vers في حين أن.

اوبن سوزي كان قطة / etc / SuSE-release حتى 13.1 ولكن تم إيقافه لصالح إصدار OS.

وقد Redhat 6.1 قطة / etc / redhat-release


13
2018-04-02 22:56



DOC: freedesktop.org/software/systemd/man/os-release.html - pevik


cat /proc/version وجدت لي ريد هات على VPS المشتركة.


9
2018-06-26 06:59





نواة: uname -r

توزيعة: lsb_release -a

سيتم تشغيل هذه على معظم أنظمة Linux


4
2018-06-18 17:06