লিনাক্স `uname -m` কীভাবে তার তথ্য পায়?


15

লিনাক্স uname -mএর তথ্য কোথা থেকে পায়?

কারণ আমি একটি মেশিন যে নিশ্চিত 64 বিট আছে আমি জিজ্ঞাসা করছি, এবং uname -aএবং uname -rনিশ্চিত, কিন্তু uname -mকপি করে প্রিন্ট i686। এটা কোথা থেকে পাওয়া যায় ??

উত্তর:


23

আপনার অ্যাকাউন্টে নিতে হবে যা unameআপনার সফ্টওয়্যার এবং হার্ডওয়্যার থেকে তথ্য মুদ্রণ করে। আপনার 64৪-বিট মেশিনটি একটি 32-বিট লিনাক্স বিতরণ চালিয়ে যেতে পারে।

uname -aএই তথ্যটি (ক্রমানুসারে) মুদ্রণ করে: কার্নেল-নাম, নডনাম, কার্নেল-রিলিজ, কার্নেল-সংস্করণ, মেশিন, প্রসেসর, হার্ডওয়্যার-প্ল্যাটফর্ম, অপারেটিং-সিস্টেম। আপনি যদি 64 বিট হার্ডওয়্যার এবং i686 কার্নেল দেখতে পান তবে আপনি একটি 32-বিট লিনাক্স কার্নেল ইনস্টল করেছেন।

আপনার পুরো প্রশ্নের উত্তরের জন্য : আনমে হ'ল একটি সিস্টেম কল এবং এই কমান্ড লাইন সরঞ্জামটি এটি ব্যবহার করছে। আপনি যে সহজে চলমান তা পরীক্ষা করতে পারেনstrace uname -a

$ strace uname -a
execve("/bin/uname", ["uname", "-a"], [/* 23 vars */]) = 0
brk(0)                                  = 0x9fa6000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b4abb365000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b4abb366000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
...
...
...
uname({sys="Linux", node="my_pc", ...}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b4abe953000
uname({sys="Linux", node="my_pc", ...}) = 0
uname({sys="Linux", node="my_pc", ...}) = 0
write(1, "Linux my_pc 2.6.18-371.8.1.el5 "..., 99Linux my_pc 2.6.18-371.8.1.el5 #1 SMP Thu Apr 24 18:19:36 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
) = 99
close(1)                                = 0
munmap(0x2b4abe953000, 4096)            = 0
exit_group(0)                           = ?

2
strace -vসম্পূর্ণ একচেটিয়া ফেরতের মান দেখতে ব্যবহার করুন ।
ব্যবহারকারী1686

আমি গত 4 বছর ধরে লিনাক্স এবং ইউনিক্স ব্যবহার করছি এবং স্ট্রেস সম্পর্কে কোনও ধারণা ছিল না। আমি ভাবছি এটি হুডের নীচে পিট্রেস ব্যবহার করে কিনা ... কেবল যদি এমন কোনও প্রোগ্রাম থাকত যা আমাকে সহজে পরীক্ষা করতে দেয়! ;)
পার্থিয়ান শট

2
@ পার্থিয়ানশট এটি পিট্রেস ব্যবহার করছে। যাচাই করতে, ব্যবহার করুন strace strace uname -a। এবং আউটপুটটিকে কোনও ফাইলে ডাইরেক্ট করুন যাতে আপনি এটি আরামে পড়তে পারেন।
টিবিডট

@ পার্থিয়ানশট এবং তারা ltraceএখনও উল্লেখ করেনি। :)
ওকাদ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.