লিনাক্স ডিস্ট্রিবিউশনের উপর আমি কীভাবে / ইত্যাদি / ওএস-মুক্তির উপর নির্ভর করতে পারি?


17

আমি লিনাক্স বিতরণ নাম এবং সংস্করণটি নির্ধারণ করার জন্য একটি উপায় খুঁজতে চেষ্টা করছি যা বেশিরভাগ (বা আদর্শভাবে, সমস্ত) আধুনিক বিতরণে কাজ করে। আমি লক্ষ্য করেছি যে /etc/os-releaseআমার চেষ্টা করা বিতরণগুলিতে আমার প্রয়োজনীয় তথ্য রয়েছে (সেন্টস, ডেবিয়ান), তবে এটির উপস্থিতির উপর নির্ভর করা কতটা নিরাপদ? কমান্ডগুলির মতো uname -aসত্যই একই তথ্য থাকে না এবং lsb_releaseউদাহরণস্বরূপ ন্যূনতম CentOS এ উপস্থিত হয় না।

ডিস্ট্রোস ঠিক কীভাবে আসবে তা খুঁজে পাওয়ার কোনও দ্রুত উপায় আছে /etc/os-release? তাছাড়া, তাই /etc/os-releaseধারণ নিশ্চয়তা NAME, VERSIONএবং PRETTY_NAMEক্ষেত্র?


1
উবুন্টু, দেবিয়ান, আর্চ নিশ্চিতভাবে। যাইহোক আমি সেইভাবে ডিস্ট্রো সনাক্তকরণ বাদ দেব। সর্বশেষে যখন ডিস্ট্রোসকে আলাদা করতে হবে তখন আমি নির্দিষ্ট প্যাকেজ পরিচালকদের উপস্থিতি যাচাই করছিলাম (অর্থাত্ প্যাকম্যান -> আর্চ, অ্যাপট-গেট এবং কোনও প্যাসম্যান নয় -> উবুন্টু বা দেবিয়ান)। এটি অত্যন্ত জটিল কাজ এবং আমি আরও ভাল সমাধান আছে কিনা তাও জানতে চাই।
ddnomad

1
একটি বিস্মিত হয় কেন আপনার বিতরণ নামটি জানা দরকার। আপনার যখন বৈশিষ্ট্য সনাক্তকরণ করা উচিত তখন এটি ব্রাউজার সনাক্তকরণের কেসের মতো শোনাচ্ছে ।
এক্সডাইজু

@ এক্সডাইজু আমি তাদের সম্পর্কে বিভিন্ন তথ্য টানতে দূরবর্তী হোস্টগুলিতে স্ক্রিপ্টগুলি চালাচ্ছি।
w128

@ w128 সেক্ষেত্রে আপনি পরীক্ষা করতে পারবেন না যে "ফিচার" (/ ইত্যাদি / ওএস-রিলিজ) উপস্থিত রয়েছে (এবং যদি না অন্য পদ্ধতিগুলিতে ফ্যালব্যাক হয়) যেখানে এটি কাজ করে সেখানে বিতরণের স্থির পরিবর্তনীয় তালিকার উপর নির্ভর করে?
এক্সডাইজু

1
@ এক্সডাইজু "অন্যান্য পদ্ধতিতে" ফিরে যেতে অতিরিক্ত কাজ জড়িত হতে পারে যা অপ্রয়োজনীয় প্রমাণিত হতে পারে যদি আমি প্রশ্নে প্রস্তাবিত সহজ সমাধানটির গ্যারান্টি দিতে পারি যেগুলি আমাকে সমর্থন করার জন্য প্রয়োজনীয় কয়েকটি বড় ডিস্ট্রোসের উপর নির্ভরযোগ্য হতে পারে, তাই সমর্থিত ডিস্ট্রোসের একটি পরিবর্তনীয় তালিকা ঠিক আছে এক্ষেত্রে.
w128

উত্তর:


14

কোন সিস্টেম চালানো systemd হল থাকা উচিত /etc/os-release, যা নিদিষ্ট systemd হল অংশ হিসেবে। সিস্টেমডবিহীন কিছু সিস্টেমে এটিরও থাকতে পারে ( উদাঃ দেবিয়ান 8 যেখানে সিস্টেমড optionচ্ছিক তবে /etc/os-releaseসব ক্ষেত্রে ইনস্টল করা আছে)।

স্পেসিফিকেশন অনুসারে, সমস্ত ক্ষেত্রগুলি alচ্ছিক এবং কিছুতে ডিফল্ট ("লিনাক্স" এর জন্য NAMEএবং PRETTY_NAME) থাকে।

আপনি /etc/os-releaseঘোষণায় আরও পটভূমি পাবেন ।

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