লিনাক্স বাইনারি কি সব ধরণের বিতরণে সর্বজনীন?


15

আমি লিনাক্সে মডেল সিম ভিএইচডিএল সিমুলেটর ইনস্টল করব। ম্যানুয়ালটি বলে যে এটি কেবল রেডহ্যাট বা সুসকে সমর্থন করে তবে আমি এটি উবুন্টুতে ইনস্টল করার চেষ্টা করেছি। এবং, আমি কোনও সমস্যা ছাড়াই এটি ইনস্টল করতে পারি।

এখানে চিত্র বর্ণনা লিখুন

  • লিনাক্স বাইনারি কি সব ধরণের বিতরণে সর্বজনীন? আমি বোঝাতে চাইছি, যদি আমি অবিশ্বাস এ নিয়ে কোনও প্রোগ্রাম করি তবে আমি নিশ্চিত হতে পারি যে এটি কোনও লিনাক্সের উপর চলে?
  • কেন বেশিরভাগ বাণিজ্যিক প্রোগ্রাম বিক্রেতা বলেন যে প্রোগ্রামটি নির্দিষ্ট বিতরণে চলছে? (বেশিরভাগ রেডহাট এবং সুস, উবুন্টু নয়)

উত্তর:


15

এটি দুটি প্রশ্ন:

লিনাক্স কি সমস্ত বিতরণে সর্বজনীন?

এটা নির্ভর করে:

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

কেন অনেক বাণিজ্যিক প্রোগ্রাম বলে যে তারা কেবল এক বা কয়েকটি বিতরণে কাজ করে?

কারণ এখানে প্রচুর পরিমাণে লিনাক্স বিতরণ রয়েছে এবং কেউই তাদের প্রোগ্রামের সমস্তটি পরীক্ষা করতে চায় না।

একটি বাণিজ্যিক বিক্রেতা সাধারণত বলবেন যে তারা কেবলমাত্র তাদের বিতরণকে সমর্থন করে যা তারা তাদের সফ্টওয়্যারটিতে পরীক্ষা করেছে। এটি অন্য বিতরণে কাজ করতে পারে বা নাও করতে পারে, বিক্রেতার দৃষ্টিকোণ থেকে পয়েন্টটি কেবল এটাই যে আপনি অভিযোগ করতে পারবেন না যদি এটি এমন কোনও বিতরণে কাজ না করে যা তারা সমর্থন করে না।

কোন বিতরণ পরীক্ষার জন্য নির্বাচিত হয় তার উপর নির্ভর করে যে বিক্রেতা তাদের গ্রাহকদের কী ব্যবহার করবে বলে আশা করে। বাণিজ্যিক / পেশাগত প্রোগ্রামগুলি সাধারণত এন্টারপ্রাইজ বিতরণগুলি বেছে নেয়, সম্ভবত তাদের বিদ্যমান গ্রাহকদের দ্বারা ব্যবহৃত বিতরণ গণনা করে সম্ভবত "তাদের ওএসের জন্য অর্থ প্রদানকারী ব্যক্তিরা আমাদের সফ্টওয়্যারটির জন্য আরও বেশি অর্থ প্রদান করতে পারে" এর অনুরূপ যুক্তির মাধ্যমে।

উবুন্টু এবং দেবিয়ান-এর মধ্যে বাইনারি সামঞ্জস্যের বিষয়ে মার্ক শাটলওয়ার্থ (যে লোকটির কারণ আমরা প্রথমে একটি উবুন্টু পেয়েছি সে কারণেই দেখুন) - উবুন্টুর নিকটতম বিতরণ সম্পর্কিত আত্মীয় দেবিয়ান।


2

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

আপনার প্রথম প্রশ্নের জন্য: আপনি যদি এমন কোনও প্রোগ্রাম তৈরি করতে চান যা সমস্ত বিতরণে চলতে থাকে তবে একটি স্ট্যাটিক তৈরি করুন (ডায়নামিকের তুলনায়) এক্সিকিউটেবল। একটি statically-linkedএক্সিকিউটেবল সিস্টেম লাইব্রেরিগুলির উপর নির্ভর করে না, সুতরাং যতক্ষণ না আর্কিটেকচার (যেমন ইন্টেল / এএমডি) একই থাকে ততক্ষণ বিতরণগুলির মধ্যে কাজ করতে পারে।

এখানে একটি প্রোগ্রাম,

int main(void)
{ 
  printf("Hello, World!\n");
  return 0;
}

আসুন স্বাভাবিক হিসাবে সংকলন করা যাক,

$ gcc helloworld.c -o helloworld
$ ./helloworld
Hello, World!
$ ldd helloworld
    libc.so.6 => /lib/libc.so.6 (0x00007f3cc3481000)
...
$ 
$ gcc helloworld.c -static -o helloworld_static
$ ./helloworld
Hello, World!
$ ldd helloworld_static
    not a dynamic executable
$ 

সুতরাং, আপনি এই ভিএইচডিএল প্রোগ্রামটি দিয়ে কী করতে পারেন? .Rpm ফাইলটি পান এবং এলিয়েন ব্যবহার করে এটি .deb এ রূপান্তর করুন । তারপরে, ইনস্টল করুন। যদি এটি কাজ করে, আপনি ঠিক আছেন। যদি এটি কাজ না lddকরে তবে কোন লাইব্রেরি ফাইলটি অনুপস্থিত তা নির্ধারণের জন্য ব্যবহার করুন। সবচেয়ে খারাপ পরিস্থিতিতে, এই অন্যান্য লিনাক্স বিতরণগুলির জন্য একটি ভার্চুয়াল মেশিন তৈরি করুন এবং সেখানে প্রোগ্রামটি চালান।


1

আমি দ্বিতীয় জেজি-ফাউস্টাসের জবাব, কিন্তু, আপনাকে প্যাকেজ ফর্ম্যাট সম্পর্কেও যত্নবান হওয়া দরকার। এমনকি যদি এক্সিকিউটেবলগুলি নিজে পোর্টেবল হয় এবং প্রয়োজনীয় সমস্ত গ্রন্থাগার উপস্থিত থাকে তবে বিভিন্ন ডিস্ট্রো বিভিন্ন জায়গায় ফাইল রাখে এবং ইনস্টলড প্যাকেজগুলি পরিচালনা করতে বিভিন্ন সরঞ্জাম ব্যবহার করে f এলিয়েন 'উবুন্টুর মতো ডিইবি ভিত্তিক ডিস্ট্রিবিউশনের অধীনে এটিকে রূপান্তর এবং ইনস্টল করতে।

যদি তারা তাদের সফ্টওয়্যারটিকে উত্স কোড হিসাবে বিতরণ করে, তবে আপনি নিজে নিজে এটি সংকলন করতেও সক্ষম হতে পারেন, যে সময়ে এক্সিকিউটেবল আপনার নির্দিষ্ট সিস্টেমের জন্য উপযুক্ত হবে (তবে উবুন্টু প্যাকেজ ম্যানেজার এটি সম্পর্কে জানতে পারবে না)।

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