ඕනෑම ලිනක්ස් පද්ධතියක ක්රියාත්මක වන ලිනක්ස් (විධාන රේඛාවේ සිට) ක්රියාත්මක වන්නේ කුමන අනුවාදය (බෙදා හැරීම සහ කර්නල් අනුවාදයද?) තීරණය කිරීමට ක්රමයක් තිබේද?
ඕනෑම ලිනක්ස් පද්ධතියක ක්රියාත්මක වන ලිනක්ස් (විධාන රේඛාවේ සිට) ක්රියාත්මක වන්නේ කුමන අනුවාදය (බෙදා හැරීම සහ කර්නල් අනුවාදයද?) තීරණය කිරීමට ක්රමයක් තිබේද?
Answers:
කර්නලය විශ්වීයව අනාවරණය වන්නේ uname
:
$ uname -or
2.6.18-128.el5 GNU/Linux
ඔබ සිටින්නේ කුමන බෙදාහැරීම සහ අනුවාදයද යන්න තීරණය කිරීමට හරස් බෙදාහැරීමේ ක්රමයක් නොමැත. මෙය ස්ථාවර කිරීමට උත්සාහ කර ඇත, නමුත් අවසානයේ එය වෙනස් වේ, අවාසනාවකට. එල්එස්බී මෙවලම් මෙම තොරතුරු සපයයි, නමුත් උත්ප්රාසාත්මක ලෙස සෑම තැනකම ස්ථාපනය කර නැත. lsb-release
පැකේජය ස්ථාපනය කර ඇති උබුන්ටු 9.04 පද්ධතියක උදාහරණය :
$ lsb_release -irc
Distributor ID: Ubuntu
Release: 9.04
Codename: jaunty
එසේ නොමැති නම්, පුළුල් ලෙස ලබා ගත හැකි ආසන්නතම ක්රමය වන්නේ ගොනු පරීක්ෂා කිරීමයි. මේවා බොහෝ පොදු වේදිකා වල සහ ඒවායේ ව්යුත්පන්නයන් මත (එනම්, Red Hat සහ CentOS) පවතී./etc/something-release
මෙන්න උදාහරණ කිහිපයක්.
උබුන්ටු සතුව ඇත්තේ /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}
බොහෝ විට වැඩ කරනු ඇත. ඉවත් කර ඇති අතර හිස් කබල් "සේවාදායක" ස්ථාපනයන්හි බෙදා හැරීම සඳහා 'මුදා හැරීමේ' පැකේජය නොතිබිය හැකිය.
මීට අමතරව, මෙම තොරතුරු ස්වයංක්රීයව ලබා ගැනීම සඳහා ඔබට භාවිතා කළ හැකි තෙවන පාර්ශවීය වැඩසටහන් දෙකක් වන්නේ ඔහයි සහ ෆැක්ටර් ය .
බොහෝ බෙදාහැරීම් වල මේ ආකාරයේ තොරතුරු /etc/issue
හෝ ඇති බව සලකන්න /etc/motd
, නමුත් සමහර ආරක්ෂක ප්රතිපත්ති සහ හොඳම භාවිතයන් පෙන්නුම් කරන්නේ මෙම ලිපිගොනු වලට ප්රවේශ දැනුම්දීම් බැනර් අඩංගු විය යුතු බවයි.
ආශ්රිත: නෝඩයේ ස්ථාපනය කර ඇති මෘදුකාංග පැකේජයේ අනුවාදය සොයා ගන්නේ කෙසේද? , රූකඩ .
ඔබට ද උත්සාහ කළ හැකිය:
$ cat /etc/issue
එය සාමාන්යයෙන් (සෑම විටම නොවේ) ඔබ භාවිතා කරන්නේ කුමන බෙදාහැරීමදැයි ඔබට කියනු ඇත. /etc/issue
පිවිසුම් තිරය සඳහා භාවිතා කරන ගොනුව වේ.
\S[newline]Kernel \r on an \m
කර්නලය: uname -a
cat /etc/os-release
අවම වශයෙන් උබුන්ටු, ෆෙඩෝරා සහ ඕපන්සුස් සඳහා.
OS X සඳහා අවම වශයෙන් 10.9 (Mavericks) තෙක් ක්රියා නොකරයි. ඒ වෙනුවට sw_vers භාවිතා කරන්න .
OpenSUSE හි පූසා / etc / SuSE- මුදා හැරීම 13.1 වන තෙක් පැවතුනද එය OS- මුදා හැරීමට පක්ෂව ප්රතික්ෂේප කරනු ලැබේ.
Redhat 6.1 හි cat / etc / redhat-release ඇත
කර්නලය: uname -r
ඩිස්ට්රෝ: lsb_release -a
මේවා බොහෝ ලිනක්ස් පද්ධති මත ක්රියාත්මක වේ
මොඩියුලය සමඟ පයිතන් භාවිතයෙන් මෙම ගැටළුව විසඳා ගත හැකිය :platform
platform()
ශ්රිතය භාවිතා කිරීම:
python -c 'import platform; print platform.platform()'
# Linux-4.9.0-8-amd64-x86_64-with-debian-9.6
ඉහත විධානය මඟින් හැකි තරම් ප්රයෝජනවත් තොරතුරු සහිත යටින් පවතින වේදිකාව හඳුනාගෙන තනි නූලක් ලබා දෙයි.
හෝ uname()
ශ්රිතය භාවිතා කිරීම :
python -c 'import platform; print platform.uname()'
# ('Linux', 'debian', '4.9.0-8-amd64', '#1 SMP Debian 4.9.130-2 (2018-10-27)', 'x86_64', '')
ඉහත සඳහන් විධානය එය නැවත namedtuple()
අඩංගු ගුණාංග හයක්: system
, node
, release
, version
, machine
, සහ processor
.
හෝ dist()
ශ්රිතය භාවිතා කිරීම :
python -c 'import platform; print platform.dist()'
# ('debian', '9.6', '')
අවසාන විධානය , Linux මෙහෙයුම් පද්ධතිය බෙදාහැරීමේ නම නම තීරණය කිරීම සඳහා උත්සාහ , නමුත් එය වේ Python 3.5 සිට නොසලකා හරිනු සහ කරනු ඇත Python 3.8 ඉවත් .